Rolling Update এবং Blue-Green Deployment

Deployment Strategies এবং Application Scaling - ওপেনশিফট (OpenShift) - Latest Technologies

280

Rolling Update এবং Blue-Green Deployment হল দুটি জনপ্রিয় Deployment Strategy যা OpenShift এবং Kubernetes-এ অ্যাপ্লিকেশন আপডেটের জন্য ব্যবহৃত হয়। নিচে উভয় কৌশলের সংজ্ঞা, বৈশিষ্ট্য, সুবিধা এবং কিছু উদাহরণ দেওয়া হলো।

১. Rolling Update

সংজ্ঞা

Rolling Update হল একটি Deployment Strategy যেখানে পুরানো Pods ধীরে ধীরে নতুন Pods দ্বারা প্রতিস্থাপিত হয়। এটি অ্যাপ্লিকেশন আপডেট করার একটি ধারাবাহিক এবং স্বচ্ছ উপায়, যা ডাউনটাইম কমিয়ে আনে।

বৈশিষ্ট্য

  • দীর্ঘস্থায়ী চলমানতা: কিছু Pods চলমান অবস্থায় থাকে, তাই ব্যবহারকারীরা পরিষেবাটি গ্রহণ অব্যাহত রাখতে পারেন।
  • ক্রমাগত আপডেট: ধাপে ধাপে আপডেট করা হয়, তাই একটি সময়ে একটি নির্দিষ্ট সংখ্যক Pods বন্ধ হয়।
  • নির্ধারিত প্যারামিটার: maxUnavailable এবং maxSurge প্যারামিটারগুলি কনফিগার করা যায়, যা নিয়ন্ত্রণ করে কতগুলি Pods আপডেট করা যাবে একসাথে।

সুবিধা

  • কম ডাউনটাইম: ব্যবহারকারীরা সেবা ব্যবহার করতে পারে যখন আপডেট চলমান থাকে।
  • সহজ রোলব্যাক: যদি নতুন সংস্করণে সমস্যা হয়, পুরানো Pods দ্রুত পুনরুদ্ধার করা যায়।

উদাহরণ YAML কনফিগারেশন

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-deployment
spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1  # সর্বাধিক 1টি Pod অনুপলব্ধ থাকতে পারে
      maxSurge: 1        # সর্বাধিক 1টি নতুন Pod একযোগে চালু হবে
  selector:
    matchLabels:
      app: example
  template:
    metadata:
      labels:
        app: example
    spec:
      containers:
        - name: example-container
          image: nginx:latest
          ports:
            - containerPort: 80

২. Blue-Green Deployment

সংজ্ঞা

Blue-Green Deployment হল একটি Deployment Strategy যেখানে দুটি পরিবেশ (Blue এবং Green) তৈরি করা হয়। একটি পরিবেশ বর্তমানে চলমান থাকে, যখন অপরটি নতুন সংস্করণের জন্য প্রস্তুত করা হয়। পরীক্ষার পর, ট্রাফিক নতুন পরিবেশে স্থানান্তর করা হয়।

বৈশিষ্ট্য

  • দুটি পৃথক পরিবেশ: Blue পরিবেশ (পুরানো সংস্করণ) এবং Green পরিবেশ (নতুন সংস্করণ) আলাদা থাকে।
  • পরীক্ষা করার সুযোগ: নতুন সংস্করণ চালু করার আগে Green পরিবেশে পরীক্ষা করা যায়।
  • নির্দেশনার ট্রাফিক: পরীক্ষা সফল হলে, সমস্ত ট্রাফিক Green পরিবেশে সরিয়ে নেওয়া হয়।

সুবিধা

  • শূন্য ডাউনটাইম: ব্যবহারকারীরা সেবার মধ্যে কোনও বিঘ্নের সম্মুখীন হয় না।
  • সহজ রোলব্যাক: যদি নতুন সংস্করণে সমস্যা হয়, দ্রুত পুরানো Blue পরিবেশে ফিরে যাওয়া যায়।

উদাহরণ YAML কনফিগারেশন

apiVersion: apps/v1
kind: Deployment
metadata:
  name: blue-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: example-blue
  template:
    metadata:
      labels:
        app: example-blue
    spec:
      containers:
        - name: example-container
          image: nginx:1.19  # পুরানো সংস্করণ
          ports:
            - containerPort: 80

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: green-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: example-green
  template:
    metadata:
      labels:
        app: example-green
    spec:
      containers:
        - name: example-container
          image: nginx:latest  # নতুন সংস্করণ
          ports:
            - containerPort: 80

সারসংক্ষেপ

Rolling Update এবং Blue-Green Deployment উভয়ই অ্যাপ্লিকেশন আপডেটের জন্য কার্যকর পদ্ধতি, তবে তাদের মধ্যে কিছু মূল পার্থক্য রয়েছে:

  • Rolling Update: ধাপে ধাপে আপডেট করে, পুরানো Pods ক্রমাগত চলমান থাকে এবং নতুন Pods ধীরে ধীরে যুক্ত হয়।
  • Blue-Green Deployment: দুটি আলাদা পরিবেশ তৈরি করে, যেখানে নতুন সংস্করণ সম্পূর্ণরূপে পরীক্ষার পরে ট্রাফিক পুনরায় নির্দেশ করা হয়।

প্রত্যেক কৌশলের নিজস্ব সুবিধা এবং ব্যবহার পরিস্থিতি রয়েছে, যা একটি সংস্থার প্রয়োজন অনুযায়ী নির্বাচন করা যেতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...