ট্যাগ দ্বারা ব্রাউজ করুন
আমরা শব্দকোষ পদগুলোকে শ্রেণীবদ্ধ করেছি । ট্যাগ দ্বারা পদগুলো ব্রাউজ করতে ফিল্টার ব্যবহার করুন ।
API গেটওয়ে(API Gateway)
একটি API গেটওয়ে হল একটি টুল যা অনন্য অ্যাপ্লিকেশন APIগুলিকে একত্রিত করে এবং সেগুলিকে এক জায়গায় উপলব্ধ করে। এটি সংস্থাগুলিকে মূল ফাংশনগুলি সরানোর অনুমতি দেয়, যেমন প্রমাণীকরণ এবং অনুমোদন বা অ্যাপ্লিকেশনগুলির মধ্যে অনুরোধের সংখ্যা সীমিত করা, কেন্দ্রীয়ভাবে পরিচালিত অবস্থানে। একটি API গেটওয়ে (প্রায়শই বহিরাগত) API গ্রাহকদের একটি সাধারণ ইন্টারফেস হিসাবে কাজ করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে আপনি যদি বহিরাগত ভোক্তাদের কাছে API গুলি উপলব্ধ করে থাকেন, সমস্ত অ্যাক্সেস পরিচালনা এবং নিয়ন্ত্রণ করতে আপনি একটি এন্ট্রি পয়েন্ট চাইবেন। অতিরিক্তভাবে, যদি আপনাকে সেই মিথস্ক্রিয়াগুলিতে কার্যকারিতা প্রয়োগ করতে হয়, একটি এপিআই গেটওয়ে আপনাকে কোনো অ্যাপ কোড পরিবর্তনের প্রয়োজন ছাড়াই সমস্ত ট্রাফিকের ক্ষেত্রে এটিকে সমানভাবে প্রয়োগ করতে দেয়।..
অক্ষমতা (Idempotence)
গণিত বা কম্পিউটার বিজ্ঞানে, অক্ষমতা এমন একটি প্রক্রিয়াকে বর্ণনা করে যা সর্বদা একই ফলাফলের দিকে নিয়ে যায়, এটি যতবার করা হোক না কেন। যদি পরামিতিক মানগুলি একই হয়, তাহলে একটি অক্ষম ক্রিয়াকলাপকে যে অ্যাপ্লিকেশনটিকে কল করে তাকে প্রভাবিত করবে না।..
অটোস্কেলিং (Autoscaling)
অটোস্কেলিং হলো সাধারণত একটি সিস্টেমের কম্পিউটিং রিসোর্সগুলোর পরিপ্রেক্ষিতে স্বয়ংক্রিয়ভাবে স্কেল ক্ষমতা। অটোস্কেলিং সিস্টেমের সাহায্যে, ব্যবহারকারী চাহিদা অনুযায়ী রিসোর্স স্কেল করতে এবং প্রয়োজনের সময় স্বয়ংক্রিয়ভাবে রিসোর্সগুলো যোগ করতে পারে। অটোস্কেলিং প্রক্রিয়া পরিবর্তনশীল এবং মেমোরি বা প্রক্রিয়া সময়ের মতো বিভিন্ন মেট্রিক্সের উপর ভিত্তি করে স্কেল করার জন্য কনফিগারযোগ্য। ক্লাউড পরিষেবাগুলো সাধারণত অটোস্কেলিং এর মাধ্যমে পরিচালিত হয় কারণ বেশিরভাগ অন-প্রিমাইজ ডিপ্লোয়মেন্টের চেয়ে এটিতে আরও বেশি বাস্তবায়ন করার ব্যবস্থা রয়েছে। পূর্বে, সিস্টেমের অবকাঠামো এবং অ্যাপ্লিকেশনগুলোকে আর্কিটেক্ট করা হয়েছিল সিস্টেমের সর্বোচ্চ ব্যবহার বিবেচনা করার মাধ্যমে। এই স্থাপনার দ্বারা রিসোর্সগুলো কম ব্যবহার হচ্ছিল এবং ভোক্তাদের চাহিদা পরিবর্তন করার জন্য স্থিতিস্থাপক ছিল। এই স্থিতিস্থাপকতা ফলে ব্যবসায় উচ্চ খরচ ছিল এবং অতিরিক্ত চাহিদা দেখা দিলেই ব্যবসা বন্ধ হয়ে যাচ্ছিল।..
অনুভূমিক স্কেলিং (Horizontal Scaling)
অনুভূমিক স্কেলিং হল এমন একটি কৌশল যেখানে আরও নোড যোগ করে একটি সিস্টেমের ক্ষমতা বৃদ্ধি করা হয়। স্বতন্ত্র নোডগুলিতে আরও গণনা সংস্থান যোগ করার বিপরীতে (পরবর্তীটি উল্লম্ব স্কেলিং নামে পরিচিত)। ধরা যাক, আমাদের 4GB RAM এর একটি সিস্টেম আছে এবং এর ক্ষমতা 16GB RAM-তে বাড়াতে চাই, এটিকে অনুভূমিকভাবে স্কেল করার অর্থ হল 16GB RAM সিস্টেমে স্যুইচ করার পরিবর্তে 4 x 4GB RAM যোগ করে তা করা। এই পদ্ধতিটি নতুন দৃষ্টান্ত, বা নোড, যোগ করে একটি অ্যাপ্লিকেশনের কর্মক্ষমতা বাড়ায় কাজের চাপ ভালভাবে বিতরণ করতে। সহজ কথায়, এর লক্ষ্য সার্ভারের লোড কমানো ব্যক্তিগত সার্ভারের ক্ষমতা প্রসারিত করার পরিবর্তে।..
অপরিবর্তনীয় পরিকাঠামো (Immutable Infrastructure)
অপরিবর্তনীয় অবকাঠামো বলতে কম্পিউটার অবকাঠামো বোঝায় (ভার্চুয়াল মেশিন, ধারক, নেটওয়ার্ক যন্ত্রপাতি) যে একবার স্থাপন করা পরিবর্তন করা যাবে না. এটি একটি স্বয়ংক্রিয় প্রক্রিয়া দ্বারা প্রয়োগ করা যেতে পারে যা অননুমোদিত পরিবর্তনগুলিকে ওভাররাইট করে বা একটি সিস্টেমের মাধ্যমে যা প্রথম স্থানে পরিবর্তনের অনুমতি দেবে না। কনটেইনারগুলি অপরিবর্তনীয় অবকাঠামোর একটি ভাল উদাহরণ কারণ পাত্রে ক্রমাগত পরিবর্তন শুধুমাত্র দ্বারা করা যেতে পারে ধারকটির একটি নতুন সংস্করণ তৈরি করা বা এর চিত্র থেকে বিদ্যমান ধারকটিকে পুনরায় তৈরি করা।..
অবদানকারীর পথসিঁড়ি
<p>স্বাগতম এখানে! 👋 CNCF ক্লাউড নেটিভ শব্দকোষ প্রকল্পে অবদান রাখার জন্য আপনার আগ্রহের জন্য ধন্যবাদ। আপনি নতুন শর্তাবলীতে অবদান রাখুন, শব্দকোষকে আপনার স্থানীয় ভাষায় স্থানীয়করণে সহায়তা করুন বা অন্যদের শুরু করতে সাহায্য করতে চান, এই সম্প্রদায়ের সক্রিয় সদস্য হওয়ার অনেক উপায় রয়েছে। এই ডক প্রকল্পের মধ্যে বিভিন্ন অবদানকারীর ভূমিকা এবং তাদের সাথে আসা দায়িত্ব ও সুযোগ-সুবিধার রূপরেখা দেয়।</p> <ol> <li>অবদানকারী (Contributors) শব্দকোষ সবার জন্য। প্রকল্পে অবদান রাখার মাধ্যমে যে কেউ একটি শব্দকোষ অবদানকারী হতে পারে। সমস্ত অবদানকারীরা CNCF কোড অফ কন্ডাক্ট অনুসরণ করবে বলে আশা করা হচ্ছে।</li> </ol>..
অ্যাজাইল সফটওয়্যার ডেভেলপমেন্ট (Agile Software Development)
এটি একটি অনুশীলনের সেট যা পুনরাবৃত্তিমূলক বিকাশ চক্র এবং স্ব-সংগঠিত দলের উপর জোর স্থাপন করে। জলপ্রপাতের মতো প্রজেক্টগুলির বিপরীতে যেখানে একটি প্রজেক্টের সুবিধা কেবল প্রজেক্টের শেষেই পাওয়া যায়, অ্যাজাইল সফটওয়্যার ডেভলপমেন্ট দৃষ্টিপাত করে কিভাবে একটি ক্রমাগত, ক্রমবর্ধমান মূল্য সরবরাহ করতে পারা যায় এবং দৃষ্টিপাত করে যেন প্রক্রিয়াটি নিজের বিবর্তনীয় উন্নতির উপর দৃষ্টি নিবদ্ধ করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে একটি সফটওয়্যার প্রজেক্টে স্টেকহোল্ডারদের সকল চাহিদাকে সংজ্ঞায়িত করা, যোগাযোগ করা এবং বোঝা খুবই কঠিন প্রায় অসম্ভবই বলা চলে। তবুও, গ্রাহকরা প্রত্যাশা করেন যেন তাদের সফটওয়্যার প্রজেক্টগুলি সময়মতো, ভাল মানের, বাজেটে এবং সুযোগে বিতরণ করা হোক। এর চক্রাকার প্রকৃতির কারণে অ্যাজাইল সফটওয়্যার ডেভলপমেন্ট (Agile software development) জলপ্রপাতের মতো কৌশলগুলির বিপরীতে প্রয়োজনীয়তার অবিচ্ছিন্ন অভিযোজন এবং অন্যান্য সমস্ত পরিস্থিতির সমস্যার সমাধানকে দ্রুত অভিযোজন করতে সক্ষম করে।..
অ্যাপ্লিকেশান প্রোগ্রামিং ইন্টারফেস (API)
একটি API হল কম্পিউটার প্রোগ্রামগুলির একে অপরের সাথে যোগাযোগ করার একটি উপায়। মানুষ যেমন একটি ওয়েব পৃষ্ঠার মাধ্যমে একটি ওয়েবসাইটের সাথে যোগাযোগ করে, তেমনি একটি API কম্পিউটার প্রোগ্রামগুলিকে একে অপরের সাথে যোগাযোগ করতে দেয়। মানুষের মিথস্ক্রিয়া থেকে ভিন্ন, API-গুলির সীমাবদ্ধতা রয়েছে তাদের থেকে কী জিজ্ঞাসা করা যায় এবং কী করা যায় না। ইন্টারঅ্যাকশনের সীমাবদ্ধতা প্রোগ্রামগুলির মধ্যে স্থিতিশীল এবং কার্যকরী যোগাযোগ তৈরি করতে সহায়তা করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে অ্যাপ্লিকেশনগুলি আরও জটিল হয়ে উঠলে, ছোট কোড পরিবর্তনগুলি অন্যান্য কার্যকারিতার উপর কঠোর প্রভাব ফেলতে পারে। অ্যাপ্লিকেশনগুলিকে তাদের কার্যকারিতার জন্য একটি মডুলার পদ্ধতি অবলম্বন করতে হবে যদি তারা একই সাথে বৃদ্ধি এবং স্থিতিশীলতা বজায় রাখতে পারে। API ছাড়া, অ্যাপ্লিকেশনগুলির মধ্যে মিথস্ক্রিয়া করার জন্য একটি কাঠামোর অভাব রয়েছে। একটি শেয়ার্ড ফ্রেমওয়ার্ক ছাড়া, অ্যাপ্লিকেশনগুলির জন্য স্কেল(scale) এবং একীভূত করা চ্যালেঞ্জিং।..
অ্যাবস্ট্রাকশন (Abstraction)
কম্পিউটিং এর প্রেক্ষাপটে, অ্যাবস্ট্রাকশন অথবা বিমূর্ততা হল এক ধরনের উপস্থাপনা যেখানে সাধারণ ব্যবহারকারী এবং সেবা ভোগকারীদের (কম্পিউটার প্রোগ্রাম অথবা মানুষ) কাছ থেকে সিস্টেমের জটিল এবং অপ্রয়োজনীয় বিষয়গুলি লুকিয়ে রাখা হয়, এভাবে সিস্টেমকে খুব সিম্পল ভাবে উপস্থাপন করা হয় ফলে সিস্টেমকে বুঝতেও সুবিধা হয়। একটি ভালো উদাহরণ হল আপনার ল্যাপটপের অপারেটিং সিস্টেম (OS)। এটি আপনার কম্পিউটার কিভাবে কাজ করে তার সমস্ত বিবরণ বিমূর্ত করে। আপনার সিপিইউ মেমোরি অথবা প্রোগ্রামগুলোকে কিভাবে পরিচালনা করতে হয় সে সম্পর্কে কিছু জানার দরকার নেই, আপনি শুধু আপনার অপারেটিং সিস্টেম চালান এবং আপনার OS নিজেই এই জটিল বিষয়গুলো পরিচালনা করে। OS কিভাবে কাজগুলো হ্যান্ডেল করে করে তা আপনার জানার দরকার নেই এবং সমস্ত বিবরণ এই OS “পর্দা” বা বিমূর্ততার পিছনে লুকানো রয়েছে।..
ইনগ্রেস(Ingress)
একটি ইনগ্রেস হলো এক গুচ্ছ নিয়মাবলি যা বাইরে থেকে একটি কন্টেইনারে অথবা একটি ক্লাস্টারে চলমান কন্টেইনারগুলোর একটি গ্রুপের মধ্যে ইন্টারনেট ট্র্যাফিক পরিচালনা করতে সহায়তা করে। এটি দুইটি উপাদান নিয়ে গঠিত: ইনগ্রেস রিসোর্স এবং ইনগ্রেস কন্ট্রোলার। ইনগ্রেস রিসোর্স হলো একটি কনফিগারেশন ফাইল যা অন্যান্য ম্যানিফেস্ট ফাইলের সাথে থাকে এবং অ্যাডমিনদের বাহ্যিক ট্রাফিক রাউটিং কনফিগার করতে দেয়। ইনগ্রেস কন্ট্রোলার হলো ওয়েব সার্ভার প্রযুক্তি যা প্রকৃতপক্ষে ইনগ্রেস রিসোর্সের কনফিগারেশন অনুযায়ী ট্র্যাফিকের রাউটিং করে।..
ইবিপিএফ(eBPF)
ইবিপিএফ(eBPF) , বা বর্ধিত বার্কলে প্যাকেট ফিল্টার (extended Berkeley Packet Filter), এমন একটি প্রযুক্তি যা কার্নেলের সোর্স কোড পরিবর্তন না করে বা লিনাক্স কার্নেল মডিউল লোড না করেই লিনাক্স সিস্টেমের কার্নেল স্পেসে ছোট, স্যান্ডবক্সড প্রোগ্রাম বা স্ক্রিপ্ট চালানোর অনুমতি দেয়। একটি লিনাক্স সিস্টেমে দুইটি স্পেস আছে : কার্নেল এবং ইউজার স্পেস। কার্নেল অপারেটিং সিস্টেমের কোর এর প্রতিনিধিত্ব করে এবং এটি একমাত্র অংশ যার কাছে হার্ডওয়্যারের সীমাহীন অ্যাক্সেস রয়েছে । অ্যাপ্লিকেশনগুলো ইউজার স্পেসে থাকে, এবং যখন তাদের উচ্চতর অনুমতির প্রয়োজন হয়, তারা কার্নেলের কাছে একটি রিকোয়েস্ট পাঠায়। যে অ্যাপ্লিকেশনগুলোর জন্য আরও ফ্লেক্সিবিলিটি প্রয়োজন, যেমন সরাসরি হার্ডওয়্যার অ্যাক্সেসের জন্য, কার্নেলটিকে “লিনাক্স কার্নেল মডিউল” পদ্ধতির মাধ্যমে প্রসারিত করা যেতে পারে। এই পদ্ধতিটি কার্নেলের ডিফল্ট কার্যকারিতা প্রসারিত করে, অ্যাপ্লিকেশনগুলোকে অন্তর্নিহিত উপাদানগুলোতে গভীরতর অ্যাক্সেসের অনুমতি দেয়। যাইহোক, এই পদ্ধতিটি নিরাপত্তা ঝুঁকিও নিয়ে আসে, যা ইবিপিএফকে একটি আকর্ষণীয় বিকল্প করে তোলে ।..
উল্লম্ব স্কেলিং (Vertical Scaling)
উল্লম্ব স্কেলিং, যা “উপর এবং নিচে স্কেলিং” নামেও পরিচিত, একটি কৌশল যেখানে কাজের চাপ বাড়ার সাথে সাথে পৃথক নোড এ CPU এবং মেমরি যোগ করার মাধ্যমে একটি সিস্টেমের ক্ষমতা বৃদ্ধি করা হয়। ধরা যাক, আপনার কাছে 4GB RAM এর একটি কম্পিউটার আছে এবং এর ক্ষমতা 16GB RAM-এ বাড়াতে চান, এটিকে উল্লম্বভাবে স্কেল করার অর্থ হল একটি 16GB RAM সিস্টেমে স্যুইচ করা। (অনুগ্রহ করে একটি ভিন্ন স্কেলিং পদ্ধতির জন্য অনুভূমিক স্কেলিং দেখুন।)..
এজ কম্পিউটিং (Edge Computing)
এজ কম্পিউটিং হল একটি বিতরণ সিস্টেম পদ্ধতি যা প্রাথমিক ডেটা সেন্টার থেকে ডেটা উৎসে কিছু স্টোরেজ এবং কম্পিউটিং ক্ষমতা স্থানান্তর করে। সংগৃহীত ডেটা স্থানীয়ভাবে গণনা করা হয় (যেমন, একটি কারখানার মেঝেতে,একটি দোকানে বা একটি শহর জুড়ে) প্রক্রিয়াকরণ (processing) এবং বিশ্লেষণের জন্য কেন্দ্রীভূত ডেটা সেন্টারে পাঠানোর পরিবর্তে। এই স্থানীয় প্রক্রিয়াকরণ ইউনিট বা ডিভাইসগুলি সিস্টেমের প্রান্তের (edge) প্রতিনিধিত্ব করে,যেখানে ডেটা সেন্টার হল এর কেন্দ্র। প্রান্তে গণনা করা আউটপুট পরবর্তী প্রক্রিয়াকরণের জন্য প্রাথমিক ডেটা সেন্টারে ফেরত পাঠানো হয়। এজ কম্পিউটিংয়ের উদাহরণগুলির মধ্যে রয়েছে হাতের কব্জির গ্যাজেট বা কম্পিউটার যা ট্র্যাফিক প্রবাহ বিশ্লেষণ করে।..
কন্টেইনার (Container)
একটি কন্টেইনার একটি কম্পিউটারের অপারেটিং সিস্টেম দ্বারা পরিচালিত সম্পদ এবং সক্ষমতার সীমাবদ্ধতা সহ একটি চলমান প্রক্রিয়া। কন্টেইনার প্রক্রিয়ার জন্য উপলব্ধ ফাইলগুলি একটি কন্টেইনার চিত্র (Container image) হিসাবে প্যাকেজ করা হয়। কনটেইনারগুলি একই মেশিনে একে অপরের সংলগ্ন সঞ্চালিত হয়, তবে সাধারণত অপারেটিং সিস্টেম পৃথক কন্টেইনার প্রক্রিয়াগুলিকে একে অপরের সাথে ইন্টারঅ্যাক্ট করতে বাধা দেয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে কন্টেইনার উপলব্ধ হওয়ার আগে, অ্যাপ্লিকেশন চালানোর জন্য আলাদা মেশিনের প্রয়োজন ছিল। প্রতিটি মেশিনের নিজস্ব অপারেটিং সিস্টেমের প্রয়োজন হবে, যা সিপিইউ, মেমরি এবং ডিস্ক স্পেস নেয়, সমস্তই একটি পৃথক অ্যাপ্লিকেশন কাজ করার জন্য। উপরন্তু, একটি অপারেটিং সিস্টেমের রক্ষণাবেক্ষণ, আপগ্রেড এবং স্টার্টআপ হল পরিশ্রমের আরেকটি উল্লেখযোগ্য উৎস।..
কন্টেইনার অর্কেস্ট্রেশন (Container Orchestration)
কন্টেইনার অর্কেস্ট্রেশন বলতে বোঝায় গতিশীল পরিবেশে কন্টেইনারাইজড অ্যাপ্লিকেশনের জীবনচক্র পরিচালনা এবং স্বয়ংক্রিয়করণ করাকে । এটি একটি কন্টেইনার অর্কেস্ট্রেটরের (বেশিরভাগ ক্ষেত্রে, কুবারনেটিস) মাধ্যমে কার্যকর করা হয় , যা স্থাপনা (deployments), অটো-স্কেলিং , অটো-হিলিং এবং পর্যবেক্ষণকে সক্ষম করে। অর্কেস্ট্রেশন একটি রূপক অর্থে : অর্কেস্ট্রেশন টুল একজন মিউজিক পরিচালকের মতো কন্টেইনারগুলোকে পরিচালনা করে, যা নিশ্চিত করে প্রতিটি কন্টেইনারের (বা সঙ্গীতশিল্পীর) যা করা উচিত । এটা যেসব সমস্যাতে দৃষ্টিপাত করে সাধারণত বড় স্কেলে মাইক্রোসার্ভিস, নিরাপত্তা, এবং নেটওয়ার্ক কমিউনিকেশন পরিচালনা এবং ডিস্ট্রিবিউটেড সিস্টেমগুলো (যদি অসম্ভব নাও হয়) ম্যানুয়ালি পরিচালনা করা কঠিন । কন্টেইনার অর্কেস্ট্রেশন ব্যবহারকারীদের এই সমস্ত পরিচালনার কাজগুলোকে স্বয়ংক্রিয় করতে দেয় ।..
কন্টেইনারাইজেশন (Containerization)
কন্টেইনারাইজেশন হল একটি প্রক্রিয়া যা একটি অ্যাপ্লিকেশন এবং এর সংশ্লিষ্ট জিনিসসমূহকে একটি কন্টেইনার ইমেজ (Container Image) এ বান্ডিল করার প্রক্রিয়া। কন্টেইনার নির্মাণ প্রক্রিয়ার জন্য ওপেন কন্টেইনার ইনিশিয়েটিভ (OCI) মান মেনে চলা প্রয়োজন। যতক্ষণ না একটি কন্টেইনার ইমেজ এই স্ট্যান্ডার্ড মেনে চলে, যে কোন কন্টেইনারাইজেশন টুল ই ব্যবহার করা হয় তা চিন্তার বিষয় নয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে কনটেইনারগুলি প্রচলিত হওয়ার আগে, সংস্থাগুলি যেকোনো বেয়ার-মেটাল মেশিন (bare-metal machine) এর একাধিক অ্যাপ্লিকেশন তৈরি করার জন্য ভার্চুয়াল মেশিনের (VM) উপর নির্ভর করত। ভিএমগুলি পাত্রের তুলনায় উল্লেখযোগ্যভাবে বড় এবং যার ফলে এটি চালানোর জন্য একটি হাইপারভাইজার প্রয়োজন।যেহেতু এই বৃহৎ ভিএম টেমপ্লেটগুলির স্টোরেজ, ব্যাকআপ এবং স্থানান্তরের কাজ করে, এ কারণে ভিএম টেমপ্লেট তৈরি করাও একটি ধীর প্রক্রিয়া। অতিরিক্তভাবে, ভিএমগুলি যদি অপরিবর্তনশীলতা (immutability) নীতি লঙ্ঘন করে, তবে এটি কনফিগারেশন ড্রিফটে ভুগতে পারে।..
কিভাবে অবদান রাখতে হবে
স্বাগত ক্লাউড নেটিভ শব্দকোষ অবদানকারী গাইডে স্বাগতম, এবং আপনার আগ্রহের জন্য আপনাকে ধন্যবাদ। আপনি এই প্রকল্পে অবদান রাখতে পারেন এমন অনেক উপায় রয়েছে, যা আমরা এখানে বিস্তারিতভাবে কভার করব: বিদ্যমান সমস্যা নিয়ে কাজ করুন নতুন শর্তাবলী প্রস্তাব বিদ্যমানগুলি আপডেট করুন শব্দকোষ অনুবাদে সাহায্য করুন CNCF শব্দকোষ ওভারভিউ এই শব্দকোষের লক্ষ্য হল ক্লাউড নেটিভ স্পেসকে সহজ করা — যা এর জটিলতার জন্য কুখ্যাত — এবং এইভাবে এটিকে মানুষের কাছে আরও সহজগম্য করে তোলা।..
কুবারনেটিস (Kubernetes)
কুবারনেটিস (Kubernetes), প্রায়ই K8s হিসাবে সংক্ষিপ্ত হয়, একটি ওপেন-সোর্স কন্টেইনার অর্কেস্ট্রেটর । যা আধুনিক অবকাঠামোতে কন্টেইনারাইজড (containerized) অ্যাপ্লিকেশনের জীবনচক্রকে স্বয়ংক্রিয় করে , এটি একটি “ডেটাসেন্টার অপারেটিং সিস্টেম” হিসাবে কাজ করে যা একটি ডিস্ট্রিবিউটেড সিস্টেম জুড়ে অ্যাপ্লিকেশনগুলোকে পরিচালনা করে। কুবারনেটিস একটি ক্লাস্টারের নোড জুড়ে কন্টেইনারের সময়সূচী নির্ধারণ করে , কন্টেইনারাইজড অ্যাপ্লিকেশনগুলো চালানোর জন্য বিভিন্ন ধরনের অবকাঠামো রিসোর্স (infrustructure resources) যেমন- লোড ব্যালেন্সার (Load Balancer), ক্রমাগত স্টোরেজ (Persistance Storage) ইত্যাদি একত্রিত করে।..
কেওস ইঞ্জিনিয়ারিং (Chaos Engineering)
কেওস ইঞ্জিনিয়ারিং (Chaos Engineering) বা CE হল ডিস্ট্রিবিউটেড সিস্টেমে (distributed system) পরীক্ষা করার শৃঙ্খলা যাতে কোলাহলপূর্ণ এবং অপ্রত্যাশিত পরিস্থিতি সহ্য করার জন্য সিস্টেমে ক্ষমতা তৈরি হয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে SRE (Site reliability engineering) এবং DevOps অনুশীলনে, প্রোডাক্টের স্থিতিস্থাপকতা (resiliency) এবং নির্ভরযোগ্যতা (reliability) বাড়ানোর কৌশলের উপর ফোকাস করে। পর্যাপ্ত পরিষেবার মান নিশ্চিত করার সময়, একটি সিস্টেমের ব্যর্থতা সহ্য করার ক্ষমতা সাধারণত সফ্টওয়্যার ডেভেলপমেন্টে খুব প্রয়োজনীয়। এমন বেশ কয়েকটি দিক জড়িত যা একটি অ্যাপ্লিকেশনের আউটেজের দিকে নিয়ে যেতে পারে, যেমন অবকাঠামো (infrastructure), প্ল্যাটফর্ম (platform), বা (মাইক্রোসার্ভিস-ভিত্তিক (microservices)) অ্যাপ্লিকেশনের অন্যান্য চলমান অংশ। প্রোডাকশন পরিবেশে নতুন ফিচারগুলির খুব তাড়াতাড়ি একের পর এক স্থাপনের ফলে ডাউনটাইম (downtime) হওয়ার সম্ভাবনা বেড়ে যায় এবং একটি গুরুতর ঘটনাও ঘটতে পারে — যা ব্যবসার জন্য যথেষ্ট পরিণতিপূর্ণ।..
কোড হিসাবে নীতি (Policy as Code)
কোড হিসাবে নীতি (PaC ) হলো মেশিন-পাঠযোগ্য এবং প্রক্রিয়াযোগ্য আকারে এক বা একাধিক ফাইল হিসাবে নীতিগুলির সংজ্ঞা সংরক্ষণের অনুশীলন। এটি ঐতিহ্যগত মডেলকে প্রতিস্থাপন করে যেখানে নীতিগুলি পৃথক নথিতে মানব-পাঠযোগ্য আকারে নথিভুক্ত করা হতো। এটা যেসব সমস্যাতে দৃষ্টিপাত করে অ্যাপ্লিকেশন এবং অবকাঠামো তৈরি করতে অনেক সময় একটি সংস্থা নির্ধারিত অনেক নীতির মধ্যে বাধিত হতে হয়, উদাহরণস্বরূপ নিরাপত্তা নীতি যা সোর্স কোডে গোপনীয়তা সংরক্ষণ করতে নিষিদ্ধ করে, সুপারইউজার অনুমতিসহ কন্টেনার চালানো নিষিদ্ধ করে বা কিছু ডাটা একটি নির্দিষ্ট ভূ-অঞ্চলের বাইরে সংরক্ষণ নিষিদ্ধ করে। উন্নয়কারীদের এবং পর্যালোচকদের জন্য নথিভুক্ত নীতিগুলির বিরুদ্ধে অ্যাপ্লিকেশন এবং অবকাঠামো ম্যানুয়ালি পরীক্ষা করা অত্যন্ত শ্রমসাধ্য এবং ত্রুটিপ্রবণ। ম্যানুয়াল প্রক্রিয়াগুলি ক্লাউড নেটিভ অ্যাপ্লিকেশনগুলির প্রতিক্রিয়া শীলতা এবং স্কেল এর প্রয়োজনীয়তা পূরণ করতে পারে না।..
কোড হিসেবে পরিকাঠামো (Infrastructure as Code)
কোড হিসেবে পরিকাঠামো হল, অবকাঠামোর সংজ্ঞা এক বা একধিক ফাইল হিসেবে সংরক্ষণ করার অনুশীলন। এটি প্রথাগত মডেলকে প্রতিস্থাপন করে যেখানে পরিকাঠামোকে একটি পরিষেবা হিসেবে মানবিকভাবে প্রতিবিধান করা হয় সাধারণত সেল স্ক্রিপ্ট বা অন্যান্য কনফিগারেশন উপাদানের মাধ্যমে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে ক্লাউড নেটিভ পদ্ধতিতে অ্যাপ্লিকেশন তৈরি করার জন্য পরিকাঠামো নিষ্পত্তিযোগ্য এবং পুনরুৎপাদনযোগ্য হতে হবে। সাধারণত মানুষের হস্তক্ষেপ ছাড়াই এটি একটি স্বয়ংক্রিয় এবং পুনরাবৃত্তি যোগ্য উপায় স্কেল করতে পারে। মানবিক নজরদারি প্রতিক্রিয়াশীলতা এবং ক্লাউড নেটিভ অ্যাপ্লিকেশনগুলির প্রয়োজনীয়তা পূরণ করতে পারে না। মানবিক কাঠামো পরিবর্তনগুলি উৎপাদনযোগ্য নয়, দ্রুত পরিমাপ সীমার মধ্যে চলে যায় এবং মাইক্রো কনফিগারেশন ভুলগুলি করে।..
ক্যানারি ডিপ্লয়মেন্ট (Canary Deployment)
ক্যানারি ডিপ্লয়মেন্ট হল একটি স্থাপনার কৌশল যা দুটি পরিবেশ দিয়ে শুরু হয়: একটি লাইভ ট্র্যাফিক সহ এবং অন্যটিতে লাইভ ট্র্যাফিক ছাড়াই আপডেট করা কোড রয়েছে৷ ট্র্যাফিকটি ধীরে ধীরে অ্যাপ্লিকেশনটির আসল সংস্করণ থেকে আপডেট হওয়া সংস্করণে স্থানান্তরিত হয়। এটি লাইভ ট্রাফিকের 1%, তারপর 10%, 25% এবং আরও অনেক কিছু সরানোর মাধ্যমে শুরু হতে পারে যতক্ষণ না সমস্ত ট্রাফিক আপডেট সংস্করণের মাধ্যমে চলছে। সংস্থাগুলি উৎপাদনে সফ্টওয়্যারটির নতুন সংস্করণ পরীক্ষা করতে পারে, প্রতিক্রিয়া পেতে পারে, ত্রুটিগুলি নির্ণয় করুন এবং প্রয়োজনে দ্রুত স্থিতিশীল সংস্করণে রোলব্যাক করুন৷..
ক্রমাগত একীকরণ (Continuous Integration) (CI)
ক্রমাগত একীকরণ (Continuous integration), প্রায়ই CI হিসাবে সংক্ষেপে, যতটা সম্ভব নিয়মিত কোড পরিবর্তনগুলিকে একীভূত করার অনুশীলন। CI হল ক্রমাগত বিতরণ (Continuous Delivery) (CD) এর পূর্বশর্ত। ঐতিহ্যগতভাবে, CI প্রক্রিয়া শুরু হয় যখন কোড পরিবর্তনগুলি একটি উৎস নিয়ন্ত্রণ ব্যবস্থার (Git, Mercurial, বা Subversion) প্রতি প্রতিশ্রুতিবদ্ধ হয় এবং একটি CD সিস্টেমের দ্বারা গ্রাস করার জন্য প্রস্তুত একটি পরীক্ষিত আর্টিফ্যাক্ট দিয়ে শেষ হয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে সফ্টওয়্যার সিস্টেমগুলি প্রায়শই বড় এবং জটিল হয়, অসংখ্য বিকাশকারী তাদের রক্ষণাবেক্ষণ এবং আপডেট করে। সিস্টেমের বিভিন্ন অংশে সমান্তরালভাবে কাজ করে, এই বিকাশকারীরা পরস্পরবিরোধী পরিবর্তন করতে পারে এবং অসাবধানতাবশত একে অপরের কাজ ভেঙে দিতে পারে। উপরন্তু, একই প্রজেক্টে একাধিক ডেভেলপার কাজ করে, যেকোন দৈনন্দিন কাজ যেমন টেস্টিং এবং কোডের গুণমান গণনা করার জন্য প্রতিটি ডেভেলপারকে সময় নষ্ট করে বারবার করতে হবে।..
ক্রমাগত বিতরণ (Continuous Delivery) (CD)
ক্রমাগত বিতরণ (continuous delivery), প্রায়ই CD হিসাবে সংক্ষিপ্ত, অনুশীলনের একটি সেট যেখানে কোডের পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে একটি গ্রহণযোগ্য পরিবেশে স্থাপন করা হয় (অথবা, ক্রমাগত স্থাপনার (continuous deployment) ক্ষেত্রে, উৎপাদনে)। স্থাপনার (deployment) আগে সফ্টওয়্যারটি (software) পর্যাপ্তভাবে পরীক্ষা করা হয়েছে তা নিশ্চিত করার জন্য CD অত্যন্ত গুরুত্বপূর্ণভাবে প্রক্রিয়াগুলি অন্তর্ভুক্ত করে এবং প্রয়োজন মনে হলে পরিবর্তনগুলি রোলব্যাক (rollback) করার একটি উপায় প্রদান করে। ক্রমাগত একীকরণ (continuous integration) (CI) ক্রমাগত বিতরণের (continuous delivery) প্রথম পদক্ষেপ (অর্থাৎ, পরিবর্তনগুলি পরীক্ষা এবং স্থাপনের আগে পরিষ্কারভাবে একত্রিত করতে হবে)।..
ক্রমাগত স্থাপনা (Continuous Deployment (CD))
ক্রমাগত স্থাপনা (Continuous Deployment), প্রায়ই CD হিসাবে সংক্ষেপে, সরাসরি উৎপাদনে সমাপ্ত সফ্টওয়্যার (software) স্থাপনের মাধ্যমে ক্রমাগত বিতরণ (Continuous Delivery) থেকে এক ধাপ এগিয়ে যায়। ক্রমাগত স্থাপনা (CD) ক্রমাগত একীকরণ (Continuous Integration) (CI) এর সাথে হাত মিলিয়ে যায় এবং প্রায়ই CI/CD হিসাবে উল্লেখ করা হয়। একটি প্রদত্ত অ্যাপ্লিকেশনে পরিবর্তনগুলি বৈধ কিনা তা CI প্রক্রিয়া পরীক্ষা করে এবং CD প্রক্রিয়া স্বয়ংক্রিয়ভাবে একটি প্রতিষ্ঠানের পরিবেশের মাধ্যমে পরীক্ষা থেকে উৎপাদন পর্যন্ত কোডের পরিবর্তনগুলি স্থাপন করে।..
ক্লাউড কম্পিউটিং (Cloud Computing)
ক্লাউড কম্পিউটিং হল এমন একটি মডেল যা ইন্টারনেটের মাধ্যমে চাহিদা অনুযায়ী CPU, নেটওয়ার্ক এবং ডিস্ক ক্ষমতার মতো গণনা বিষয়ক কাজ(compute) করার সংস্থান সরবরাহ করে। ক্লাউড কম্পিউটিং এর মাধ্যমে ব্যবহারকারীরা নিজেদের শারীরিক অবস্থান থেকে ক্লাউডে থেকে প্রবেশ করতে পারে এবং প্রয়োজন অনুযায়ী ব্যবহার করতে পারে। ক্লাউড সুবিধা প্রদানকারী সংস্থাসমূহ যেমন AWS, GCP, Azure, DigitalOcean এবং অন্যান্য সকলেই তৃতীয় পক্ষ অর্থাৎ ব্যবহারকারীদের একাধিক ভৌগলিক অবস্থান থেকে ভাড়ার মাধ্যমে কম্পিউটিং বিষয়ক কাজ করার সুবিধা প্রদান করে।..
ক্লাউড নেটিভ নিরাপত্তা (Cloud Native Security)
ক্লাউড নেটিভ সিকিউরিটি এমন একটি পদ্ধতি যা ক্লাউড নেটিভ অ্যাপ্লিকেশন এ নিরাপত্তা তৈরি করে। এটি নিশ্চিত করে যে নিরাপত্তা উন্নয়ন থেকে উৎপাদন পর্যন্ত সমগ্র অ্যাপ্লিকেশন জীবনচক্রের অংশ। ক্লাউড নেটিভ সিকিউরিটি ক্লাউড নেটিভ এনভায়রনমেন্টের বিবরণ, যথা দ্রুত কোড পরিবর্তন এবং অত্যন্ত ক্ষণস্থায়ী অবকাঠামোর সাথে খাপ খাওয়ানোর সময় প্রথাগত নিরাপত্তা মডেলের মতো একই মান নিশ্চিত করতে চায়। ক্লাউড নেটিভ নিরাপত্তা DevSecOps নামক অনুশীলনের সাথে অত্যন্ত সম্পর্কিত। এটা যেসব সমস্যাতে দৃষ্টিপাত করে প্রথাগত নিরাপত্তা মডেলগুলি অনেকগুলি অনুমানের সাথে তৈরি করা হয়েছিল যা আর বৈধ নয়৷ ক্লাউড নেটিভ অ্যাপ্লিকেশানগুলি ঘন ঘন পরিবর্তিত হয়, প্রচুর সংখ্যক ওপেন সোর্স (Open-Source) টুল এবং লাইব্রেরি ব্যবহার করে, প্রায়শই বিক্রেতা-নিয়ন্ত্রিত পরিকাঠামোতে চালিত হয় এবং দ্রুত পরিকাঠামো পরিবর্তনের বিষয়। কোড পর্যালোচনা, দীর্ঘ মানের নিশ্চয়তা চক্র, হোস্ট-ভিত্তিক দুর্বলতা স্ক্যানিং, এবং শেষ মুহূর্তের নিরাপত্তা পর্যালোচনাগুলি ক্লাউড নেটিভ অ্যাপ্লিকেশনগুলির সাথে স্কেল (Scale) করতে পারে না।..
ক্লাউড নেটিভ অ্যাপস (Cloud Native Apps)
ক্লাউড নেটিভ অ্যাপ্লিকেশনগুলি বিশেষভাবে ক্লাউড কম্পিউটিং (Cloud Computing)-এ উদ্ভাবনের সুবিধা নেওয়ার জন্য ডিজাইন করা হয়েছে। এই অ্যাপ্লিকেশনগুলি তাদের নিজ নিজ ক্লাউড আর্কিটেকচারের সাথে সহজেই একত্রিত হয়, ক্লাউডের সংস্থান এবং স্কেলিং ক্ষমতার সুবিধা নিয়ে থাকে। এটি ক্লাউড কম্পিউটিং দ্বারা চালিত অবকাঠামোতে(infrastructure) উদ্ভাবনের সুবিধা গ্রহণকারী অ্যাপ্লিকেশনগুলিকেও বোঝায়। ক্লাউড নেটিভ অ্যাপ্লিকেশনগুলি আজকে এমন অ্যাপগুলিকে অন্তর্ভুক্ত করে যা একটি ক্লাউড প্রদানকারীর ডেটাসেন্টারে(data-center) এবং ক্লাউড নেটিভ প্ল্যাটফর্মে অন-প্রিমিসে(on-premise) চলে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে ঐতিহ্যগতভাবে, অন-প্রিমিস পরিবেশগুলি মোটামুটি পছন্দসই উপায়ে গণনা সংস্থান সরবরাহ করে। প্রতিটি ডেটাসেন্টারের(data-center) পরিষেবা ছিল যা নির্দিষ্ট পরিবেশে অ্যাপ্লিকেশনগুলিকে শক্তভাবে সংযুক্ত করে, প্রায়শই ভার্চুয়াল মেশিন (Virtual Machine) এবং পরিষেবার মতো অবকাঠামোর(infrastructure) জন্য ম্যানুয়াল প্রভিশনিংয়ের(manual provisioning) উপর অনেক বেশি নির্ভর করে। যার ফল স্বরূপ, ডেভেলপার এবং তাদের অ্যাপ্লিকেশনগুলিকে সেই নির্দিষ্ট ডেটা সেন্টারে সীমাবদ্ধ করে। ক্লাউডের জন্য ডিজাইন করা হয়নি এমন অ্যাপ্লিকেশনগুলি ক্লাউড পরিবেশের স্থিতিস্থাপকতা এবং স্কেলিং(scaling) ক্ষমতার সুবিধা নিতে পারে না। উদাহরণস্বরূপ, সঠিকভাবে শুরু করার জন্য ম্যানুয়াল হস্তক্ষেপের(manual intervention) প্রয়োজন এমন অ্যাপগুলি স্বয়ংক্রিয়ভাবে স্কেল(scale) করতে পারে না, অথবা ব্যর্থতার ক্ষেত্রে সেগুলি স্বয়ংক্রিয়ভাবে পুনরায় চালু করা যাবে না।..
ক্লাউড নেটিভ প্রযুক্তি (Cloud Native Technology)
ক্লাউড নেটিভ টেকনোলজি, ক্লাউড নেটিভ স্ট্যাক হিসেবেও উল্লেখ করা হয়, ক্লাউড নেটিভ অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত প্রযুক্তি। সরকারী, প্রাইভেট এবং হাইব্রিড ক্লাউডের মতো আধুনিক, গতিশীল পরিবেশে মাপযোগ্য অ্যাপ্লিকেশনগুলি তৈরি এবং চালানোর জন্য সংস্থাগুলিকে সক্ষম করে, তারা ‘ক্লাউডের প্রতিশ্রুতি’ বজায় রাখে এবং ক্লাউড কম্পিউটিং সুবিধাগুলি তাদের সম্পূর্ণরূপে লাভ করে। ক্লাউড কম্পিউটিং এবং কন্টেইনার, সার্ভিস মেশ, মাইক্রোসার্ভিসেস এবং অপরিবর্তনীয় অবকাঠামোর ক্ষমতাকে কাজে লাগানোর জন্য গ্রাউন্ড আপ থেকে ডিজাইন করা হয়েছে এই পদ্ধতির উদাহরণ।..
ক্লাউড নেটিভ শব্দকোষ
ক্লাউড নেটিভ শব্দকোষ ক্লাউড নেটিভ শব্দকোষের লক্ষ্য হলো ক্লাউড নেটিভ স্পেসকে ( যা এর জটিলতার জন্য কুখ্যাত ) সহজতর করে বোঝার জন্য লোকেদের জন্য, শুধুমাত্র প্রযুক্তিবিদদের জন্যই নয়, ব্যবসার দিকের লোকদের জন্যও। এটি অর্জন করার জন্য, আমরা সরলতার উপর ফোকাস করি (যেমন, বাজওয়ার্ড থেকে মুক্ত সহজ ভাষা, প্রযুক্তি ব্যবহার করে যে কেউ এর সাথে সম্পর্কিত হতে পারে এমন উদাহরণ, অপ্রয়োজনীয় বিবরণ বাদ দিয়ে)। শব্দকোষ হল CNCF বিজনেস ভ্যালু সাবকমিটি (BVS) এর নেতৃত্বে একটি প্রকল্প।..
ক্লায়েন্ট-সার্ভার স্থাপত্য (Client-Server Architecture)
একটি ক্লায়েন্ট-সার্ভার স্থাপত্য (Client-Server Architecture), যুক্তি (বা কোড) যা একটি অ্যাপ্লিকেশন তৈরি করে তা দুই বা ততোধিক উপাদানের মধ্যে বিভক্ত হয়ঃ একটি ক্লায়েন্ট যে কাজ করতে বলে (যেমন আপনার ওয়েব ব্রাউজারে চলমান জিমেইল ওয়েব অ্যাপ্লিকেশন), এবং এক বা একাধিক সার্ভার যা সেই অনুরোধটি পূরণ করে (যেমন “ইমেল পাঠান” পরিষেবাটি ক্লাউডে গুগল-এর কম্পিউটারে চলছে)। এই উদাহরণে, আপনার লেখা বহির্গামী ইমেল ক্লায়েন্ট দ্বারা পাঠানো হয় (আপনার ওয়েব ব্রাউজারে চলমান ওয়েব অ্যাপ্লিকেশন (web application)) একটি সার্ভারে (জিমেইল (gmail) এর কম্পিউটার, আপনার বহির্গামী মেইল (mail) তাদের প্রাপকদের কাছে প্রেরন করে)।..
ক্লাস্টার (Cluster)
একটি ক্লাস্টার হল কম্পিউটার বা অ্যাপ্লিকেশনগুলির একটি গ্রুপ যা একটি সাধারণ লক্ষ্যে একসাথে কাজ করে। ক্লাউড নেটিভ কম্পিউটিং প্রসঙ্গে, শব্দটি প্রায়শই কুবারনেটে প্রয়োগ করা হয়। একটি Kubernetes ক্লাস্টার হল পরিষেবাগুলির একটি সেট (বা কাজের চাপ) যা তাদের নিজস্ব পাত্রে চলে, সাধারণত বিভিন্ন মেশিনে। এই সমস্ত কন্টেইনারাইজড(Containerized) পরিষেবাগুলির সংগ্রহ, একটি নেটওয়ার্কের মাধ্যমে সংযুক্ত, একটি ক্লাস্টার প্রতিনিধিত্ব করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে একটি একক কম্পিউটারে চলা সফ্টওয়্যার ব্যর্থতার একটি একক পয়েন্ট উপস্থাপন করে — যদি সেই কম্পিউটারটি ক্র্যাশ হয়ে যায়, বা কেউ দুর্ঘটনাক্রমে পাওয়ার কেবলটি আনপ্লাগ করে, তবে কিছু ব্যবসা-সংক্রান্ত সমস্যা সিস্টেম অফলাইনে নেওয়া হতে পারে। এই কারণেই আধুনিক সফ্টওয়্যারগুলি সাধারণত ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন(Distributed application) হিসাবে তৈরি করা হয়, ক্লাস্টার হিসাবে একসাথে গ্রুপ করা হয়।..
ঘটনা প্রবাহ ( Event Streaming )
ঘটনা প্রবাহ হল এমন একটি পদ্ধতি যেখানে সফ্টওয়্যার একটি অ্যাপ্লিকেশন থেকে অন্য অ্যাপ্লিকেশনে ঘটনার তথ্য পাঠায় যাতে তারা কী করছে তা অবিরতভাবে যোগাযোগ করতে পারে। অন্য সমস্ত পরিষেবাতে যা করে তা সম্প্রচার করে এমন একটি পরিষেবার চিত্র নিন৷ একটি পরিষেবা দ্বারা নেওয়া প্রতিটি কার্যকলাপকে একটি ঘটনা হিসাবে উল্লেখ করা হয়, তাই ঘটনা প্রবাহ। উদাহরণস্বরূপ, NASDAQ প্রতি সেকেন্ডে স্টক এবং পণ্যের মূল্যের আপডেট পায়। আপনার যদি এমন একটি অ্যাপ্লিকেশন থাকে যা স্টকের একটি নির্দিষ্ট সেট নিরীক্ষণ করে, আপনি সেই তথ্যটি কাছাকাছি বর্তমান-সময়ে পেতে চাইবেন। ফাইন্যান্স একটি API প্রদান করে যা NASDAQ থেকে টেনে নেয় এবং তাদের অ্যাপ্লিকেশন থেকে তথ্য (বা ঘটনা) পাঠায় (বা প্রবাহ) যেকোন অ্যাপ্লিকেশনে যার সদস্যতা নেয়। যে তথ্য পাঠানো হচ্ছে সেই সাথে সেই তথ্যের পরিবর্তনগুলি (স্টকের দাম) ঘটনাগুলো যখন একটি অ্যাপ্লিকেশনে সেগুলি বিতরণ করে সেই প্রক্রিয়াটি ঘটনা প্রবাহ।..
ঘটনা-চালিত স্থাপত্য (Event-Driven Architecture)
ঘটনা চালিত স্থাপত্য হল একটি সফ্টওয়্যার স্থাপত্য যা ঘটনা তৈরি, প্রক্রিয়াকরণ এবং ব্যবহারকে প্রচার করে। একটি ঘটনা হল একটি অ্যাপ্লিকেশনের অবস্থার পরিবর্তন। উদাহরণস্বরূপ, একটি রাইড-শেয়ারিং অ্যাপে রাইডের প্রশংসা করা একটি ঘটনার প্রতিনিধিত্ব করে৷ এই স্থাপত্যটি এমন কাঠামো তৈরি করে যেখানে ঘটনাগুলো তাদের উৎস থেকে (অ্যাপটি একটি রাইডের অনুরোধ করে) থেকে পছন্দসই রিসিভারগুলিতে (আশেপাশে উপলব্ধ ড্রাইভারদের অ্যাপগুলি) সঠিকভাবে রুট করা যেতে পারে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে তথ্য যত বেশি বাস্তব সম্মত হয়, ঘটনাগুলো ক্যাপচার করা এবং উপযুক্ত সার্ভিস যা ঘটনার অনুরোধগুলি প্রক্রিয়া করে, তা নিশ্চিত করার জন্য নির্ভরযোগ্য উপায়গুলি খুঁজে পাওয়া ততবেশি চ্যালেঞ্জিং হয়ে উঠে।..
জিরো ট্রাস্ট আর্কিটেকচার (Zero Trust Architecture)
জিরো ট্রাস্ট আর্কিটেকচার আইটি সিস্টেমের ডিজাইন এবং বাস্তবায়নের জন্য একটি নির্ধারিত পন্থা যেখানে ‘ট্রাস্ট’(বিশ্বাস) সম্পূর্ণরূপে উপেক্ষা করা হয়। এই পন্থার মূল নীতি হল “বিশ্বাস নয়,সর্বদা যাচাই করা”,ডিভাইস বা সিস্টেম,সিস্টেমের অন্যান্য অংশের সাথে যোগাযোগ করার সময় সর্বদা নিজেকে প্রথমে যাচাই করে। বর্তমানে অনেক নেটওয়ার্কে,কর্পোরেট নেটওয়ার্কের মধ্যে থাকা সিস্টেম এবং ডিভাইসগুলি অবাধে একটি অন্যটির সাথে যোগাযোগ করতে পারে কারণ সিস্টেম এবং ডিভাইসগুলি কর্পোরেট নেটওয়ার্ক পরিধির বিশ্বস্ত সীমার মধ্যে আবদ্ধ থাকে। অন্যদিকে জিরো ট্রাস্ট আর্কিটেকচার বিপরীত পদ্ধতি অবলম্বন করে যেখানে নেটওয়ার্ক পরিধির মধ্যেই সিস্টেমের অংশগুলি কোন যোগাযোগ স্থাপনের জন্য প্রথমে যাচাইকরণ পর্যায় অতিক্রম করে।..
ট্রান্সপোর্ট লেয়ার সিকিউরিটি (Transport Layer Security )
ট্রান্সপোর্ট লেয়ার সিকিউরিটি (TLS) হল একটি প্রোটোকল যা একটি নেটওয়ার্কের মাধ্যমে যোগাযোগের বর্ধিত নিরাপত্তা প্রদানের জন্য ডিজাইন করা হয়েছে। এটি ইন্টারনেটের মাধ্যমে পাঠানো ডেটার নিরাপদ ডেলিভারি নিশ্চিত করে, সম্ভাব্য পর্যবেক্ষণ এবং/অথবা ডেটার পরিবর্তন এড়ানো। এই প্রোটোকলটি মেসেজিং, ই-মেইল ইত্যাদি অ্যাপ্লিকেশনে ব্যাপকভাবে ব্যবহৃত হয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে TLS ছাড়া, সংবেদনশীল তথ্য যেমন ব্রাউজিং অভ্যাস, ই-মেইল চিঠিপত্র, অনলাইন চ্যাট এবং কনফারেন্সিং কল ট্রান্সমিশনের সময় অন্যদের দ্বারা সহজেই সনাক্ত করা যায় এবং পরিবর্তন করা যায়। TLS সমর্থন করার জন্য সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশন সক্রিয় করা নিশ্চিত করে তাদের মধ্যে প্রেরিত ডেটা এনক্রিপ্ট করা হয় এবং তৃতীয় পক্ষের দ্বারা দেখা যায় না।..
ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন (Distributed Apps)
একটি ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন হল একটি অ্যাপ্লিকেশন যেখানে কার্যকারিতা একাধিক ছোট স্বাধীন অংশে বিভক্ত হয়। ডিস্ট্রিবিউটেড অ্যাপ্লিকেশনগুলো সাধারণত পৃথক মাইক্রোসার্ভিসগুলোর সমন্বয়ে গঠিত হয় যা বিশাল অ্যাপ্লিকেশনের মধ্যে বিভিন্ন উদ্বেগ পরিচালনা করে। একটি ক্লাউড নেটিভ পরিবেশে, পৃথক উপাদানগুলি সাধারণত একটি ক্লাস্টারে কন্টেইনার হিসাবে চালিত হয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে একটি একক কম্পিউটারে চলমান একটি অ্যাপ্লিকেশন ব্যর্থতার একক পয়েন্ট উপস্থাপন করে - যদি সেই কম্পিউটারটি ব্যর্থ হয়, অ্যাপ্লিকেশনটি অপ্রাপ্য হয়ে যায়। ডিস্ট্রিবিউটেড অ্যাপ্লিকেশনগুলো প্রায়শই মনোলিথিক অ্যাপ্লিকেশনের বিপরীতে থাকে। একটি মনোলিথিক অ্যাপ স্কেল করা কঠিন হতে পারে কারণ বিভিন্ন উপাদান স্বাধীনভাবে স্কেল করা যায় না। তারা বৃদ্ধির সাথে সাথে ডেভেলপারের গতিতেও টেনে আনতে পারে কারণ আরও ডেভেলপারদের একটি ভাগ করা কোডবেসে কাজ করতে হবে যার বাধ্যতামূলকভাবে সংজ্ঞায়িত সীমানা নেই।..
ডিস্ট্রিবিউটেড সিস্টেম (Distributed System)
একটি ডিস্ট্রিবিউটেড সিস্টেম হলো একটি নেটওয়ার্কের সাথে সংযুক্ত স্বায়ত্তশাসিত কম্পিউটিং উপাদানগুলোর একটি সংগ্রহ যা ব্যবহারকারীদের কাছে একটি একক সুসংগত সিস্টেম হিসাবে প্রদর্শিত হয়। সাধারণত নোড হিসাবে উল্লেখ করা হয়, এই উপাদানগুলো হার্ডওয়্যার ডিভাইস (যেমন কম্পিউটার, মোবাইল ফোন) বা সফ্টওয়্যার প্রক্রিয়া হতে পারে। নোডগুলো একটি সাধারণ লক্ষ্য অর্জনের জন্য প্রোগ্রাম করা হয় এবং সহযোগিতা করার জন্য, তারা নেটওয়ার্কে বার্তা বিনিময় করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে অনেক আধুনিক অ্যাপ্লিকেশন আজ এত বড় যে তাদের পরিচালনা করার জন্য সুপার কম্পিউটারের প্রয়োজন হবে। জিমেইল বা নেটফ্লিক্সের কথা ভাবুন। সম্পূর্ণ অ্যাপ্লিকেশন হোস্ট করার জন্য কোনো একক কম্পিউটার যথেষ্ট শক্তিশালী নয়। একাধিক কম্পিউটার সংযোগ করে, কম্পিউট শক্তি প্রায় সীমাহীন হয়ে যায়। ডিস্ট্রিবিউটেড কম্পিউটিং ছাড়া, আজকে আমরা অনেক অ্যাপ্লিকেশন উপর নির্ভরশীল হওয়া সম্ভব হবে না।..
ডেভওপস (DevOps)
ডেভওপস হল একটি পদ্ধতি যেখানে দলগুলি অ্যাপ্লিকেশন ডেভেলপমেন্ট থেকে প্রোডাকশন অপারেশন পর্যন্ত সম্পূর্ণ প্রক্রিয়ার পরিচালনা করে থাকে। এটি সাধারণ প্রযুক্তি থেকে উচ্চ পর্যায় রয়েছে এবং সাধারণ ধরন থেকে আলাদা হয়। ডেভওপস প্রকৌশলীদের দলদের জন্য আহ্বান করে যারা ছোট উপাদানগুলিতে কাজ করে (একটি সম্পূর্ণ বৈশিষ্ট্যের বিপরীতে), হ্যান্ডঅফগুলি হ্রাস করে – যা সাধারণ ভুলের কারন। এটা যেসব সমস্যাতে দৃষ্টিপাত করে ঐতিহ্যগতভাবে, জটিল সংস্থা শক্তভাবে মিলিত(Tightly coupled architectures) ও মনোলিথিক অ্যাপস(Monolithic apps) এর কাজ সাধারণত একাধিক দলের মধ্যে খণ্ডিত ছিল । এটি অসংখ্য হ্যান্ডঅফ এবং দীর্ঘ পরবর্তী সময় নেয়। প্রতিবার যখনই একটি উপাদান বা আপডেট প্রস্তুত ছিল, এটি পরবর্তী দলের জন্য একটি সারিতে স্থাপন করা হয়েছিল। যেহেতু ব্যক্তিরা কেবলমাত্র প্রকল্পের একটি ছোট অংশে কাজ করেছিল, এই পদ্ধতির ফলে মালিকানার অভাব দেখা দেয়। তাদের লক্ষ্য ছিল পরবর্তী দলের কাছে কাজটি পৌঁছে দেওয়া, গ্রাহকের কাছে সঠিক কার্যকারিতা সরবরাহ না করা যাকে অগ্রাধিকারগুলির একটি স্পষ্ট বিভ্রান্তি হিসেবে বলা যায়।..
ডেভসেকঅপ্স (DevSecOps)
ডেভসেকঅপ্স (DevSecOps) শব্দটি উন্নয়ন, কর্মক্ষম, এবং নিরাপত্তা দায়িত্বের সাংস্কৃতিক একীকরণকে বোঝায়। এটি ডেভেলপার এবং অপারেশনাল ওয়ার্কফ্লোতে ন্যূনতম কোনও ব্যাঘাত না করে সুরক্ষা অগ্রাধিকারগুলি অন্তর্ভুক্ত করতে ডেভঅপ্স (DevOps) পদ্ধতির প্রসারিত করে৷ ডেভঅপ্স-এর মতো, ডেভসেকঅপ্স হল একটি সাংস্কৃতিক পরিবর্তন, যা গৃহীত প্রযুক্তির দ্বারা ঠেলে দেওয়া হয়, অনন্য গ্রহণের পদ্ধতি সহ। এটা যেসব সমস্যাতে দৃষ্টিপাত করে ডেভঅপ্স অনুশীলনের মধ্যে রয়েছে অবিচ্ছিন্ন একীকরণ (continuous integration) এবং অবিচ্ছিন্ন স্থাপনা (continuous deployment) এবং অ্যাপ্লিকেশন বিকাশ এবং প্রকাশের চক্রকে ত্বরান্বিত করা। দুর্ভাগ্যবশত, স্বয়ংক্রিয় রিলিজ প্রক্রিয়া যা সমস্ত সাংগঠনিক স্টেকহোল্ডারদের যথাযথভাবে প্রতিনিধিত্ব করতে ব্যর্থ হয় তা বিদ্যমান সমস্যাগুলিকে আরও বাড়িয়ে তুলতে পারে। একটি প্রক্রিয়া যা নিরাপত্তার প্রয়োজন বিবেচনা না করে দ্রুত নতুন সফ্টওয়্যার প্রকাশ করে তা একটি প্রতিষ্ঠানের নিরাপত্তা ভঙ্গিকে অবনমিত করতে পারে।..
তথ্য কেন্দ্র (Data center)
একটি তথ্য কেন্দ্র হল একটি বিশেষ ভবন বা সুবিধা যা বিশেষভাবে হাউজ কম্পিউটার, প্রায়শই সার্ভারগুলির জন্য ডিজাইন করা হয়। তথ্য কেন্দ্রগুলি উচ্চ-গতির ইন্টারনেট লাইনের সাথে সংযুক্ত থাকে, বিশেষ করে তথ্য কেন্দ্রের ক্ষেত্রে ক্লাউড কম্পিউটিং উপর নির্ভর করে। বিভিন্ন ধরণের ঘটনাগুলির ক্ষেত্রেও তথ্য কেন্দ্র গুলোর ভবন রয়েছে পরিষেবা বজায় রাখার জন্য সরঞ্জাম রয়েছে, যেমন বিদ্যুৎ বিভ্রাটের সময় বিদ্যুৎ সরবরাহ করতে জেনারেটর, পাশাপাশি কম্পিউটার দ্বারা উত্পাদিত অতিরিক্ত তাপ মোকাবেলা করার জন্য শক্তিশালী শীতাতপ নিয়ন্ত্রণ ব্যবস্থা।..
নিরাপত্তা বিশৃঙ্খলা ইঞ্জিনিয়ারিং (Security Chaos Engineering)
নিরাপত্তা বিশৃঙ্খলা ইঞ্জিনিয়ারিং অথবা SCE বিশৃঙ্খলা ইঞ্জিনিয়ারিং এর উপর ভিত্তি করে একটি নিয়মানুবর্তিতা। কোলাহলপূর্ণ এবং দূষিত পরিস্থিতি সহ্য করার জন্য সিস্টেমের ক্ষমতার উপর আস্থা তৈরি করতে SCE একটি ডিসট্রিবিউটেড সিস্টেমে সক্রিয় নিরাপত্তা পরীক্ষা করে (proactive security experimentation)। নিরাপত্তা বিশৃঙ্খলা ইঞ্জিনিয়াররা এটি অর্জন করতে বৈজ্ঞানিক পদ্ধতি লুপ ব্যবহার করে, যার মধ্যে রয়েছে স্থির-স্থিতি (steady-state), হাইপোথিসিস, ক্রমাগত যাচাইকরণ, শিক্ষামূলক অভিজ্ঞতা (lesson learned) এবং প্রশমন (mitigation) বাস্তবায়ন। এটা যেসব সমস্যাতে দৃষ্টিপাত করে সাইট নির্ভরযোগ্যতা প্রকৌশলী (SREs) এবং সাইবার নিরাপত্তা প্রকৌশলীদের প্রধান অগ্রাধিকার হল শূন্য ডাউনটাইম অর্জন এবং ব্যবসায়িক প্রভাব কমানোর লক্ষ্যে যত দ্রুত সম্ভব পরিষেবা পুনরুদ্ধার করা। SRE এবং সাইবার সিকিউরিটি ইঞ্জিনিয়াররা প্রাক-ব্যর্থতা (pre-failure) এবং পরবর্তী ব্যর্থতার ঘটনা উভয় পরিস্থিতির সাথেই মোকাবেলা করে। বেশিরভাগ সিকিউরিটি ইস্যুগুলো দ্রুতসময়ে খুঁজে বের করা এবং তা সমাধান করা চ্যালেঞ্জিং, যেগুলো অ্যাপ্লিকেশন বা সিস্টেম কার্যকারিতাকে প্রভাবিত করে। উপরন্তু, নিরাপত্তা ঘটনাগুলি সাধারণত ডেভেলপমেন্টের সময় চিহ্নিত করা কঠিন।..
নির্ভরযোগ্যতা (Reliability)
একটি ক্লাউড নেটিভ দৃষ্টিকোণ থেকে,নির্ভরযোগ্যতা বোঝায় যে একটি সিস্টেম ব্যর্থতার প্রতি কত ভালো সাড়া দেয়। যদি আমাদের একটি বিতরণ ব্যবস্থা (distributed system) থাকে যা পরিকাঠামো পরিবর্তন এবং পৃথক উপাদানগুলি ব্যর্থ হওয়ার সাথে সাথে কাজ করতে থাকে তবে এটি নির্ভরযোগ্য। অন্য দিকে, যদি এটি সহজে ব্যর্থ হয় এবং অপারেটরদের এটি চালু রাখার জন্য স্বয়ং হস্তক্ষেপ করতে হয় তবে এটি অবিশ্বাস্য। ক্লাউড নেটিভ অ্যাপ্লিকেশনের (cloud native applications) লক্ষ্য হল সহজাতভাবে নির্ভরযোগ্য সিস্টেম তৈরি করা।..
নীল সবুজ স্থাপনা (Blue Green Deployment)
ন্যূনতম ডাউনটাইম সহ চলমান কম্পিউটার সিস্টেম আপডেট করার জন্য নীল-সবুজ স্থাপনা একটি কৌশল। অপারেটর দুটি পরিবেশ বজায় রাখে, যা “নীল” এবং “সবুজ” নামে ডাকা হয়। একটি প্রোডাকশন ট্র্যাফিক পরিবেশন করে (সংস্করণটি যেটি সেই সময় ব্যবহারকারীরা ব্যবহার করেন), যখন অন্যটি আপডেট করা হয়। একবার অ-সক্রিয় (সবুজ) পরিবেশে পরীক্ষা শেষ হয়ে গেলে, উৎপাদনে ট্র্যাফিক সুইচ ওভার করা হয় (প্রায়শই লোড ব্যালেন্সার ব্যবহারের মাধ্যমে)। মনে রাখবেন যে নীল-সবুজ স্থাপনার অর্থ হল সম্পূর্ণ পরিবেশ পরিবর্তন করা, একযোগে, অনেকগুলি পরিষেবা সমন্বিত করে। বিভ্রান্তিকরভাবে, কখনও কখনও শব্দটি একটি সিস্টেমের মধ্যে পৃথক পরিষেবার ক্ষেত্রে ব্যবহৃত হয়। এই অস্পষ্টতা এড়াতে, পৃথক উপাদান উল্লেখ করার সময় “শূন্য-ডাউনটাইম স্থাপনা (zero-downtime deployment)” শব্দটি পছন্দ করা হয়।..
নোড (Nodes)
একটি নোড হল এমন একটি কম্পিউটার, যা অন্য কম্পিউটার বা নোডগুলির সহযোগিতায় একটি সাধারণ কাজ সম্পাদন করে। উদাহরণস্বরূপ আপনার ল্যাপটপ, মোডেম এবং প্রিন্টারকে ধরা যেতে পারে। এই ডিভাইসগুলো আপনার ওয়াইফাই নেটওয়ার্কের মাধ্যমে সংযোগ স্থাপন করে এবং একত্রে কাজ করে, প্রতিটি একটি নোডের প্রতিনিধিত্ব করে। ক্লাউড কম্পিউটিং এ, একটি নোড হতে পারে একটি ফিজিক্যাল কম্পিউটার, ভার্চুয়াল মেশিন নামে পরিচিত একটি ভার্চুয়াল কম্পিউটার বা একটি কন্টেনার। এটা যেসব সমস্যাতে দৃষ্টিপাত করে একটি অ্যাপ্লিকেশন একটি একক মেশিনে চালানো যেতে পারে (এবং অনেকে এটি করে থাকেন), তবে এর সাথে কিছু ঝুঁকি জড়িত থাকে। মৌলিক সিস্টেম ব্যর্থ হলে অ্যাপ্লিকেশনটি বিচ্ছিন্ন হয়ে যাওয়ার ঝুঁকি থাকে। এই সমস্যার সমাধানের জন্য, ডেভেলপাররা বিতরণকৃত অ্যাপ্লিকেশন তৈরি করতে শুরু করেছেন যেখানে প্রতিটি প্রক্রিয়া নিজস্ব নোডে চলে। এইভাবে, নোডগুলি একটি একক গোষ্ঠীর(Group) অংশ হিসাবে অ্যাপ বা প্রক্রিয়াগুলি চালায় এবং একটি সাধারণ লক্ষ্য অর্জনের জন্য একটি ক্লাস্টার বা গোষ্ঠী গঠন করে।..
পড (Pod)
একটি কুবারনেটিস (Kubernetes) পরিবেশের মধ্যে, একটি পড সবচেয়ে মৌলিক স্থাপনযোগ্য ইউনিট হিসাবে কাজ করে । এটি কন্টেইনারাইজড অ্যাপ্লিকেশন স্থাপন এবং পরিচালনার জন্য একটি অপরিহার্য বিল্ডিং ব্লক হিসেবে প্রতিনিধিত্ব করে। প্রতিটি পড একটি একক অ্যাপ্লিকেশনের দৃষ্টান্ত ধারণ করে এবং এক বা একাধিক কন্টেইনার ধারণ করে রাখতে পারে। কুবারনেটিস একটি বৃহত্তর স্থাপনার অংশ হিসাবে পডগুলো পরিচালনা করে এবং প্রয়োজন অনুসারে পডগুলো উল্লম্বভাবে বা অনুভূমিকভাবে স্কেল করতে পারে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে যদিও কন্টেইনারগুলো সাধারণত স্বাধীন ইউনিট হিসাবে কাজ করে যা একটি নির্দিষ্ট কাজের চাপ পরিচালনা এবং নিয়ন্ত্রণ করে, তবুও এমন কিছু ক্ষেত্রে রয়েছে যখন কন্টেইনারগুলোকে সম্মিলিতভাবে যোগাযোগ এবং নিয়ন্ত্রণ করতে হয়।..
পরিষেবা (Service)
দয়া করে মনে রাখবেন যে আইটি (IT)-তে, পরিষেবার একাধিক অর্থ রয়েছে। এই সংজ্ঞায়, আমরা আরও ঐতিহ্যগত একটির উপর ফোকাস করব: মাইক্রোসার্ভিসের মতো পরিষেবা ৷ এমনকি যদি পরিষেবাগুলি মাইক্রোসার্ভিসেস থেকে আলাদা হয় তাও এটি সংক্ষিপ্ত এবং বিভিন্ন লোকের ভিন্ন মতামত থাকতে পারে। একটি উচ্চ-স্তরের সংজ্ঞার জন্য, আমরা তাদের একই হিসাবে বিবেচনা করব। অনুগ্রহ করে মাইক্রোসার্ভিস (মাইক্রোসার্ভিসেস আর্কিটেকচার) সংজ্ঞা পড়ুন ।..
পরিষেবা হিসেবে পরিকাঠামো (Infrastructure as a service)
পরিষেবা হিসেবে পরিকাঠামো অথবা IaaS হল একটি ক্লাউড কম্পিউটিং পরিষেবার আদল যেটি Pay as you go এর আদলে ফিজিক্যাল অথবা ভার্চুয়ালাইজড কম্পিউট, স্টোরেজ এবং প্রয়োজনে নেটওয়ার্ক রিসোর্স প্রদান করে। ক্লাউড প্রদানকারীরা হার্ডওয়্যার এবং সফটওয়্যার এর মালিক হন এবং পরিচালনা করেন যা গ্রাহকদের জন্য সরকারি ,ব্যক্তিগত কিংবা হাইব্রিড ক্লাউড স্থাপনায় উপলব্ধ। এটা যেসব সমস্যাতে দৃষ্টিপাত করে প্রথাগতভাবে সংস্থাগুলি প্রায়ই কার্যকর কম্পিউটিং সংস্থানের সংকুলান নিয়ে সমস্যায় পড়ে | এমনকি যদি এটি শুধুমাত্র 1% সময়ের জন্য প্রয়োজন হয় তবে সম্ভাব্য সর্বোচ্চ চাহিদার জন্য তথ্য কেন্দ্র তৈরি করতে হবে | কম চাহিদার সময় এই গণনা সংস্থাগুলি নিষ্ক্রিয় থাকে এবং যদি কাজের চাপ প্রত্যাশিত চাপেও ছাড়িয়ে যায় সেই কাজের চাপ প্রক্রিয়া করার জন্য কম্পিউটিং সংস্থানগুলির অভাব রয়েছে | স্কেলেবিলিটির এই অভাবের ফলে খরচ বেড়ে যায় এবং সম্পদের অপ্রয়োজনীয় ব্যবহার হয়।..
পর্যবেক্ষণযোগ্যতা (Observability)
পর্যবেক্ষণযোগ্যতা (Observability) হলো একটি সিস্টেমের বৈশিষ্ট্য যা ডিগ্রীকে সংজ্ঞায়িত করে যেখানে সিস্টেমটি কার্যযোগ্য অন্তর্দৃষ্টি (actionable insights) তৈরি করতে পারে। এটি ব্যবহারকারীদের এই বাহ্যিক আউটপুটগুলি থেকে একটি সিস্টেমের অবস্থা বুঝতে এবং (সংশোধনমূলক) পদক্ষেপ নিতে দেয়। কম্পিউটার সিস্টেমগুলো পরিমাপ করা হয় নিম্ন-স্তরের সংকেত যেমন সিপিইউ সময়, মেমরি, ডিস্ক স্পেস এবং উচ্চ-স্তরের এবং ব্যবসায়িক সংকেতগুলো পর্যবেক্ষণ করে যার মধ্যে রয়েছে এপিআই প্রতিক্রিয়া সময়, ত্রুটি, প্রতি সেকেন্ডে লেনদেন ইত্যাদি । এই পর্যবেক্ষণযোগ্য সিস্টেমগুলো পর্যবেক্ষণ করা হয় (বা মনিটর করা হয়) বিশেষ টুলসের মাধ্যমে, তথাকথিত পর্যবেক্ষণের টুল। এই টুলগুলির একটি তালিকা ক্লাউড নেটিভ ল্যান্ডস্কেপের পর্যবেক্ষণ বিভাগে দেখা যেতে পারে।..
পারস্পরিক পরিবহন স্তর নিরাপত্তা (Mutual Transport Layer Security)
মিউচুয়াল টিএলএস (এমটিএলএস) একটি প্রযুক্তি যা দুটি পরিষেবা এর মধ্যে প্রেরিত বার্তাগুলি প্রমাণীকরণ এবং এনক্রিপ্ট করতে ব্যবহৃত হয়। মিউচুয়াল টিএলএস একটি ট্রান্সপোর্ট লেয়ার সিকিউরিটি (টিএলএস) প্রোটোকল কিন্তু, শুধুমাত্র একটি সংযোগের পরিচয় যাচাই করার পরিবর্তে উভয় পক্ষকেই যাচাই করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে মাইক্রোপরিষেবা একটি নেটওয়ার্কের মাধ্যমে যোগাযোগ করে এবং আপনার ওয়াইফাই নেটওয়ার্কের মতো, সেই নেটওয়ার্কে যোগাযোগ ট্রান্সলেশনগুলি হ্যাক হতে পারে। এমটিএলএস নিশ্চিত করে যেন কোনও অননুমোদিত পক্ষ বৈধ অনুরোধ শুনতে বা নকল করতে পারে না।..
ফাংশন-এজ়-এ-সার্ভিস (Function as a Service) (FaaS)
ফাংশন-এজ়-এ-সার্ভিস একটি পরিষেবা হিসাবে ফাংশন (FaaS) হল এক প্রকার সার্ভারলেস ক্লাউড কম্পিউটিং সর্বিস যা ইভেন্টের প্রতিক্রিয়ায় কোড চালানোর অনুমতি দেয় জটিল অবকাঠামো বজায় না রেখে সাধারণত মাইক্রোসার্ভিসেস অ্যাপ্লিকেশন তৈরি এবং চালু করার সাথে যুক্ত। FaaS এর সাথে, ব্যবহারকারীরা শুধুমাত্র ফাংশন এবং ডেটা পরিচালনা করে যখন ক্লাউড প্রদানকারী অ্যাপ্লিকেশন পরিচালনা করে। এটি ডেভেলপারদের কোড চালু না থাকলে পরিষেবার জন্য অর্থ প্রদান না করে তাদের প্রয়োজনীয় ফাংশনগুলি পেতে অনুমতি দেয়। কিছু জনপ্রিয় FaaS উদাহরণের মধ্যে রয়েছে: Amazon’s AWS Lambda, Google Cloud Functions এবং Microsoft Azure Functions।..
বহনযোগ্যতা (Portability)
বহনযোগ্যতা হল একটি সফ্টওয়্যার বৈশিষ্ট্য এবং পুনঃব্যবহারযোগ্যতার একটি রূপ যা নির্দিষ্ট অপারেটিং পরিবেশে “আটকে যাওয়া” এড়াতে সাহায্য করে । যেমনঃ অপারেটিং সিস্টেম বা এ সংশ্লিষ্ট কোম্পানির পরিবেশে ক্লাউড প্রোভাইডার । প্রথাগতভাবে, সফ্টওয়্যার প্রায়ই নির্দিষ্ট পরিবেশের জন্য তৈরি করা হয় (যেমন এডব্লিউএস বা লিন্যাক্স)। অন্যদিকে, বহনযোগ্য সফ্টওয়্যারগুলি বিভিন্ন অপারেটিং পরিবেশে কাজ করে বড় কোন পরিবর্তনের প্রয়োজন ছাড়াই। একটি অ্যাপ্লিকেশন বহনযোগ্য বলে বিবেচিত হয় যদি এটিকে একটি নতুন পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য প্রয়োজনীয় প্রচেষ্টা যুক্তিসঙ্গত সীমার মধ্যে থাকে। “বহন করা (to port) " শব্দগুচ্ছের অর্থ হল সফ্টওয়্যার পরিবর্তন করা এবং এটিকে একটি ভিন্ন কম্পিউটার সিস্টেমে কাজ করার জন্য অভিযোজিত করা।..
বহু মালিকানা (Multitenancy)
বহু মালিকানা (multitenancy) (বা মাল্টি-টেনেন্সি (multi-tenancy)) একটি একক সফ্টওয়্যার (software) ইনস্টলেশনকে (installation) বোঝায় যা একাধিক ভাড়াটেদের পরিষেবা দেয়। ভাড়াটে হল একজন ব্যবহারকারী, অ্যাপ্লিকেশন (application), বা ব্যবহারকারী/অ্যাপ্লিকেশনের একটি গোষ্ঠী যারা তাদের নিজস্ব ডেটা সেটে (data set) কাজ করার জন্য সফ্টওয়্যারটি (software) ব্যবহার করে। এই ভাড়াটেরা ডেটা ভাগ করে না (যদি না মালিকের দ্বারা স্পষ্টভাবে নির্দেশ দেওয়া হয়) এবং এমনকি একে অপরের বিষয়ে সচেতন নাও হতে পারে। একজন ভাড়াটিয়া একটি একক লগইন আইডি (login ID) সহ একজন স্বাধীন ব্যবহারকারীর মতো ছোট হতে পারে — মনে করুন ব্যক্তিগত উৎপাদনশীলতা সফটওয়্যার (software) — বা হাজার হাজার লগইন আইডি (login IDs) সহ একটি সম্পূর্ণ কর্পোরেশনের মতো বড়, প্রতিটির নিজস্ব বিশেষাধিকার থাকলেও একাধিক উপায়ে আন্তঃসম্পর্কিত। বহু মালিকানা (multitenancy) সফ্টওয়্যার (software) উদাহরণগুলির মধ্যে রয়েছে গুগল মেইল (Google Mail), গুগল ডক্স (Google Docs), মাইক্রোসফ্ট অফিস ৩৬৫ (Microsoft Office 365), সেলসফোর্স সিআরএম (Salesforce CRM) এবং ড্রপবক্স (Dropbox), যা সম্পূর্ণ বা আংশিকভাবে বহু মালিকানা (multitenancy) সফ্টওয়্যার (software) হিসাবে শ্রেণীবদ্ধ করা হয়েছে।..
বেয়ার মেটাল মেশিন (Bare Metal Machine)
বেয়ার মেটাল(bare metal) বলতে একটি ফিজিক্যাল কম্পিউটারকে বোঝায়, আরও নির্দিষ্টভাবে একটি সার্ভার, যার একটি এবং শুধুমাত্র একটি অপারেটিং সিস্টেম রয়েছে। আধুনিক কম্পিউটিংয়ে পার্থক্যটি গুরুত্বপূর্ণ কারণ বেশিরভাগ সার্ভারগুলোই ভার্চুয়াল মেশিন। একটি ফিজিক্যাল সার্ভার সাধারণত শক্তিশালী হার্ডওয়্যার অন্তর্নির্মিত একটি মোটামুটি বড় কম্পিউটার। ভার্চুয়ালাইজেশন ছাড়া একটি অপারেটিং সিস্টেম ইনস্টল করা এবং সরাসরি ফিজিক্যাল হার্ডওয়্যারে অ্যাপ্লিকেশনটি চালানো কে, “বেয়ার মেটাল” এ চলমান হিসাবে উল্লেখ করা হয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে একটি অপারেটিং সিস্টেমকে একটি ফিজিক্যাল কম্পিউটারের সাথে যুগল করাই হলো কম্পিউটিং এর আসল প্যাটার্ন(pattern)। ফিজিক্যাল কম্পিউটারের সমস্ত সংস্থান সরাসরি অপারেটিং সিস্টেমে উপলব্ধ এবং কোন ভার্চুয়ালাইজেশন(virtualization) স্তর উপস্থিত না থাকার ফলে, হার্ডওয়্যারে অপারেটিং সিস্টেম নির্দেশাবলী অনুবাদ করার জন্য কোন কৃত্রিম বিলম্ব নেই।..
ভার্চুয়াল মেশিন (Virtual Machine)
ভার্চুয়াল মেশিন (Virtual Machine) হল একটি কম্পিউটার যার অপারেটিং সিস্টেম একটি নির্দিষ্ট হার্ডওয়্যারের সাথে আবদ্ধ নয়। একটি ফিজিক্যাল কম্পিউটারে, একাধিক ভার্চুয়াল কম্পিউটার বানাতে ভার্চুয়াল মেশিনগুলি ভার্চুয়ালাইজেশনের (Virtualization) উপর নির্ভরশীল। এই বিচ্ছেদটি সংস্থা এবং পরিকাঠামো প্রদানকারীদের অন্তর্নিহিত হার্ডওয়্যারকে প্রভাবিত না করে সহজেই ভার্চুয়াল মেশিন তৈরি এবং ধ্বংস করতে দেয়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে ভার্চুয়াল মেশিন ভার্চুয়ালাইজেশনের সুবিধা নেয়। যখন একটি বেয়ার-মেটাল (bare-metal) মেশিন শুধুমাত্র একটি নির্দিষ্ট অপারেটিং সিস্টেমের সাথে আবদ্ধ থাকে, তখন মেশিনের সম্পদগুলি (Hardware resources) কতটা ভালভাবে ব্যবহার করা যেতে পারে তা কিছুটা সীমিত। এছাড়াও, যখন একটি অপারেটিং সিস্টেম একটি একক ফিজিক্যাল মেশিনের সাথে আবদ্ধ থাকে, তখন তার উপস্থিতি সরাসরি সেই হার্ডওয়্যারের উপর নির্ভরশীল। রক্ষণাবেক্ষণ বা হার্ডওয়্যারের ব্যর্থতার কারণে যদি ফিজিক্যাল মেশিন অফলাইন হয়ে পরে, তাহলে অপারেটিং সিস্টেমও অফলাইন হয়ে যায়।..
ভার্চুয়ালাইজেশন (Virtualization)
ভার্চুয়ালাইজেশন, ক্লাউড নেটিভ কম্পিউটিং প্রসঙ্গে, একটি ফিজিক্যাল কম্পিউটার নেওয়ার প্রক্রিয়াকে বোঝায়, কখনও কখনও একটি সার্ভার বলা হয়, এবং এটি একাধিক বিচ্ছিন্ন অপারেটিং সিস্টেম চালানোর অনুমতি দেয়। সেই বিচ্ছিন্ন অপারেটিং সিস্টেম এবং তাদের ডেডিকেটেড কম্পিউট রিসোর্স (সিপিইউ, মেমরি এবং নেটওয়ার্ক) ভার্চুয়াল মেশিন বা ভিএম (VM) হিসাবে উল্লেখ করা হয়। যখন আমরা একটি ভার্চুয়াল মেশিন সম্পর্কে কথা বলি, তখন আমরা একটি সফ্টওয়্যার-সংজ্ঞায়িত কম্পিউটারের কথা বলছি। এমন কিছু দেখতে যা একটি বাস্তব কম্পিউটারের মতো কাজ করে, কিন্তু অন্যান্য ভার্চুয়াল মেশিনের সাথে হার্ডওয়্যার ভাগ করে৷ ক্লাউড কম্পিউটিং প্রাথমিকভাবে ভার্চুয়ালাইজেশন প্রযুক্তি দ্বারা চালিত। উদাহরণ হিসেবে, আপনি AWS থেকে একটি “কম্পিউটার” লিজ দিতে পারেন - সেই কম্পিউটারটি আসলে একটি VM।..
মনোলিথিক অ্যাপ (Monolithic Apps)
একটি মনোলিথিক অ্যাপ্লিকেশন একটি একক স্থাপনযোগ্য (deployable) প্রোগ্রামে সমস্ত কার্যকারিতা ধারণ করে। একটি অ্যাপ্লিকেশন তৈরি করার সময় এটি প্রায়শই শুরু করার সবচেয়ে সরল এবং সহজ পদ্ধতি। যাইহোক, একবার অ্যাপ্লিকেশন জটিলতায় বৃদ্ধি পেলে, মনোলিথগুলি বজায় রাখা কঠিন হয়ে উঠতে পারে। একই কোডবেসে আরও বেশি ডেভেলপার কাজ করার সাথে সাথে বিরোধপূর্ণ পরিবর্তনের সম্ভাবনা এবং ডেভেলপারদের মধ্যে আন্তঃব্যক্তিক যোগাযোগের প্রয়োজনীয়তা বৃদ্ধি পায়। এটি যেই সমস্যাটি নির্দেশ করে একটি অ্যাপ্লিকেশনকে মাইক্রোসার্ভিসে রূপান্তর করা হলে এর কার্যক্ষম ওভারহেড বৃদ্ধি পায় — পরীক্ষা, স্থাপন এবং চালিয়ে যেতে আরও অনেক কিছু রয়েছে। একটি প্রোডাক্টের জীবনচক্রের প্রথম দিকে, এই জটিলতাকে স্থগিত করা এবং প্রোডাক্টটি সফলভাবে নির্ধারিত না হওয়া পর্যন্ত একটি মনোলিথিক অ্যাপ্লিকেশন তৈরি করা সুবিধাজনক হতে পারে।..
মাইক্রোসার্ভিসেস আর্কিটেকচার (Microservices Architecture)
অ্যাপ্লিকেশন ডেভেলপমেন্টে (Application Development) একটি আধুনিক পন্থা হলো মাইক্রোসার্ভিস (Microservice), যা ক্লাউড নেটিভ (Cloud Native) প্রযুক্তির সুবিধা নেয়। যেখানে আধুনিক অ্যাপ্লিকেশনগুলি, যেমন নেটফ্লিক্স(netflix) একটি একক অ্যাপ এর মত দেখায় কিন্তু এটি আসলে অনেকগুলি ছোট ছোট সার্ভিসের একত্রিত রূপ, সবগুলি একে অপরের সাথে আবদ্ধ ভাবে কাজ করে চলেছে। এই ক্ষেত্রে, কোনো অ্যাপ এর একটি একক পেজ যা আমাদের search, authenticate এবং ভিডিও দেখতে অনুমতি দেয় তা আসলে অনেকগুলি ছোট ছোট সার্ভিস দ্বারা চালিত হয়, যেখানে এক একটি সার্ভিস এক একটি বৈশিষ্ট্য সামলায়। সংক্ষেপে, মাইক্রোসার্ভিস বলতে একটি এপ্লিকেশন আর্কিটেকচার প্যাটার্ন (Application Architecture Pattern) কে বোঝানো হয় যা মনোলিথিক এপ্লিকেশন (Monolithic Application) এর থেকে স্বাভাবিকত বিপরীত।..
মাপযোগ্যতা (Scalability)
মাপযোগ্যতা বলতে বোঝায় একটি সিস্টেম কতটা ভালোভাবে বৃদ্ধি করতে পারে। সিস্টেমের যা করা উচিত তা করার ক্ষমতাকে এটি বৃদ্ধি করে। উদাহরণস্বরূপ, একটি কুবারনেটিস (Kubernetes) ক্লাস্টার(cluster)স্কেল কন্টেইনারাইজড (containerized) অ্যাপের সংখ্যা বৃদ্ধি বা হ্রাস করে, কিন্তু সেই পরিমাপযোগ্যতা বিভিন্ন কারণের উপর নির্ভর করে। এটিতে কতগুলি নোড (nodes) রয়েছে, প্রতিটি নোড কতগুলি কন্টেইনার পরিচালনা করতে পারে এবং কন্ট্রোল প্যানেলটি কতগুলি রেকর্ড এবং অপারেশানের ভারবহন করতে পারে? একটি মাপযোগ্য সিস্টেম আরও ক্ষমতা যোগ করা সহজ করে তোলে। আমরা দুটি পরিমাপ পদ্ধতির মধ্যে পার্থক্য করি। একদিকে, অনুভূমিক পরিমাপ (horizontal scaling) রয়েছে যা বর্ধিত লোড পরিচালনা করতে আরও নোড যোগ করে। বিপরীতে, উল্লম্ব পরিমাপে (vertical scaling) পৃথক নোডগুলিকে আরও বেশি লেনদেন করার জন্য আরও শক্তিশালী করা হয় (যেমন একটি পৃথক মেশিনে আরও মেমরি বা CPU যোগ করে)। একটি মাপযোগ্য সিস্টেম সহজেই পরিবর্তন করতে এবং ব্যবহারকারীর চাহিদা মেটাতে সক্ষম।..
রানটাইম (Runtime)
সাধারণত একটি রানটাইম সফ্টওয়্যারের একটি অংশকে কার্যকর করে। এটি অন্তর্নিহিত অপারেটিং সিস্টেমের একটি অ্যাবস্ট্রাকশন যা প্রোগ্রামের কমান্ডগুলোকে অপারেটিং সিস্টেমের জন্য নিজ নিজ কাজে অনুবাদ করে দেয়। ক্লাউড নেটিভের প্রসঙ্গে, রানটাইম বলতে সাধারণত কন্টেইনার রানটাইমকে বোঝায়। একটি কন্টেইনার রানটাইম বিশেষভাবে ওপেন কন্টেইনার ইনিশিয়েটিভ এর নির্দেশনাকে বাস্তবায়ন করে যাতে ভিন্ন ভিন্ন কন্টেইনার অর্কেস্ট্রেশন প্রযুক্তির মাঝে সামঞ্জস্যপূর্ণ পরিচালনা নিশ্চিত করা যায়। এটা যেসব সমস্যাতে দৃষ্টিপাত করে একটি কন্টেইনার রানটাইমের অ্যাবস্ট্রাকশন ছাড়া, অ্যাপ্লিকেশনটিকে প্রতিটি অপারেটিং সিস্টেমের সমস্ত মেকানিক্সের সাথে মোকাবিলা করতে হবে, যা অ্যাপটি চালানোর জটিলতা বৃদ্ধি করবে।..
রোল-বেসড অ্যাক্সেস কন্ট্রোল (আরবিএসি) [Role-Based Access Control (RBAC)]
রোল-বেসড অ্যাক্সেস কন্ট্রোল (আরবিএসি) হলো একটি টিম বা বৃহত্তর সংস্থার মধ্যে ব্যবহারকারীদের ভূমিকার উপর ভিত্তি করে সিস্টেম, নেটওয়ার্ক বা রিসোর্সগুলোতে তাদের অ্যাক্সেস পরিচালনা করার একটি নিরাপত্তা পদ্ধতি। আরবিএসি আইটি অ্যাডমিনিস্ট্রেটরদেরকে সমস্ত ব্যবহারকারীদের জন্য একটি নির্দিষ্ট কাজের ফাংশন সহ অ্যাক্সেসের প্রয়োজনীয় স্তর শনাক্ত করার এবং সেই ব্যবহারকারীদের একটি পূর্বনির্ধারিত অনুমতির সেট সহ একটি ভূমিকা অর্পণ করার ক্ষমতা দেয়৷ । আরবিএসি ব্যবহার করে সংস্থাগুলো তাদের কর্মচারীদের তাদের ভূমিকা এবং দায়িত্ব অনুসারে বিভিন্ন স্তরের অ্যাক্সেস সরবরাহ করে থাকে ।..
শক্তভাবে সংযোজিত স্থাপত্য (Tightly Coupled Architectures)
শক্তভাবে সংযোজিত স্থাপত্য হল সেই ধরনের একটি স্থাপত্য শৈলী যেখানে বেশ কয়েকটি অ্যাপ্লিকেশন উপাদান পরস্পর নির্ভরশীল (শিথিল সংযোজিত স্থাপত্য) এর বিপরীত দৃষ্টান্ত। এর মানে হল যে একটি উপাদানের পরিবর্তন সম্ভবত অন্যান্য উপাদানগুলিকে প্রভাবিত করবে। এটি সাধারণতে শিথিল সংযোজিত স্থাপত্য শৈলীর চেয়ে বাস্তবায়ন করা সহজ, তবে ক্যাসকেডিং ব্যর্থতার জন্য একটি সিস্টেমকে আরও ঝুঁকিপূর্ণ করে তুলতে পারে। তাদের উপাদানগুলির সমন্বিত রোলআউটগুলিরও প্রয়োজন দেখা দেয় যা ডেভেলপারের উৎপাদনশীলতা কমিয়েে আনতে পারে। শক্তভাবে সংযোজিত স্থাপত্য প্রয়োগ আর্কিটেকচারগুলি তৈরি একটি মোটামুটি ঐতিহ্যবাহী উপায়। যদিও মাইক্রোসার্ভিস বিকাশের সমস্ত সেরা অনুশীলনের সাথে অগত্যা সামঞ্জস্যপূর্ণ নয় তবে তা নির্দিষ্ট পরিস্থিতিতে দরকারী হতে পারে...
শিথিল সংযোজিত স্থাপত্য (Loosely Coupled Architecture)
শিথিল সংযোজিত স্থাপত্য হল সেই ধরনের স্থাপত্যশৈলী যেখানে প্রতিটি পৃথক উপাদান স্বাধীনভাবে তৈরি হয় ( দৃঢ় সংবদ্ধ স্থাপত্য শৈলীর ঠিক বিপরীত )| অনেক সময় এর প্রতিটি উপাদানকে মাইক্রোসার্ভিসেস আর্কিটেকচার হিসেবে চিহ্নিত করা যায় যেগুলি এমনভাবে তৈরি করা হয় যাতে তা অন্য আরও বিভিন্ন পরিষেবার ব্যবহৃত হতে পারে, এই শৈলীটি সাধারণত দৃঢ় সংবদ্ধ শৈলী তুলনায় অনেক ধীর কিন্তু এর অনেকগুলি সুবিধা আছে বিশেষত অ্যাপ্লিকেশন স্কেল হিসেবে। শিথিল শৈলী দলগুলিকে তাদের বৈশিষ্ট্য উন্নয়নে, স্থাপনে এবং স্বাধীনভাবে স্কেল করার অনুমতি দেয় যার ফলে প্রতিষ্ঠান খুব দ্রুত পৃথক উপাদানের সঙ্গে সংযোগ স্থাপন করতে পারে| Application development অনেক গতিশীল হয় এবং দলগুলি তাদের সামর্থ্য অনুসারে নির্দিষ্ট প্রযুক্তির প্রতি দৃষ্টি নিবদ্ধ রেখে তৈরি হতে পারে।..
শিফট লেফট (Shift Left)
লেফট শিফটে লেফট একটি সফ্টওয়্যার ডেভেলপমেন্ট জীবনচক্রের প্রাথমিক পর্যায়গুলি বোঝায়, সফটওয়্যার জীবনচক্রকে এমন একটি লাইন হিসাবে বিবেচনা করো যেখানে পর্যায়গুলি বাম থেকে ডানে সম্পাদিত হয়। শিফট লেফট হ’ল সফ্টওয়্যার ডেভেলপমেন্ট জীবনচক্রের প্রথম দিকে পরীক্ষা, নিরাপত্তা বা অন্যান্য উন্নয়ন অনুশীলন বাস্তবায়নের অনুশীলন, শেষের দিকে না করে। যদিও প্রাথমিকভাবে পরীক্ষার প্রক্রিয়াটি উল্লেখ করার জন্য ব্যবহৃত হয়েছিল, শিফট লেফট এখন সফ্টওয়্যার ডেভেলপমেন্ট এবং DevOps এর অন্যান্য দিক যেমন নিরাপত্তা এবং স্থাপনার ক্ষেত্রেও প্রয়োগ করা যেতে পারে।..
শৈলী গাইড
এই শৈলী নির্দেশিকা আপনাকে শব্দকোষের শ্রোতা, সংজ্ঞা কাঠামো, প্রয়োজনীয় বিশদ স্তর এবং কীভাবে একটি সামঞ্জস্যপূর্ণ শৈলী বজায় রাখতে হয় তা বুঝতে সাহায্য করবে। ক্লাউড নেটিভ শব্দকোষ CNCF সংগ্রহস্থলের ডিফল্ট স্টাইল গাইড অনুসরণ করে। উপরন্তু, এটি নিম্নলিখিত নিয়ম অনুসরণ করে: সহজ, সহজলভ্য ভাষা ব্যবহার করুন, প্রযুক্তিগত শব্দবাক্য এবং বাজওয়ার্ড এড়িয়ে চলুন কথ্যভাষা এড়িয়ে চলুন আক্ষরিক এবং কংক্রিট ভাষা ব্যবহার করুন সংকোচন বাদ দিন প্যাসিভ ভয়েস অল্প ব্যবহার করুন একটি ইতিবাচক আকারে বাক্যাংশের বিবৃতিগুলোকে লক্ষ্য করুন কোটেশনের বাইরে কোনো বিস্ময় চিহ্ন নেই অতিরঞ্জিত করবেন না পুনরাবৃত্তি এড়িয়ে চলুন সংক্ষিপ্ত হোন শ্রোতা শব্দকোষটি প্রযুক্তিগত এবং অ-প্রযুক্তিগত দর্শকদের জন্য লেখা। অনুগ্রহ করে নিশ্চিত করুন যে সংজ্ঞাগুলো সহজ ভাষায় ব্যাখ্যা করা হয়েছে এবং প্রযুক্তিগত জ্ঞান গ্রহণ করবেন না। এই সম্পর্কে আরো নিচে সংজ্ঞায় দেখুন ।..
সাইট নির্ভরযোগ্যতা প্রকৌশল (Site Reliability Engineering)
সাইট রিলাইবিলিটি ইঞ্জিনিয়ারিং বা এসআরই এমন একটি শৃঙ্খলা যা অপারেশন এবং সফ্টওয়্যার ইঞ্জিনিয়ারিংকে একত্রিত করে। পরবর্তীটি বিশেষত অবকাঠামো এবং অপারেশন সমস্যাগুলিতে প্রয়োগ করা হয়। অর্থাৎ, পণ্য এর বৈশিষ্ট্য তৈরির পরিবর্তে, সাইট নির্ভরযোগ্যতা প্রকৌশলীরা অ্যাপ্লিকেশন চালানোর জন্য সিস্টেম তৈরি করে। ডেভঅপস এর সাথে মিল রয়েছে, তবে ডেভঅপস যখন উৎপাদনে কোড পাওয়ার দিকে মনোনিবেশ করে, এসআরই নিশ্চিত করে যে উৎপাদনে চলমান কোড যেন সঠিকভাবে কাজ করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করেে অ্যাপ্লিকেশনগুলি নির্ভরযোগ্যভাবে চালানো নিশ্চিত করার জন্য একাধিক ক্ষমতা প্রয়োজন, কর্মক্ষমতা পর্যবেক্ষণ, সতর্কতা, ডিবাগিং থেকে সমস্যা সমাধান পর্যন্ত। এগুলি ছাড়া, সিস্টেম অপারেটররা কেবল সমস্যার প্রতিক্রিয়া জানাতে পারে বনাম সেগুলি এড়ানোর দিকে সক্রিয়ভাবে কাজ করতে পারে..
সার্ভারহীন (Serverless)
সার্ভারলেস হল একটি ক্লাউড নেটিভ ডেভেলপমেন্ট মডেল যা ডেভেলপারদের সার্ভার পরিচালনা না করেই অ্যাপ্লিকেশন তৈরি এবং চালানোর অনুমতি দেয়। এখনও সার্ভারহীনে সার্ভার আছে, কিন্তু তারা অ্যাপ ডেভেলপমেন্ট থেকে বিমূর্ত(abstracted) দূরে। একজন ক্লাউড প্রদানকারী (cloud provider) সার্ভার পরিকাঠামোর প্রভিশনিং, রক্ষণাবেক্ষণ এবং স্কেলিং এর রুটিন কাজ পরিচালনা করে। ডেভেলপাররা তাদের কোড কেবল স্থাপনের (deployment) জন্য কন্টেইনার এ প্যাকেজ করতে পারে। একবার স্থাপন করা হয়ে গেলে, সার্ভারহীন অ্যাপগুলি চাহিদার (demand) প্রতি সাড়া দেয় এবং প্রয়োজন অনুসারে স্বয়ংক্রিয়ভাবে সার্ভারের ক্ষমতা বাড়ায় এবং কমায়। পাবলিক ক্লাউড প্রদানকারীদের সার্ভারহীন অফারগুলি সাধারণত একটি ইভেন্ট-চালিত (event-driven) এক্সিকিউশন মডেলের মাধ্যমে চাহিদা অনুযায়ী পরিমাপ করা হয়। ফলস্বরূপ, যখন একটি সার্ভারহীন ফাংশন নিষ্ক্রিয় বসে থাকে, তখন এটির জন্য কিছু খরচ হয় না।..
সার্ভিস ডিসকভারি (Service Discovery)
সার্ভিস ডিসকভারি হল পৃথক দৃষ্টান্ত খোঁজার প্রক্রিয়া যা একটি পরিষেবা তৈরি করে। একটি সার্ভিস ডিসকভারি সরঞ্জাম বিভিন্ন নোড বা শেষ পয়েন্টগুলির (endponint) হিসেব রাখে যা একটি পরিষেবা তৈরি করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে ক্লাউড নেটিভ স্থাপত্যগুলি গতিশীল এবং তরল, যার অর্থ তারা ক্রমাগত পরিবর্তনশীল। একটি কন্টেইনারাইজড (containerized) অ্যাপ(app) সম্ভবত তার জীবদ্দশায় একাধিকবার শুরু এবং বন্ধ হয়ে যাবে। প্রতিবার এটি ঘটলে, এটির একটি নতুন ঠিকানা থাকবে এবং যে কোনও অ্যাপ যেটি একে খুঁজে পেতে চায় তার নতুন অবস্থানের তথ্য সরবরাহ করার জন্য একটি সরঞ্জামের প্রয়োজন থাকবে ৷..
সার্ভিস প্রক্সি (Service Proxy)
একটি সার্ভিস প্রক্সি একটি প্রদত্ত পরিষেবাতে (service) বা সেখান থেকে ট্র্যাফিককে বাধা দেয়, এতে কিছু যুক্তি প্রয়োগ করে, তারপর সেই ট্র্যাফিকটিকে অন্য পরিষেবাতে অগ্রস্থ করে। এটি মূলত একটি “গো-বিটুইন (go-between)” হিসাবে কাজ করে যা নেটওয়ার্ক ট্র্যাফিক সম্পর্কে তথ্য সংগ্রহ করে এবং/অথবা এটিতে নিয়ম প্রয়োগ করে। এটা যেসব সমস্যাতে দৃষ্টিপাত করে পরিষেবা যোগাযোগে পরিষেবার ট্র্যাক রাখতে (উপনাম নেটওয়ার্ক ট্র্যাফিক) এবং সম্ভাব্য রূপান্তর বা পুনঃনির্দেশ করতে, আমাদের ডেটা সংগ্রহ করতে হবে। ঐতিহ্যগতভাবে, ডেটা সংগ্রহ এবং নেটওয়ার্ক ট্রাফিক ব্যবস্থাপনা সক্ষম করে এমন কোড প্রতিটি অ্যাপ্লিকেশনের মধ্যে অনুবিদ্ধ(embedded)করা হয়েছিল।..
সার্ভিস মেশ (Service Mesh)
এটা কি একটি মাইক্রোপরিষেবা বিশ্বে, অ্যাপ্লিকেশনগুলি বেশ কয়েকটি ছোট পরিষেবা এ বিভক্ত যা একটি নেটওয়ার্কের মাধ্যমে যোগাযোগ করে। আপনার ওয়াইফাই নেটওয়ার্কের মতো, কম্পিউটার নেটওয়ার্কগুলি অভ্যন্তরীণভাবে অনির্ভরযোগ্য, হ্যাকযোগ্য এবং প্রায়শই ধীর। সার্ভিস মেশ এই নতুন চ্যালেঞ্জগুলির সমাধান করে পরিষেবাগুলির মধ্যে ট্র্যাফিক (যেমন, যোগাযোগ) পরিচালনা করে এবং নির্ভরযোগ্যতা, অবজারভেবিলিটি, এবং সমস্ত পরিষেবাজুড়ে সমানভাবে সুরক্ষা বৈশিষ্ট্য যুক্ত করে । এটা যেসব সমস্যাতে দৃষ্টিপাত করে মাইক্রোসার্ভিস আর্কিটেকচারে স্থানান্তর হওয়ার পরে, প্রকৌশলীরা এখন শত শত, সম্ভবত হাজার হাজার স্বতন্ত্র পরিষেবানিয়ে কাজ করছেন, যাদের সকলের যোগাযোগের প্রয়োজন। এর অর্থ হলো নেটওয়ার্কে প্রচুর ট্র্যাফিক সামনে এবং পিছনে যাচ্ছে। সর্বোপরি, পৃথক অ্যাপ্লিকেশনগুলোর যোগাযোগগুলি এনক্রিপ্ট করার প্রয়োজন হতে পারে নিয়ন্ত্রক প্রয়োজনীয়তাগুলি সমর্থন করার জন্য এবং অপারেশন টিমগুলিকে সাধারণ মেট্রিক্স সরবরাহ করতে পারে বা সমস্যাগুলি নির্ণয়ে সহায়তা করার জন্য ট্র্যাফিকের বিশদ অন্তর্দৃষ্টি সরবরাহ করতে পারে। পৃথক অ্যাপ্লিকেশনগুলিতে নির্মিত হলে, এই বৈশিষ্ট্যগুলির প্রতিটি দলগুলির মধ্যে ঘর্ষণ তৈরি করবে এবং নতুন বৈশিষ্ট্যগুলির বিকাশকে ধীর করবে।..
স্টেটফুল অ্যাপস (Stateful Apps)
যখন আমরা স্টেটফুল (এবং স্টেটলেস) অ্যাপগুলো সম্পর্কে বলি, স্টেট বলতে মূলত এমন ডেটাকে বুঝাই যা কোন অ্যাপ সচল রাখার জন্য সংরক্ষণ করতে হয়। উদাহরণস্বরূপ যেকোনো ধরনের অনলাইন শপ যা আপনার কার্টকে সংরক্ষন করে রাখে একটি স্টেটফুল অ্যাপ। আজকাল আমাদের ব্যবহার করা অধিকাংশ অ্যাপ্লিকেশন কমপক্ষে আংশিকভাবে স্টেটফুল । যদিও ক্লাউড নেটিভ পরিবেশে, স্টেটফুল অ্যাপস একটি চ্যালেঞ্জ। এর কারণ হলো ক্লাউড নেটিভ অ্যাপগুলো খুব গতিশীল। এগুলোকে উপরে এবং নীচে স্কেল করা যেতে পারে, রিস্টার্ট করা যেতে পারে , চারপাশে সরানো যেতে পারে কিন্তু তবুও তাদের স্টেট অ্যাক্সেস যোগ্য হওয়া দরকার।..
স্টেটলেস অ্যাপস (Stateless Apps)
স্টেটলেস অ্যাপ্লিকেশনগুলো অনুরোধগুলোকে এমনভাবে প্রক্রিয়া করে যেন প্রতিটি অনুরোধই প্রথম বার পাঠানো হয়েছে। অ্যাপটি ব্যবহারকারীর আগের ইন্টারঅ্যাকশন বা ব্যবহারকারীর সেশন ডেটা “মনে রাখে না”। পূর্ববর্তী ইন্টারঅ্যাকশন থেকে ডেটাকে স্টেট হিসাবে উল্লেখ করা হয় এবং যেহেতু সেই ডেটা কোথাও সংরক্ষণ করা হয় না, এই অ্যাপগুলো স্টেটলেস। এখানে একটি উদাহরণ দেওয়া হলো: আপনি যখন একটি সার্চ ইঞ্জিন ব্যবহার করেন, এবং সেই অনুসন্ধানটি বাধাগ্রস্ত হয় (যেমন, উইন্ডোটি বন্ধ হয়ে যায়), সেই অনুসন্ধান ফলাফলগুলো হারিয়ে যায় । তখন আপনাকে সব শুরু করতে হবে।..
স্ব নিরাময়(Self Healing)
একটি স্ব-নিরাময় ব্যবস্থা কোনও মানুষের হস্তক্ষেপ ছাড়াই নির্দিষ্ট ধরণের ব্যর্থতা থেকে পুনরুদ্ধার করতে সক্ষম। এটির একটি “অভিসৃতি(Convergence)” বা “নিয়ন্ত্রণ” লুপ রয়েছে যা সক্রিয়ভাবে সিস্টেমের প্রকৃত অবস্থা দেখে এবং অপারেটররা প্রাথমিকভাবে যে অবস্থায় চেয়েছিল তার সাথে তুলনা করে। যদি কোন পার্থক্য থাকে (যেমন, কাঙ্খিত(desired) তুলনায় অ্যাপ্লিকেশানের কম দৃষ্টান্ত(instances) চলছে), এটি সংশোধনমূলক ব্যবস্থা নেবে (যেমন, নতুন দৃষ্টান্ত তৈরি করা) |..