1. ওভারভিউ
Kubernetes-এ কাজ করার জন্য বিদ্যমান অ্যাপ্লিকেশানগুলিকে পুনঃলিখন বা পুনঃপ্রকৌশলী করা সর্বদা সম্ভব বা ম্যানুয়ালি করা সম্ভব নয়। Anthos এর জন্য মাইগ্রেট আপনার বিদ্যমান অ্যাপ্লিকেশনগুলিকে আধুনিকীকরণ করতে এবং সেগুলিকে Kubernetes-এ চালাতে সাহায্য করতে পারে৷ এই কোডল্যাবে, আপনি Anthos এর জন্য মাইগ্রেট ব্যবহার করে Compute Engine-এ হোস্ট করা একটি বিদ্যমান ওয়েব অ্যাপকে Kubernetes Engine-এ স্থানান্তর করবেন।
আপনি কি শিখবেন
- কুবারনেটস ক্লাস্টারে অ্যান্থোসের জন্য মাইগ্রেট কীভাবে স্থাপন করবেন
- একটি বিদ্যমান কম্পিউট ইঞ্জিন উদাহরণ থেকে একটি রাষ্ট্রীয় সেটে একটি ধারক কীভাবে তৈরি করবেন
- কিভাবে আপনার ধারকটি Kubernetes-এ স্থাপন করবেন এবং লোড ব্যালেন্সার দিয়ে কনফিগার করবেন
আপনি কি প্রয়োজন হবে
- বিলিং সেট আপ সহ একটি Google ক্লাউড প্রকল্প৷ আপনার যদি একটি না থাকে তবে আপনাকে একটি তৈরি করতে হবে।
2. সেট আপ করা হচ্ছে
এই কোডল্যাবটি সম্পূর্ণরূপে Google ক্লাউড প্ল্যাটফর্মে কোনো স্থানীয় ইনস্টলেশন বা কনফিগারেশন ছাড়াই চলতে পারে।
এপিআই সক্ষম করুন
শুরু করার আগে, আপনার Google ক্লাউড প্রকল্পে প্রয়োজনীয় API গুলি সক্ষম করার বিষয়টি নিশ্চিত করুন:
একটি কম্পিউট ইনস্ট্যান্স ওয়েব সার্ভার তৈরি করুন
আসুন একটি গণনা দৃষ্টান্ত তৈরি করি যা আমরা আমাদের প্রাথমিক nginx ওয়েব সার্ভার হোস্ট করার জন্য ব্যবহার করব, ফায়ারওয়াল নিয়মগুলির সাথে যা আমাদের ওয়েব সার্ভারের ডিফল্ট ল্যান্ডিং পৃষ্ঠাটি দেখার অনুমতি দেবে। আমরা এটি করতে পারি এমন কয়েকটি উপায় আছে, কিন্তু ব্যবহারের সহজতার জন্য, আমরা Cloud Shell ব্যবহার করব।
ক্লাউড শেলে নিম্নলিখিতগুলি চালান:
gcloud compute instances create webserver --zone=us-central1-a && \ gcloud compute firewall-rules create default-allow-http --allow=tcp:80
এই কমান্ডের প্রথমার্ধটি us-central1-a জোনে একটি Google ক্লাউড ইন্সট্যান্স তৈরি করবে যখন দ্বিতীয়ার্ধটি 'default-allow-http' নামে একটি ফায়ারওয়াল নিয়ম তৈরি করবে যা আমাদের নেটওয়ার্কে http ট্র্যাফিকের অনুমতি দেবে।
দৃষ্টান্তটি সফলভাবে তৈরি হলে, এটি উদাহরণের বিবরণ সহ একটি টেবিল প্রদর্শন করবে। বাহ্যিক আইপি নোট করুন - আমাদের ওয়েব সার্ভার পরবর্তীতে চলছে কিনা তা যাচাই করতে আমাদের এটির প্রয়োজন হবে।
একবার ইন্সট্যান্স চালু হয়ে গেলে আমরা ক্লাউড শেল থেকে আমাদের ইন্সট্যান্সে nginx ইনস্টল করতে এবং ওয়েব সার্ভার চালু করতে SSH করতে পারি:
gcloud compute ssh --zone us-central1-a webserver
একবার আমাদের কম্পিউট ইনস্ট্যান্সে লগ ইন করলে, nginx ইনস্টল করুন:
sudo apt install nginx
logout
কমান্ড দিয়ে ssh সেশন থেকে লগআউট করুন
আমাদের ব্রাউজারে আগে থেকে ইন্সট্যান্সের বাহ্যিক আইপি প্রবেশ করে আমাদের ওয়েব সার্ভার চলছে কিনা তা যাচাই করা যাক। আপনি ডিফল্ট nginx স্বাগত পর্দা দেখতে হবে:
এই ওয়েব সার্ভারটি লিগ্যাসি ওয়েব অ্যাপ হিসাবে কাজ করবে যা আমরা Anthos এর জন্য মাইগ্রেট ব্যবহার করে Kubernetes-এ স্থানান্তরিত করব।
3. অ্যান্থোসের জন্য মাইগ্রেট সহ কুবারনেটস ক্লাস্টার
এর পরে, আমরা একটি GKE ক্লাস্টার তৈরি করব যেখানে আমরা শেষ পর্যন্ত কম্পিউট ইঞ্জিন ওয়েব সার্ভার স্থানান্তর করব। ক্লাউড কনসোলে, নিম্নলিখিতগুলি চালান:
gcloud container clusters create my-gke-cluster \ --zone us-central1-a \ --cluster-version 1.13 \ --machine-type n1-standard-4 \ --image-type "UBUNTU" \ --num-nodes 1 \ --enable-stackdriver-kubernetes
এই কমান্ডটি সম্পূর্ণ করতে কয়েক মিনিট দিন। ক্লাস্টার তৈরি হয়ে গেলে, আপনি তার বিশদ বিবরণ সহ কিছু আউটপুট পাবেন:
এরপরে, অ্যান্থোসের জন্য মাইগ্রেট স্থাপন করতে GCP মার্কেটপ্লেসে নেভিগেট করুন:
অ্যান্থোসের জন্য মাইগ্রেটের মার্কেটপ্লেস পৃষ্ঠায়, কনফিগার ক্লিক করুন এবং যদি অনুরোধ করা হয়, তালিকা থেকে আপনার প্রকল্প নির্বাচন করুন। অগ্রগতি পৃষ্ঠাটি কিছু ডিফল্ট মান সন্নিবেশিত একটি ফর্ম উপস্থাপন করবে। নিশ্চিত করুন যে নির্বাচিত ক্লাস্টারটি আমরা এইমাত্র তৈরি করেছি এবং Deploy এ ক্লিক করুন:
অ্যান্থোসের জন্য মাইগ্রেট এখন আমাদের কুবারনেটস ক্লাস্টারে স্থাপন করা উচিত। এটি স্থাপন করা শেষ হলে, আপনি Kubernetes ইঞ্জিন অ্যাপ্লিকেশন পৃষ্ঠায় 'ঠিক আছে' একটি স্থিতি দেখতে পাবেন:
4. কম্পিউট ইনস্ট্যান্স থেকে স্টেটফুল সেট পর্যন্ত
আমরা অ্যান্থোসের জন্য মাইগ্রেট চালানোর একটি কুবারনেটস ক্লাস্টার পেয়েছি, তাই এখন আমরা মাইগ্রেশন প্রক্রিয়া শুরু করতে পারি। একটি Kubenetes ক্লাস্টারে আমাদের কম্পিউট ইন্সট্যান্স স্থাপন করার জন্য, আমরা আমাদের কম্পিউট ইঞ্জিন ইন্সট্যান্স বন্ধ করে দেব যাতে আমরা ডিস্কের স্ন্যাপশট নিতে পারি। এগিয়ে যাওয়ার আগে, ইনস্ট্যান্স আইডিটি নোট করুন, যা আমাদের পরে প্রয়োজন হবে:
gcloud compute instances describe webserver --zone us-central1-a | grep ^id
আসুন আমাদের গণনা দৃষ্টান্ত বন্ধ করা যাক:
gcloud compute instances stop webserver --zone us-central1-a
এখন যেহেতু উদাহরণটি বন্ধ করা হয়েছে আমরা নিম্নলিখিত স্ক্রিপ্টটি চালিয়ে নিরাপদে ডিস্কগুলি স্ন্যাপশট করতে সক্ষম হয়েছি। আপনার প্রজেক্ট আইডি এবং আপনার ইনস্ট্যান্স আইডি সন্নিবেশ করতে ভুলবেন না:
python3 /google/migrate/anthos/gce-to-gke/clone_vm_disks.py \ -p <project-id> -i <instance-id> \ -z us-central1-a \ -T us-central1-a \ -A webserver-statefulset \ -o containerized-webserver.yaml
এই পতাকাগুলির সাথে, clone_vm_disks.py
করবে:
- আপনার GCE উদাহরণ বন্ধ আছে যাচাই করুন
- আপনার প্রতিটি উদাহরণের ডিস্ক থেকে একটি স্ন্যাপশট তৈরি করুন
- প্রতিটি স্ন্যাপশট থেকে একটি নতুন ডিস্ক তৈরি করুন
- এটি তৈরি করা স্ন্যাপশটগুলি মুছুন
- আপনার ওয়েব সার্ভার হোস্ট করবে এমন একটি স্টেটফুল সেট স্থাপনের জন্য আপনার বর্তমান কাজের ডিরেক্টরিতে একটি YAML ফাইল তৈরি করুন
জেনারেট করা yaml ফাইলটি আমাদের kubernetes ক্লাস্টারে একটি স্টেটফুল সেটের ব্যবস্থা করবে, সাথে আমাদের ওয়েব সার্ভার কন্টেইনারে কপি করা ডিস্কগুলি মাউন্ট করার জন্য প্রয়োজনীয় ক্রমাগত ভলিউম দাবির সাথে। আমরা kubectl
এর সাথে এই পরিবর্তনগুলি প্রয়োগ করতে পারি:
kubectl apply -f containerized-webserver.yaml
ওয়ার্কলোড পৃষ্ঠায় ওয়েব সার্ভার-স্টেটফুলসেটের স্থিতি পরীক্ষা করুন:
kubectl apply
চালানোর পর কয়েক মিনিটের জন্য 'Pods are pending' স্ট্যাটাস পড়া স্বাভাবিক। স্ট্যাটাস 'ঠিক আছে' লেখা হলে এগিয়ে যান।
5. লোড ব্যালেন্সার ক্লাস্টার প্রকাশ করুন
এই মুহুর্তে, আমাদের Kubenetes ক্লাস্টারটি আমাদের ওয়েব সার্ভারকে একটি স্টেটফুল সেট হিসাবে চালাতে হবে, তবে আমাদের একটি বাহ্যিক IP ঠিকানার মাধ্যমে আমাদের ওয়েব সার্ভার অ্যাক্সেস করার জন্য একটি লোড ব্যালেন্সারের সাথে এর ধারকটি প্রকাশ করতে হবে। ক্লাউড শেলে, নিম্নলিখিত বিষয়বস্তু সহ loadbalancer.yaml
নামে একটি নতুন ফাইল তৈরি করুন:
loadbalancer.yaml
apiVersion: v1
kind: Service
metadata:
name: webserver-loadbalancer
spec:
type: LoadBalancer
selector:
app: webserver-statefulset
ports:
- protocol: TCP
port: 80
targetPort: 80
এবং এখন এটি kubectl
দিয়ে প্রয়োগ করুন:
kubectl apply -f loadbalancer.yaml
আমরা ওয়েব সার্ভার-কন্টেইনার পরিষেবার বাহ্যিক আইপি ঠিকানা পুনরুদ্ধার করতে kubectl ব্যবহার করতে পারি:
kubectl get services
যদি আমরা আমাদের ব্রাউজারে বাহ্যিক আইপি ঠিকানা লিখি, তাহলে আমাদের আগের থেকে একই ডিফল্ট nginx স্বাগতম স্ক্রীন পাওয়া উচিত:
আমরা এটা সম্পন্ন করেছি! আমাদের GCE ওয়েব সার্ভার এখন Kubernetes-এ হোস্ট করা হয়েছে! চমৎকার!
6. স্ট্যাকড্রাইভার পর্যবেক্ষণ
মেট্রিক্স
একটি পরিচালিত Kubernetes পরিষেবা হিসাবে, Kubernetes ইঞ্জিন স্বয়ংক্রিয়ভাবে স্ট্যাকড্রাইভারের সাথে লগিং এবং পর্যবেক্ষণ উভয়ের জন্যই ব্যবহৃত হয়। স্ট্যাকড্রাইভার স্বয়ংক্রিয়ভাবে আমাদের জন্য ক্যাপচার করে এমন কিছু মেট্রিক পরীক্ষা করে দেখি।
পণ্য মেনুতে মনিটরিং লিঙ্কে ক্লিক করুন - আপনার প্রকল্প থেকে প্রথমবার এটি অ্যাক্সেস করতে কয়েক মিনিট সময় লাগতে পারে যখন এটি আপনার কর্মক্ষেত্র সেট আপ করে।
একবার লোড হয়ে গেলে, বাম ফলকে রিসোর্সের উপর হোভার করুন এবং মেনু থেকে "কুবারনেটস ইঞ্জিন নতুন" নির্বাচন করুন।
এখানে উপস্থাপিত ড্যাশবোর্ডের প্রতিটি সারি একটি Kubernetes সম্পদ প্রতিনিধিত্ব করে। আপনি ড্যাশবোর্ডের উপরের লিঙ্কগুলির সাহায্যে অবকাঠামো, কাজের চাপ বা পরিষেবার দৃশ্যের মধ্যে স্যুইচ করতে পারেন।
ওয়ার্কলোড ভিউতে, 'my-gke-cluster' প্রসারিত করুন এবং ডিফল্ট > webserver-statefulset > webserver-statefulset-0 > webserver-statefulset-এ ড্রিল করুন। ওয়েব সার্ভার-স্টেটফুল সেট কন্টেইনারে ক্লিক করুন। এখানে আপনি মেমরি ব্যবহার এবং CPU ব্যবহার সহ স্ট্যাকড্রাইভার দ্বারা ক্যাপচার করা কিছু বাইরের মেট্রিক্স পাবেন।
এই ড্যাশবোর্ডে প্রদর্শিত চার্টগুলি আমরা একটি কাস্টম ড্যাশবোর্ড তৈরি করতে ব্যবহার করতে সক্ষম হব৷
কাস্টম ড্যাশবোর্ড
স্ট্যাকড্রাইভার আমাদের কাস্টম ড্যাশবোর্ড তৈরি করতে দেয় যা আমরা আমাদের কাছে উপলব্ধ যেকোনো মেট্রিক ডেটার জন্য চার্ট এবং গ্রাফ সংগঠিত করতে ব্যবহার করতে পারি। আমাদের ওয়েব সার্ভারের কিছু মেট্রিক্স এক নজরে দেখার জন্য একটি কাস্টম ড্যাশবোর্ড তৈরি করা যাক।
বাম দিকের প্যানে, ড্যাশবোর্ডের উপর হোভার করুন, তারপরে ড্যাশবোর্ড তৈরি করুন ক্লিক করুন।
এখন যেহেতু আমাদের খালি ড্যাশবোর্ড আছে, আমরা মেট্রিক্স যোগ করতে পারি যা আমরা নজর রাখতে চাই। আসুন আমাদের শিরোনামহীন ড্যাশবোর্ডকে 'মাই ওয়েব সার্ভার কন্টেনারস'-এর মতো একটি দরকারী নাম দিন এবং উপরের ডানদিকে 'চার্ট যোগ করুন'-এ ক্লিক করুন:
আউট-অফ-দ্য-বক্স মেট্রিক্স মনে রাখবেন? কন্টেইনার সিপিইউ ব্যবহারের জন্য একটি চার্ট যোগ করা যাক। চার্ট শিরোনামের ক্ষেত্রে, 'CPU ইউটিলাইজেশন' লিখুন। 'রিসোর্স টাইপ এবং মেট্রিক খুঁজুন'-এর বাক্সে রিকোয়েস্ট_ইউটিলাইজেশন টাইপ করুন এবং ফিল্টার করা তালিকা থেকে সিপিইউ রিকোয়েস্ট ইউটিলাইজেশন নির্বাচন করুন। এই নির্বাচন আমাদের জন্য রিসোর্স টাইপ এবং মেট্রিক ক্ষেত্র উভয়ই পূরণ করবে।
এর পরে, আমরা আমাদের প্রোজেক্ট_আইডি (যদি আমাদের একাধিক প্রকল্প থাকে) এবং ধারক_নাম দ্বারা ফিল্টার করতে চাই। ফিল্টার বাক্সে, project_id টাইপ করুন, ফিল্টার করা তালিকা থেকে এটি নির্বাচন করুন এবং মান ক্ষেত্রে আপনার প্রকল্প নির্বাচন করুন। আমাদের কন্টেইনার_নাম দ্বারাও ফিল্টার করতে হবে। ফিল্টার বক্সে, container_name টাইপ করুন, ফিল্টার করা তালিকা থেকে এটি নির্বাচন করুন এবং মান ক্ষেত্রে ওয়েব সার্ভার-স্টেটফুলসেট নির্বাচন করুন। Save এ ক্লিক করুন।
এখন আমাদের প্রথম চার্ট সহ একটি ড্যাশবোর্ড আছে।
7. আপটাইম চেক এবং সতর্কতা নীতি
স্ট্যাকড্রাইভারের সাহায্যে, কোনো মেট্রিক আমাদের নির্দিষ্ট করা কোনো থ্রেশহোল্ড মানকে আঘাত করলে আমাদের জানানোর জন্য আমরা সতর্কতা সেট আপ করতে পারি। উদাহরণ স্বরূপ, আমরা Stackdriver আমাদের ইমেল করতে পারি যখন শেষ ধাপ থেকে CPU ব্যবহার একটি নির্দিষ্ট থ্রেশহোল্ডের উপরে থাকে একটি স্থায়ী সময়ের জন্য, যা আমাদের অ্যাপে কোনো সমস্যা নির্দেশ করতে পারে। এই সতর্কতাগুলি দেখতে কেমন তা প্রদর্শন করতে, আসুন একটি আপটাইম চেক সেট আপ করি এবং তারপরে একটি বিভ্রাট অনুকরণ করি৷
বাম ফলক থেকে, আপটাইম চেক নির্বাচন করুন এবং তারপরে আপটাইম চেক ওভারভিউ নির্বাচন করুন:
আপটাইম চেক পৃষ্ঠার পরামর্শ অনুসারে, আসুন আমাদের প্রথম আপটাইম চেক সেট আপ করি। পৃষ্ঠার উপরের ডানদিকে অ্যাড আপটাইম চেক বোতামে ক্লিক করুন।
চলমান ফর্মে, শিরোনাম হিসাবে 'এন্ডপয়েন্ট আপটাইম' এবং হোস্টনাম হিসাবে আপনার লোড ব্যালেন্সারের বাহ্যিক আইপি ঠিকানা লিখুন।
সংরক্ষণ করুন ক্লিক করুন এবং আপনাকে একটি সহগামী সতর্কতা নীতি তৈরি করতে বলা হবে:
সতর্কতা নীতি তৈরি করুন ক্লিক করুন।
আসুন এই 'এন্ডপয়েন্ট আপটাইম পলিসি' নাম দিই। কনফিগারেশন বিভাগে, 'কন্ডিশন ট্রিগারস ইফ' সেট করুন 'যেকোনো সময় সিরিজ লঙ্ঘন করে' এবং সংরক্ষণ করুন ক্লিক করুন।
আমরা এখনও পুরোপুরি শেষ না. এর পরে, আমরা একটি বিজ্ঞপ্তি চ্যানেল নির্দিষ্ট করব যাতে আমাদের সতর্কতা নীতি লঙ্ঘন করা হলে আমরা বিজ্ঞপ্তি পাই। বিজ্ঞপ্তি চ্যানেল টাইপ ড্রপ-ডাউনে একটি বৈধ ইমেল ঠিকানা অনুসরণ করে ইমেল নির্বাচন করুন।
অ্যাড নোটিফিকেশন চ্যানেলে ক্লিক করুন। অবশেষে, ফর্মের নীচে, নীতির নাম দিন 'ওয়েব অ্যাপ আপটাইম' এবং সংরক্ষণ করুন ক্লিক করুন৷
একটি সতর্কতা দেখতে কেমন হবে তা দেখতে, আপনার ক্লাউড কনসোলে, আপনার ক্লাউড শেলটি আবার খুলুন৷ নিম্নলিখিত কমান্ডটি আমাদের ওয়েব সার্ভার পডে চলমান nginx পরিষেবা বন্ধ করবে:
kubectl exec -t webserver-statefulset-0 -- /bin/bash -c "nginx -s stop"
কয়েক মিনিট পরে, আপনি বিভ্রাট সম্পর্কে সতর্ক করে একটি ইমেল পাবেন:
এর পূর্বাবস্থায় যাক. আমাদের ক্লাউড শেলে ফিরে আসুন, nginx পুনরায় চালু করা যাক:
kubectl exec -t webserver-statefulset-0 -- /bin/bash -c "nginx"
কয়েক মিনিট পরে, আপনি আগের চেয়ে ভাল খবর সহ এই বার আরেকটি Stackdriver ইমেল পাবেন:
8. পরিষ্কার করা
এখন যেহেতু আমরা GCE থেকে GKE তে মাইগ্রেট ফর অ্যান্থোস এর সাথে স্থানান্তরিত করেছি, আসুন আমরা যে সমস্ত সংস্থান তৈরি করেছি সেগুলিকে পরিষ্কার করি।
প্রকল্পটি মুছুন
আপনি যদি চান, আপনি সম্পূর্ণ প্রকল্প মুছে ফেলতে পারেন. GCP কনসোলে, ক্লাউড রিসোর্স ম্যানেজার পৃষ্ঠায় যান:
প্রকল্প তালিকায়, আমরা যে প্রকল্পে কাজ করছি সেটি নির্বাচন করুন এবং মুছুন ক্লিক করুন। আপনাকে প্রজেক্ট আইডি টাইপ করতে বলা হবে। এটি লিখুন এবং শাট ডাউন ক্লিক করুন।
আপনি যদি একে একে বিভিন্ন উপাদান মুছে দিতে পছন্দ করেন তবে পরবর্তী বিভাগে যান।
স্ট্যাকড্রাইভার
ড্যাশবোর্ড
আপনার ড্যাশবোর্ড পৃষ্ঠা থেকে সেটিংস আইকনে ক্লিক করুন পৃষ্ঠার শীর্ষে এবং ড্যাশবোর্ড মুছুন নির্বাচন করুন।
সতর্কতা নীতি
নীতি পৃষ্ঠা থেকে, অ্যাকশন মেনু থেকে মুছুন নির্বাচন করুন আপনার তৈরি প্রতিটি নীতির জন্য ডানদিকে।
আপটাইম চেক
আপটাইম চেক পৃষ্ঠা থেকে, আপনার তৈরি করা প্রতিটি চেকের ডানদিকে অ্যাকশন মেনু থেকে মুছুন নির্বাচন করুন।
জিসিই এবং কুবারনেটস
গুগল কম্পিউট ইঞ্জিন উদাহরণ
gcloud compute instances delete webserver --zone=us-central1-a
কুবারনেটস ক্লাস্টার (অ্যান্টোসের জন্য মাইগ্রেট, স্টেটফুল সেট এবং লোড ব্যালেন্সার পরিষেবা অন্তর্ভুক্ত)
gcloud container clusters delete my-gke-cluster --zone=us-central1-a
ডিস্ক
আমাদের স্টেটফুল সেট আমাদের তৈরি একটি ডিস্ক ব্যবহার করেছে। নাম পুনরুদ্ধার করতে নিম্নলিখিত ব্যবহার করুন:
gcloud compute disks list --filter=webserver
আমার জায়গায় আপনার ডিস্কের নাম ব্যবহার করে, এটি দিয়ে মুছুন:
gcloud compute disks delete vls-690d-webserver --zone=us-central1-a
সব পরিষ্কার!
9. অভিনন্দন!
যাবার পথ! আপনি অ্যান্থোসের জন্য মাইগ্রেট ব্যবহার করে আপনার ওয়েব সার্ভারকে একটি GCE উদাহরণ থেকে একটি Kubernetes ক্লাস্টারে স্থানান্তরিত করেছেন।
আমরা কভার করেছি কি
- আমরা অ্যান্থোসের জন্য মাইগ্রেট ব্যবহার করে জিসিই থেকে একটি কুবারনেটস ক্লাস্টারে একটি ওয়েব সার্ভার স্থানান্তরিত করেছি
- আমরা একটি Kubernetes লোড ব্যালেন্সার পরিষেবার মাধ্যমে এটি উন্মুক্ত করে বিশ্বের কাছে আমাদের রাষ্ট্রীয় সেট ওয়েব সার্ভার খুলেছি।
- আমরা Stackdriver সক্ষম করেছি এবং একটি কাস্টম ড্যাশবোর্ড তৈরি করেছি
- আমাদের ওয়েব সার্ভার ডাউন হয়ে গেলে আমাদের জানাতে আমরা একটি সতর্কতা নীতি সহ একটি আপটাইম চেক কনফিগার করেছি