প্রিপ্রড এবং প্রোডের পরিবেশগুলি কতটা সমকালীন হওয়া উচিত?


10

আমি সম্প্রতি একটি প্রকল্পে এসেছি এবং মুক্তির সময়, আমরা বুঝতে পারি যে এটি প্রোডাকশনে কাজ করে না। এটি অন্যান্য সমস্ত পরিবেশে কাজ করে তবে আমাদের একটি পৃথক রিলিজ দল রয়েছে এবং আমরা নিজেরাই সার্ভার এবং পরিবেশ সেটআপ করতে পারি না, সেগুলিতে আমাদের কনফিগারেশনের কোনও দৃশ্যমানতা নেই।

আমরা সন্দেহ করি যে প্রোডের অ্যাকাউন্ট বা আইআইএস সেটিংসের অ্যাকাউন্টে কিছু ব্যবহারকারীর অনুমতি রয়েছে যা আমরা আলাদাভাবে কাজ করি।

সুতরাং আমি মনে করি এই পুরো জিনিসটি আমার কাছে একটি শিক্ষার অভিজ্ঞতা হয়েছে এবং আমি আবার একই জিনিস পুনরাবৃত্তি করতে চাই না। আমি জিজ্ঞাসা করতে চাই, এই পরিবেশগুলি কতটা আলাদা হওয়া উচিত? আমি সর্বদা ভেবেছিলাম যে প্রিপ্রড হ'ল একই পরিবেশক হিসাবে একই ডাটাবেসের অনুলিপি ব্যবহার করে একই ব্যবহারকারীর অ্যাকাউন্টের অনুলিপি ব্যবহার করে একই পরিবেশে একটি অভিন্ন অনুলিপি হওয়া উচিত, ইত্যাদি একই সার্ভারে ইনস্টল করা উচিত etc.

তবে আমার এটি কতদূর নেওয়া উচিত? যদি ওয়েব সাইটটি বাহ্যিকভাবে মুখর থাকে তবে প্রিপ্রডকে কি বাহ্যিকভাবে মুখোমুখি হওয়া উচিত? যদি ওয়েবসাইটটিতে এমন উপাদান থাকে যেগুলিতে নেভিগেট করার জন্য কোনও ব্যবহারকারীর অ্যাকাউন্ট বা পাসওয়ার্ডের প্রয়োজন হয় না? এটি কি বাহ্যিক বিশ্বে প্রকাশ করা ঠিক আছে?


আমি যেখানেই কাজ করেছি প্রাক-প্রোডাক্ট ছিল প্রোডাকশনের প্রত্যক্ষ অনুলিপি, ডাটাবেস ব্যতীত এক সপ্তাহের পুরানো।
নিকজ

@ নিক: আমি কেবল কোড বেসটি বোঝাতে চাইছি না, আমার অর্থ পুরো পরিবেশের পুরো সেট আপের মতো।
রোবশপ

উত্তর:


6

আপনার অবশ্যই এমন পরিবেশের পরীক্ষা করা উচিত যা আপনার উত্পাদন সেভারগুলির মতোই যথাসম্ভব যথাযোগ্য। আপনি যদি তা না করেন তবে আপনার গ্রাহকরা কী ব্যবহার করবেন তা পরীক্ষা করছেন না। আর কিছু না হলে আপনার যে কোনও বাগ রিপোর্টগুলি পরীক্ষা করার জন্য এমন পরিবেশের প্রয়োজন।

স্পষ্টতই এমন কিছু জিনিস থাকবে যা আপনি অভিন্ন চাইবেন না - পেমেন্ট সিস্টেমগুলির লিঙ্কগুলি মনে রাখবে, তবে এগুলি উপহাস করা উচিত যেন তারা আসল জিনিস । এমন কিছু জিনিস রয়েছে যা আপনি প্রতিলিপি করতে পারবেন না - সিস্টেমের স্কেল।

আপনি কোনও বাহ্যিক ইউআরএলের মাধ্যমে পরীক্ষা করতে চাইতে পারেন - আপনার ব্যবহারকারীরা কী দেখবে তা আবার আপনি পরীক্ষা করছেন। এছাড়াও বাহ্যিক ইউআরএল মাধ্যমে পরীক্ষা করা সিস্টেমটির অভ্যন্তরীণ ব্যবহারের জন্য নেটওয়ার্ককে ভিন্ন উপায়ে ব্যবহার করবে। অনুমতিগুলি (উদাহরণস্বরূপ) ব্যান্ডউইথ, ফায়ারওয়াল ইত্যাদি উপলভ্য হিসাবে একটি ভূমিকা পালন করবে যার সমস্ত ব্যবহারকারীর মুখোমুখি হবে তবে আপনি যদি সরাসরি সিস্টেমে অ্যাক্সেস করেন তবে আপনি এড়িয়ে যাবেন।

এমন উপাদানগুলির সাথে আমি কোনও সমস্যা দেখছি না যার জন্য কোনও অ্যাকাউন্ট এবং পাসওয়ার্ডের প্রয়োজন নেই। যদি এটির পাসওয়ার্ডের প্রয়োজন না হয় তবে এটি অতীব গুরুত্বপূর্ণ / সংবেদনশীল নয়, যদি এটি সংবেদনশীল হয় তবে কেন এটি পাসওয়ার্ড পেল না?


বাহ, এটি একটি নির্বোধ উত্তর। সুতরাং আপনার পরীক্ষার পরিবেশে, আপনি যদি কোনও ক্রয় করেন তবে এটি ক্রেডিট কার্ডটি চার্জ করবে এবং আপনি যা কিনেছিলেন তা পাঠানো উচিত? যদি প্রোড পরিবেশে 150 টি সার্ভার থাকে, তবে পরীক্ষার এনভিও করা উচিত? আমি বলতাম "স্পষ্টতই" প্রোড এবং টেস্টের মধ্যে অবশ্যই পার্থক্য থাকতে পারে তবে ক্রিসএফের কাছে এটি স্পষ্ট ছিল না।
মালভোলিও

@ মালভোলিও - না আমি মোটেই বোঝাতে চাইনি। অনুমতি, সংযোগ ইত্যাদি নিয়ে প্রশ্নে উত্থাপিত পয়েন্টগুলির আমি আরও ভাবছিলাম
ক্রিসএফ

11

আমি মনে করি এর পক্ষে সেরা অনুশীলন হ'ল ব্লু গ্রিন ডিপ্লোয়মেন্ট এপ্রোচ, জেজ হাম্বল এবং ডেভিড ফারলি তাদের কন্টিনিউস ডেলিভারি বইয়ে রচনা করেছেন এবং তার ব্লগ পোস্ট ব্লু গ্রিন ডিপ্লোয়মেন্টে মার্টিন ফোলার বর্ণনা করেছেন ।

ভিত্তি খুব সহজ। মার্টিন ফোলারের পোস্ট থেকে:

নীল সবুজ মোতায়েন

নীল-সবুজ স্থাপনার পদ্ধতি ... [নিশ্চিত করে] আপনার দুটি উত্পাদন পরিবেশ সম্ভব যথাসম্ভব অভিন্ন। যেকোন সময় যেকোন সময় যাক, উদাহরণস্বরূপ নীলাভ বলুন, লাইভ। আপনি যখন আপনার সফ্টওয়্যারটির একটি নতুন প্রকাশের প্রস্তুতি নিচ্ছেন আপনি সবুজ পরিবেশে আপনার চূড়ান্ত পর্যায়ে পরীক্ষার কাজটি করেন। সফ্টওয়্যারটি সবুজ পরিবেশে কাজ করার পরে, আপনি রাউটারটি স্যুইচ করুন যাতে সমস্ত আগত অনুরোধগুলি সবুজ পরিবেশে যায় - নীল এটি এখন নিষ্ক্রিয়।

নীল-সবুজ স্থাপনা আপনাকে রোলব্যাক করার দ্রুত উপায়ও দেয় - যদি কোনওরকম ভুল হয়ে যায় তবে রাউটারটি আপনার নীল পরিবেশে ফিরে যান।

এই পদ্ধতির অনুরূপ প্রাক-উত্পাদন এবং উত্পাদন পরিবেশ না থাকার পাশাপাশি আপনার স্থাপনার কৌশলটি অনুকূলকরণের আপনার সমস্যার সমাধান হবে।


শীতল চিত্রের জন্য 1+
নিকজ

মিমি ডাটাবেস সিঙ্কে রাখার বিষয়ে নিশ্চিত নন। এটা কঠিন হবে। যদি লেনদেনটি আপনার প্রিপড সার্ভারের মাধ্যমে আসে? এটি কি প্রোডাক্ট ডিবিতে প্রতিফলিত হবে?
রোবশপ

লেখা আছে, খুব ব্যয়বহুল। আপনাকে কেবল পরীক্ষার জন্য লাইভ উত্পাদনের জন্য প্রয়োজনীয় সমস্ত হার্ডওয়্যারটি নকল করতে হবে। তবে হ্যাঁ, শীতল চিত্র।
মালভোলিও

1
প্রযুক্তি, এন। একটি ইংরেজ আদালতে হোম নামের এক ব্যক্তিকে তার প্রতিবেশী হত্যার অভিযোগ এনে অপবাদ দেওয়ার জন্য বিচার করা হয়েছিল। তার যথাযথ শব্দগুলি ছিল: "স্যার টমাস হল্ট একজন চালক নিয়ে তাঁর রান্নাটি মাথার উপরে চাপিয়ে দিয়েছেন, যাতে মাথার একপাশে একটি কাঁধে এবং অন্যপাশে অন্য কাঁধে পড়ে যায়।" আদালতের নির্দেশে আসামীকে খালাস দেওয়া হয়েছিল, বিদ্বান বিচারকরা এই কথা বলেছিলেন যে এই শব্দগুলি হত্যার দায়ে অভিযুক্ত নয়, কারণ তারা রান্নার মৃত্যুর বিষয়টি নিশ্চিত করেনি, এটি কেবল একটি অনুমান হিসাবে। - অ্যামব্রোস বিয়ার্স
মালভোলিও

1
হ্যাঁ, প্রযুক্তিগতভাবে, হার্ডওয়্যারটি আমার ডুপ্লিকেট করার দরকার নেই তবে আপনি যদি ভার্চুয়ালাইজেশন এবং এর সাথে বোকা বানিয়ে সেই প্রয়োজনীয়তাটি ডজ করেও থাকেন তবে আপনি (ক) হার্ড পরিবেশের যেমন প্রতিটি ব্যান্ডউইদথ এবং সিপিইউ, প্রতিটি পরিবেশে বরাদ্দ রাখবেন সদৃশ হার্ডওয়্যার বা (খ) শেয়ার রিসোর্সের সমান ব্যয় , যার অর্থ আপনার পরীক্ষার সমস্যাগুলি আপনার উত্পাদন সিস্টেমকে হ্রাস করতে পারে।
মালভোলিও

3

আমাদের চূড়ান্ত প্রাক-উত্পাদন পরিবেশ কেবল লোড ব্যালান্সারের বাইরে নেওয়া লাইভ সার্ভারগুলির মধ্যে একটি। আমরা আমাদের প্রিপ্রোডাকশন বিল্ড স্থাপন করি (যা মূলত ডাটাবেস সংযোগের স্ট্রিং এবং অন্যান্য কয়েকটি কনফিগার পরিবর্তনের চেয়ে সরাসরি লাইভ বিল্ডের সমান) এবং এটি পরীক্ষা করি। যদি এটি ঠিক থাকে তবে আমরা লাইভ কোড স্থাপন করি এবং শেষ পর্যন্ত যদি তা ঠিক হয়ে থাকে তা প্রমাণিত হয়ে আমরা সার্ভারটি লোড ব্যালেন্সারে ফিরিয়ে দেব এবং উত্পাদন বিল্ডকে একে একে একের পর এক স্থাপন করি।


1

এগুলি যথাসম্ভব সমান হওয়া উচিত, যাতে আপনি স্কেলের কোনও অক্ষমতার সম্ভাব্য ব্যতিক্রম ব্যতীত সিস্টেমের যে কোনও সময়ে সমস্যাগুলি সনাক্ত করতে পারেন। যদি কিছুটা সম্ভব হয় তবে আপনার উত্পাদন পরিবেশ এবং প্রাক-উত্পাদন / মঞ্চায়ন / পরীক্ষার পরিবেশের মধ্যে কেবলমাত্র পার্থক্যই আকার হবে - আমি আশা করব যে কোনও উত্পাদন পরিবেশ বৃহত্তর পরিবেশে আরও অনেক মেশিনের সমন্বয়ে গঠিত হবে। এমনকি আপনার কাছে থাকা মেশিনগুলির উত্সর্গকরণ, যেমন ডাটাবেস সার্ভার, ওয়েব সার্ভার, এবং অন্যান্যগুলিকেও আয়না করা উচিত।

তবে আপনার বর্তমান বাজেটের অধীনে একটি যথাযথ প্রতিরূপ তৈরি করা সম্ভব নয়। এটি যত কাছাকাছি হবে তত বেশি কার্যকর পরীক্ষা করা হবে এবং উত্পাদনের দিকে ধাক্কা দেওয়ার সময় কম সমস্যাগুলি কমবে।

এই পরিবেশটি যদি জন-মুখোমুখি হয় তবে আমি ক্রিসএফের চেয়ে আলাদা অবস্থান নিয়েছি । আমি বলি এটা হওয়া উচিত নয়। আমি প্রকৃত ডাটাবেসগুলির অনুলিপি বা কমপক্ষে প্রকৃত লাইভ ডাটাবেসগুলির একটি উপসেট এবং অন্তর্নিহিত পরিবেশের অনুলিপি চালানোর জন্য বেছে নেব। এইভাবে, আপনি প্রকৃত এবং বাস্তববাদী ডেটার বিরুদ্ধে পরীক্ষা করতে পারেন এবং সুরক্ষা গর্ত ফাঁস হওয়ার বিষয়ে চিন্তা করবেন না। আপনি অবশ্যই ডেটা স্যানিটাইজ করতে পারেন, তবে এটি পরিবেশ থেকে এমন কিছু "নোংরা ডেটা" সরিয়ে ফেলতে পারে যা কোনও লাইভ সিস্টেমে কোনও ত্রুটি আবিষ্কারের দিকে নিয়ে যেতে পারে।


1
আপনি যদি সুরক্ষা পরীক্ষা করে নিচ্ছেন তবে আমি সম্মত হচ্ছি এটি জনসাধারণের মুখোমুখি হওয়া উচিত নয়, তবে আপনি এটি চূড়ান্ত স্বীকৃতি পরীক্ষার জন্য হতে চান (উদাহরণস্বরূপ)।
ক্রিসএফ

এটি একটি বৈধ পয়েন্ট, পাশাপাশি। আমি সাধারণত ব্যবহারযোগ্যতা-কেন্দ্রিকের চেয়ে বেশি সুরক্ষিত-কেন্দ্রিক, তবে আপনি যদি স্বীকৃতি পরীক্ষার জন্য আপনার সিস্টেমের একটি নতুন সংস্করণ প্রকাশ করতে চান (সম্ভবত ক্লায়েন্টদের দ্বারা বা কোনও পাবলিক বিটার অংশ হিসাবে), তবে হ্যাঁ, জনসমক্ষে পরিবেশ প্রয়োজন হবে।
থমাস ওভেনস

হ্যাঁ, আমাদের একটি প্রতিযোগী থাকত যা তাদের সমস্ত জিনিস একটি লাইভ হওয়ার আগে বা এক সপ্তাহ বা তার জন্য পাবলিক-ফেসবুকে কম্পিউটারে পরীক্ষা করত। তারা কখনই বুঝতে পারেনি যে আমরা কীভাবে সবসময় বৈশিষ্ট্যগুলি তাদের ঠিক আগে প্রকাশিত হয়েছিল ...
মালভোলিও

1

আমি যেখানেই ব্যাঙ্ক, টেলিযোগাযোগ এবং ইত্যাদির কাজ করেছি প্রি-প্রোড হ'ল ডেটাবেস বাদে উত্পাদনের সরাসরি অনুলিপি ছিল এক সপ্তাহ বা তারও বেশি সময় ধরে। এটি প্রাক-প্রোড জুড়ে ডেটা বজায় রাখার বিশাল প্রক্রিয়া ছিল তবে আমি যে সকল সংস্থাগুলির জন্য কাজ করেছি প্রি-প্রোড বাস্তবায়িত হয়েছিল তাদের জন্য এটি প্রয়োজনীয় হিসাবে বিবেচিত হয়েছিল।

এউ ব্যাংকিং বিভাগে, পরিষেবাগুলি ব্যর্থতার জন্য সরকার ব্যাংকগুলিকে জরিমানা করে যেমন ওয়েবসাইটের এটিএম এবং ইত্যাদি প্রতি মিনিটে, ডাউন থাকে। কোনও ঘটনাকে কেন্দ্র করে কোনও উন্নয়ন / পরীক্ষামূলক দলকে বরখাস্ত করা শুনানো অস্বাভাবিক নয়। প্রাক-প্রোড প্রতিটি সংস্থা বা উন্নয়ন প্রক্রিয়ার জন্য নয় তবে কারও জন্য প্রয়োজনীয়।


3
"কোনও ঘটনার উপর বিকাশ / পরীক্ষামূলক দলকে বরখাস্ত করার কথা শুনতে অস্বাভাবিক কিছু নয়" - হ্যাঁ, এটি সহায়তা করবে। মনোবল উন্নতি না হওয়া পর্যন্ত মারধর চলতে থাকবে।
মালভোলিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.