মডিউল 5: ক্লাউড বিল্ডপ্যাকগুলির সাথে Google অ্যাপ ইঞ্জিন থেকে ক্লাউড রানে স্থানান্তর করুন

1. ওভারভিউ

কোডল্যাবগুলির এই সিরিজের (স্ব-গতিসম্পন্ন, হাতে-কলমে টিউটোরিয়াল) লক্ষ্য হল Google অ্যাপ ইঞ্জিন (স্ট্যান্ডার্ড) বিকাশকারীদের তাদের অ্যাপ্লিকেশানগুলিকে একাধিক মাইগ্রেশনের মাধ্যমে গাইড করে তাদের আধুনিকীকরণে সহায়তা করা৷ একবার এটি সম্পন্ন হলে, ব্যবহারকারীরা তাদের অ্যাপগুলিকে স্পষ্টভাবে ক্লাউড রান , অ্যাপ ইঞ্জিনে Google ক্লাউডের কন্টেইনার-হোস্টিং বোন পরিষেবা এবং অন্যান্য কন্টেইনার-হোস্টিং পরিষেবাগুলির জন্য কন্টেইনারাইজ করার মাধ্যমে আরও পোর্টেবল করে তুলতে পারে৷

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

এই কোডল্যাবটি পাইথন 2 অ্যাপ ইঞ্জিন ডেভেলপারদের জন্য যারা তাদের অ্যাপগুলিকে মূল বিল্ট-ইন পরিষেবা থেকে দূরে সরিয়ে Python 3 এ পোর্ট করেছে এবং যারা এখন একটি পাত্রে চালাতে চাইছে। কোডল্যাব একটি সম্পূর্ণ মডিউল 2 বা মডিউল 3 পাইথন 3 অ্যাপ দিয়ে শুরু হয়।

আপনি কিভাবে শিখবেন

  • ক্লাউড বিল্ডপ্যাক ব্যবহার করে আপনার অ্যাপকে কন্টেইনারাইজ করুন
  • ক্লাউড রানে কন্টেইনার ইমেজ স্থাপন করুন

আপনি কি প্রয়োজন হবে

সমীক্ষা

আপনি কিভাবে এই কোডল্যাব ব্যবহার করবেন?

শুধুমাত্র এটি মাধ্যমে পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

2. পটভূমি

অ্যাপ ইঞ্জিন এবং ক্লাউড ফাংশনগুলির মতো PaaS সিস্টেমগুলি আপনার দল এবং অ্যাপ্লিকেশনের জন্য অনেক সুবিধা প্রদান করে। উদাহরণ স্বরূপ, এই সার্ভারবিহীন প্ল্যাটফর্মগুলি SysAdmin/Devops কে বিল্ডিং সমাধানগুলিতে ফোকাস করতে সক্ষম করে। আপনার অ্যাপ্লিকেশানটি প্রয়োজন অনুসারে অটোস্কেল করতে পারে, প্রতি-ব্যবহার-প্রতি-ব্যবহার বিলিংয়ের সাহায্যে খরচ নিয়ন্ত্রণে শূন্যে স্কেল করতে পারে এবং তারা বিভিন্ন সাধারণ উন্নয়ন ভাষা ব্যবহার করে।

যাইহোক, কন্টেইনারগুলির নমনীয়তাও বাধ্যতামূলক, যে কোনও ভাষা, যে কোনও লাইব্রেরি, যে কোনও বাইনারি বেছে নেওয়ার ক্ষমতা। ব্যবহারকারীদের উভয় জগতের সর্বোত্তম প্রদান, সার্ভারহীন সুবিধা এবং কনটেইনারগুলির নমনীয়তা, যা Google ক্লাউড রানের বিষয়।

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

পরিবর্তে, আপনাকে কনটেইনারগুলি সম্পর্কে কিছু শিখতে হবে যেমন কীভাবে সেগুলি তৈরি এবং স্থাপন করা যায়। আপনি একটি ওয়েব সার্ভার সহ কন্টেইনার ইমেজে কী রাখতে চান তাও আপনি সিদ্ধান্ত নিতে পারেন কারণ আপনি আর অ্যাপ ইঞ্জিনের ওয়েব সার্ভার ব্যবহার করবেন না। আপনি যদি এই পথটি অনুসরণ না করতে পছন্দ করেন তবে অ্যাপ ইঞ্জিনে আপনার অ্যাপগুলি রাখা খারাপ বিকল্প নয়।

এই টিউটোরিয়ালে, আপনি শিখবেন কীভাবে আপনার অ্যাপকে কনটেইনারাইজ করতে হয়, অ্যাপ ইঞ্জিন কনফিগারেশন ফাইলগুলি সরানো, একটি ওয়েব সার্ভার পরিচালনা করা সহ, আপনার অ্যাপ কীভাবে শুরু করবেন।

এই স্থানান্তর এই পদক্ষেপগুলি বৈশিষ্ট্যযুক্ত:

  1. সেটআপ/প্রিওয়ার্ক
  2. কন্টেইনারাইজ অ্যাপ্লিকেশন
    • কনফিগারেশন ফাইল প্রতিস্থাপন
    • অ্যাপ্লিকেশন ফাইলগুলি পরিবর্তন করুন

3. সেটআপ/প্রিওয়ার্ক

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

1. সেটআপ প্রকল্প

আপনি যদি মডিউল 2 বা মডিউল 3 কোডল্যাবগুলি সম্পন্ন করেন, আমরা সেই একই প্রকল্প (এবং কোড) পুনরায় ব্যবহার করার পরামর্শ দিই। বিকল্পভাবে, আপনি একটি একেবারে নতুন প্রকল্প তৈরি করতে পারেন বা অন্য একটি বিদ্যমান প্রকল্প পুনরায় ব্যবহার করতে পারেন। নিশ্চিত করুন যে প্রকল্পটির একটি সক্রিয় বিলিং অ্যাকাউন্ট আছে এবং অ্যাপ ইঞ্জিন (অ্যাপ) সক্ষম আছে।

2. বেসলাইন নমুনা অ্যাপ পান

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

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

START ফাইলগুলির ডিরেক্টরি (আপনার বা আমাদের) এইরকম হওয়া উচিত:

$ ls
README.md               main.py                 templates
app.yaml                requirements.txt

3. (পুনরায়) বেসলাইন অ্যাপ স্থাপন করুন

এখন চালানোর জন্য আপনার অবশিষ্ট প্রিওয়ার্ক পদক্ষেপগুলি:

  1. gcloud কমান্ড-লাইন টুলের সাথে নিজেকে পুনরায় পরিচিত করুন
  2. gcloud app deploy সাথে নমুনা অ্যাপটি পুনরায় স্থাপন করুন
  3. অ্যাপটি অ্যাপ ইঞ্জিনে সমস্যা ছাড়াই চলে তা নিশ্চিত করুন

একবার আপনি সফলভাবে এই পদক্ষেপগুলি কার্যকর করার পরে, আপনি এটিকে ধারণ করতে প্রস্তুত৷

4. কন্টেইনারাইজ অ্যাপ্লিকেশন

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

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

মাইগ্রেশন পদক্ষেপগুলির মধ্যে রয়েছে অ্যাপ ইঞ্জিন কনফিগারেশন ফাইলগুলি প্রতিস্থাপন করা এবং আপনার অ্যাপটি কীভাবে শুরু করা উচিত তা উল্লেখ করা। নীচে প্রতিটি প্ল্যাটফর্ম প্রকারের জন্য প্রত্যাশিত কনফিগারেশন ফাইলগুলির সংক্ষিপ্তসার একটি টেবিল রয়েছে৷ বিল্ডপ্যাক কলামের সাথে অ্যাপ ইঞ্জিন কলামের তুলনা করুন (এবং ঐচ্ছিকভাবে ডকার):

বর্ণনা

অ্যাপ ইঞ্জিন

ডকার

বিল্ডপ্যাকস

সাধারণ কনফিগারেশন

app.yaml

Dockerfile

( service.yaml )

তৃতীয় পক্ষের লাইব্রেরি

requirements.txt

requirements.txt

requirements.txt

তৃতীয় পক্ষের কনফিগারেশন

app.yaml (প্লাস appengine_config.py এবং lib [2.x-only])

(n/a)

(n/a)

স্টার্টআপ

(n/a) বা app.yaml (যদি entrypoint ব্যবহার করা হয়)

Dockerfile

Procfile

ফাইলগুলি উপেক্ষা করুন

.gcloudignore এবং .gitignore

.gcloudignore , .gitignore , এবং .dockerignore

.gcloudignore এবং .gitignore

একবার আপনার অ্যাপ কন্টেইনারাইজড হয়ে গেলে, এটি ক্লাউড রানে স্থাপন করা যেতে পারে। অন্যান্য Google ক্লাউড কন্টেইনার প্ল্যাটফর্ম বিকল্পগুলির মধ্যে রয়েছে Compute Engine , GKE , এবং Anthos

সাধারণ কনফিগারেশন

অ্যাপ ইঞ্জিন স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশন শুরু করে, কিন্তু ক্লাউড রান করে না। Procfile app.yaml entrypoint নির্দেশিকা হিসাবে একই ভূমিকা পালন করে। আমাদের নমুনা অ্যাপের জন্য, আমাদের Procfile ফ্লাস্ক ডেভেলপমেন্ট সার্ভার শুরু করতে python main.py চালাবে। আপনি চাইলে gunicorn এর মতো একটি প্রোডাকশন ওয়েব সার্ভারও ব্যবহার করতে পারেন, এবং যদি তা করেন, তাহলে এটাকে requirements.txt এ যোগ করতে ভুলবেন না। এই ক্লাউড রান ডক্স পৃষ্ঠা থেকে বিল্ডপ্যাকগুলি ব্যবহার করে সোর্স কোড থেকে কীভাবে স্থাপন করবেন সে সম্পর্কে আরও জানুন।

আপনাকে শুধুমাত্র আপনার app.yaml entrypoint নির্দেশিকাটিকে একটি Procfile এ সরাতে হবে। আপনার যদি একটি না থাকে, তাহলে আপাতত ফ্লাস্ক ডেভেলপমেন্ট সার্ভার ব্যবহার করুন কারণ এই মাইগ্রেশনের সাথে ব্যবহারকারীদের পরিচিত করার জন্য এটি একটি নমুনা পরীক্ষা অ্যাপ। আপনার অ্যাপটি হবে একটি নির্দিষ্ট স্টার্টআপ কমান্ড যা আপনি সবচেয়ে ভালো জানেন। কভারের নীচে, ক্লাউড রান পরিষেবা একটি service.yaml তৈরি করে যা দেখতে অনেকটা app.yaml এর মতো কাজ করে। আপনি এইরকম একটি লিঙ্কে গিয়ে স্বয়ংক্রিয়ভাবে জেনারেট করা service.yaml দেখতে পারেন কিন্তু আপনার পরিষেবা SVC_NAME এবং REGION জন্য: https://console.cloud.google.com/run/detail/REGION/SVC_NAME/yaml/view

তৃতীয় পক্ষের লাইব্রেরি

requirements.txt ফাইল পরিবর্তন করার প্রয়োজন নেই; আপনার ডেটাস্টোর ক্লায়েন্ট লাইব্রেরির সাথে ফ্লাস্ক থাকা উচিত (ক্লাউড ডেটাস্টোর বা ক্লাউড এনডিবি)। আপনি যদি Gunicorn-এর মতো অন্য একটি WSGI-সম্মত HTTP সার্ভার ব্যবহার করতে চান — এই লেখার সময় বর্তমান সংস্করণ হল 20.0.4 — তাহলে gunicorn==20.0.4 requirements.txt এ যোগ করুন।

তৃতীয় পক্ষের কনফিগারেশন

বিল্ডপ্যাকগুলি পাইথন 2 সমর্থন করে না, তাই আমরা এখানে এটি নিয়ে আলোচনা করব না। ক্লাউড রানের কন্টেইনারে চলমান Python 3 অ্যাপগুলি Python 3 অ্যাপ ইঞ্জিন অ্যাপগুলির মতো যে 3য়-পক্ষের লাইব্রেরিগুলি অবশ্যই requirements.txt এ নির্দিষ্ট করা উচিত।

স্টার্টআপ

Python 3 ব্যবহারকারীদের তাদের app.yaml ফাইলগুলিকে স্ক্রিপ্টের পরিবর্তে একটি entrypoint রূপান্তর করার বিকল্প রয়েছে: তাদের handlers বিভাগে script: auto নির্দেশাবলী। আপনি যদি আপনার Python 3 app.yamlentrypoint ব্যবহার করেন তবে এটি দেখতে এরকম কিছু হবে:

runtime: python38
entrypoint: python main.py

entrypoint নির্দেশিকা অ্যাপ ইঞ্জিনকে বলে যে কীভাবে আপনার সার্ভার শুরু করবেন। আপনি এটি প্রায় সরাসরি আপনার Procfile এ সরাতে পারেন। উভয় প্ল্যাটফর্মের মধ্যে একটি এন্ট্রিপয়েন্ট নির্দেশিকা কোথায় যাবে তা সংক্ষিপ্ত করা: এটি সরাসরি নীচের অনুবাদ করে; একটি FYI হিসাবে ডকার সমতুল্যও দেখাচ্ছে:

  • বিল্ডপ্যাকস: Procfile লাইন: web: python main.py
  • ডকার: Dockerfile লাইন: ENTRYPOINT ["python", "main.py"]

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

অ্যাপ্লিকেশন ফাইল

সমস্ত মডিউল 2 বা মডিউল 3 অ্যাপগুলি সম্পূর্ণরূপে পাইথন 2-3 সামঞ্জস্যপূর্ণ, যার অর্থ main.py এর মূল উপাদানগুলিতে কোনও পরিবর্তন নেই; আমরা শুধুমাত্র স্টার্টআপ কোডের কয়েকটি লাইন যোগ করব। ডেভেলপমেন্ট সার্ভার শুরু করতে main.py এর নীচে এক জোড়া লাইন যোগ করুন কারণ ক্লাউড রানের জন্য পোর্ট 8080 খোলা থাকা প্রয়োজন যাতে এটি আপনার অ্যাপকে কল করতে পারে:

if __name__ == '__main__':
    import os
    app.run(debug=True, threaded=True, host='0.0.0.0',
            port=int(os.environ.get('PORT', 8080)))

5. নির্মাণ এবং স্থাপন

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

পরিষেবা বনাম অ্যাপস

অ্যাপ ইঞ্জিন প্রাথমিকভাবে অ্যাপ্লিকেশান হোস্ট করার জন্য তৈরি করা হলেও, এটি মাইক্রোসার্ভিসের একটি সংগ্রহের সমন্বয়ে গঠিত ওয়েব পরিষেবা বা অ্যাপ্লিকেশন হোস্ট করার জন্য একটি প্ল্যাটফর্মও। ক্লাউড রানে, সবকিছুই একটি পরিষেবা, তা একটি প্রকৃত পরিষেবা হোক বা একটি ওয়েব ইন্টারফেস সহ একটি অ্যাপ্লিকেশন, তাই এটির ব্যবহারকে একটি অ্যাপ্লিকেশনের পরিবর্তে একটি পরিষেবার স্থাপনা হিসাবে বিবেচনা করুন৷

আপনার অ্যাপ ইঞ্জিন অ্যাপটি একাধিক পরিষেবার সমন্বয়ে গঠিত না হলে, আপনার অ্যাপ্লিকেশনগুলি স্থাপন করার সময় আপনাকে সত্যিই কোনো ধরনের নামকরণ করতে হবে না। এটি ক্লাউড রানের সাথে পরিবর্তিত হয় যেখানে আপনাকে একটি পরিষেবার নাম নিয়ে আসতে হবে৷ যেখানে একটি অ্যাপ ইঞ্জিনের appspot.com ডোমেনে তার প্রোজেক্ট আইডি রয়েছে, যেমন, https://PROJECT_ID.appspot.com এবং সম্ভবত এটি অঞ্চল আইডি সংক্ষিপ্ত রূপ, যেমন, http://PROJECT_ID.REGION_ID.r.appspot.com

যাইহোক, একটি ক্লাউড রান পরিষেবার জন্য ডোমেনে তার পরিষেবার নাম , অঞ্চলের আইডি সংক্ষিপ্ত রূপ এবং একটি হ্যাশ বৈশিষ্ট্যযুক্ত, কিন্তু প্রকল্প আইডি নয়, যেমন, https://SVC_NAME-HASH-REG_ABBR.a.run.app । নীচের লাইন, একটি পরিষেবার নাম চিন্তা করা শুরু করুন!

পরিষেবা স্থাপন করুন

আপনার কন্টেইনার ইমেজ তৈরি করতে এবং ক্লাউড রানে স্থাপন করতে নীচের কমান্ডটি চালান। প্রম্পট করা হলে, আপনার অঞ্চল নির্বাচন করুন এবং সহজ পরীক্ষার জন্য অননুমোদিত সংযোগগুলিকে অনুমতি দিন এবং উপযুক্ত হিসাবে আপনার অঞ্চল নির্বাচন করুন যেখানে SVC_NAME হল সেই পরিষেবাটির নাম যা আপনি স্থাপন করছেন৷

$ gcloud run deploy SVC_NAME --source .
Please choose a target platform:
 [1] Cloud Run (fully managed)
 [2] Cloud Run for Anthos deployed on Google Cloud
 [3] Cloud Run for Anthos deployed on VMware
 [4] cancel
Please enter your numeric choice:  1

To specify the platform yourself, pass `--platform managed`. Or, to make this the default target platform, run `gcloud config set run/platform managed`.

Please specify a region:
 [1] asia-east1
 [2] asia-east2
 [3] asia-northeast1
 [4] asia-northeast2
 [5] asia-northeast3
 [6] asia-south1
 [7] asia-southeast1
 [8] asia-southeast2
 [9] australia-southeast1
 [10] europe-north1
 [11] europe-west1
 [12] europe-west2
 [13] europe-west3
 [14] europe-west4
 [15] europe-west6
 [16] northamerica-northeast1
 [17] southamerica-east1
 [18] us-central1
 [19] us-east1
 [20] us-east4
 [21] us-west1
 [22] us-west2
 [23] us-west3
 [24] us-west4
 [25] cancel
Please enter your numeric choice: <select your numeric region choice>

To make this the default region, run `gcloud config set run/region REGION`.

Allow unauthenticated invocations to [SVC_NAME] (y/N)?  y

Building using Buildpacks and deploying container to Cloud Run service [SVC_NAME] in project [PROJECT_ID] region [REGION]
✓ Building and deploying... Done.
  ✓ Uploading sources...
  ✓ Building Container... Logs are available at [https://console.cloud.google.com/cloud-build/builds/BUILD-HASH?project=PROJECT_NUM].
  ✓ Creating Revision...
  ✓ Routing traffic...
Done.
Service [SVC_NAME] revision [SVC_NAME-00014-soc] has been deployed and is serving 100 percent of traffic.
Service URL: https://SVC_NAME-HASH-REG_ABBR.a.run.app

স্থাপন সফল হয়েছে নিশ্চিত করতে আপনার ব্রাউজারের সাথে নির্দিষ্ট URL-এ যান!

যেমন gcloud কমান্ড নির্দেশ করে, ব্যবহারকারীরা উপরে দেখানো হিসাবে আউটপুট এবং ইন্টারঅ্যাক্টিভিটি কমাতে বিভিন্ন ডিফল্ট সেটিংস সেট করতে পারেন। উদাহরণস্বরূপ, সমস্ত মিথস্ক্রিয়া এড়াতে, আপনি পরিবর্তে নিম্নলিখিত ওয়ান-লাইনার ডিপ্লোয় কমান্ড ব্যবহার করতে পারেন:

$ gcloud beta run deploy SVC_NAME --source . --platform managed --region REGION --allow-unauthenticated

আপনি যদি এটি ব্যবহার করেন, তবে একই পরিষেবার নাম SVC_NAME এবং পছন্দসই REGION নাম নির্বাচন করতে ভুলবেন না, সূচীকৃত মেনু নির্বাচন নয় যেভাবে আমরা উপরে ইন্টারেক্টিভভাবে করেছি৷

6. সারাংশ/পরিষ্কার

নিশ্চিত করুন যে অ্যাপটি ক্লাউড রানে অ্যাপ ইঞ্জিনের মতো কাজ করে। আপনি যদি পূর্ববর্তী কোডল্যাবগুলির কোনওটি না করে এই সিরিজে ঝাঁপিয়ে পড়েন তবে অ্যাপটি নিজেই পরিবর্তন হবে না; এটি মূল ওয়েব পৃষ্ঠায় সমস্ত পরিদর্শন নিবন্ধন করে ( / ) এবং আপনি একবার সাইটটিতে পর্যাপ্ত বার পরিদর্শন করার পরে এটির মতো দেখায়:

ভিজিটমি অ্যাপ

আপনার কোড এখন মডিউল 5 রেপো ফোল্ডারে যা আছে তার সাথে মেলে। এই মডিউল 5 কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।

ঐচ্ছিক: পরিষ্কার করুন

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

ঐচ্ছিক: পরিষেবা অক্ষম করুন

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

অন্যদিকে, আপনি যদি মাইগ্রেশন চালিয়ে যেতে না চান এবং সবকিছু সম্পূর্ণরূপে মুছে ফেলতে চান, আপনি হয় আপনার পরিষেবা মুছে ফেলতে পারেন বা আপনার প্রকল্প সম্পূর্ণরূপে বন্ধ করে দিতে পারেন

পরবর্তী পদক্ষেপ

অভিনন্দন, আপনি আপনার অ্যাপটি কন্টেইনারাইজ করেছেন, যা এই টিউটোরিয়ালটি শেষ করেছে! এখান থেকে, পরবর্তী ধাপ হল মডিউল 4 কোডল্যাবে (নীচের লিঙ্ক) বা অন্য অ্যাপ ইঞ্জিন মাইগ্রেশনের মাধ্যমে কীভাবে ডকারের সাথে একই জিনিসটি করা যায় সে সম্পর্কে শিখতে হবে:

  • মডিউল 4: ডকার দিয়ে ক্লাউড রানে মাইগ্রেট করুন
    • ক্লাউড রান উইথ ডকারে চালানোর জন্য আপনার অ্যাপটি কন্টেইনারাইজ করুন
    • আপনাকে পাইথন 2 এ থাকার অনুমতি দেয়
  • মডিউল 7: অ্যাপ ইঞ্জিন পুশ টাস্ক সারি (আপনি [পুশ] টাস্ক সারি ব্যবহার করলে প্রয়োজনীয়)
    • মডিউল 1 অ্যাপে অ্যাপ ইঞ্জিন taskqueue পুশ টাস্ক যোগ করে
    • মডিউল 8-এ ক্লাউড টাস্কে মাইগ্রেট করার জন্য ব্যবহারকারীদের প্রস্তুত করে
  • মডিউল 3:
    • ক্লাউড এনডিবি থেকে ক্লাউড ডেটাস্টোরে ডেটাস্টোর অ্যাক্সেসকে আধুনিক করুন
    • এটি পাইথন 3 অ্যাপ ইঞ্জিন অ্যাপ্লিকেশন এবং নন-অ্যাপ ইঞ্জিন অ্যাপ্লিকেশনগুলির জন্য ব্যবহৃত লাইব্রেরি
  • মডিউল 6: ক্লাউড ফায়ারস্টোরে মাইগ্রেট করুন
    • Firebase বৈশিষ্ট্যগুলি অ্যাক্সেস করতে ক্লাউড ফায়ারস্টোরে স্থানান্তর করুন৷
    • যদিও ক্লাউড ফায়ারস্টোর পাইথন 2 সমর্থন করে, এই কোডল্যাবটি শুধুমাত্র পাইথন 3 এ উপলব্ধ।

7. অতিরিক্ত সম্পদ

অ্যাপ ইঞ্জিন মাইগ্রেশন মডিউল কোডল্যাব সমস্যা/প্রতিক্রিয়া

আপনি যদি এই কোডল্যাবের সাথে কোনো সমস্যা খুঁজে পান, অনুগ্রহ করে ফাইল করার আগে প্রথমে আপনার সমস্যাটি অনুসন্ধান করুন। অনুসন্ধান এবং নতুন সমস্যা তৈরি করার লিঙ্ক:

মাইগ্রেশন সম্পদ

মডিউল 2 এবং 3 (START) এবং মডিউল 5 (FINISH) এর জন্য রেপো ফোল্ডারগুলির লিঙ্কগুলি নীচের টেবিলে পাওয়া যাবে। এগুলি সমস্ত অ্যাপ ইঞ্জিন কোডল্যাব মাইগ্রেশনের জন্য রেপো থেকে অ্যাক্সেস করা যেতে পারে যা আপনি একটি জিপ ফাইল ক্লোন বা ডাউনলোড করতে পারেন।

কোডল্যাব

পাইথন 2

পাইথন 3

মডিউল 2

কোড

( কোড )

মডিউল 3

( কোড )

কোড

মডিউল 5

(n/a)

কোড

অ্যাপ ইঞ্জিন এবং ক্লাউড রান সংস্থান

নীচে এই নির্দিষ্ট মাইগ্রেশন সম্পর্কিত অতিরিক্ত সংস্থান রয়েছে: