ক্লাউড ফাংশন দিয়ে শুরু করা

1. ওভারভিউ

Cloud-Functions.png

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

ক্লাউড ফাংশনগুলি বর্তমানে জাভাস্ক্রিপ্ট, পাইথন বা গোতে লেখা যেতে পারে। জাভাস্ক্রিপ্টের ক্ষেত্রে, তারা Google ক্লাউড প্ল্যাটফর্মে একটি Node.js পরিবেশে কার্যকর করে। আপনি আপনার ক্লাউড ফাংশনটি নিতে পারেন এবং এটিকে যেকোনো স্ট্যান্ডার্ড Node.js রানটাইমে চালাতে পারেন যা বহনযোগ্যতা এবং স্থানীয় পরীক্ষা উভয়ই একটি হাওয়ায় পরিণত করে।

ক্লাউড পরিষেবাগুলি সংযুক্ত করুন এবং প্রসারিত করুন৷

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

907ffb96feada611.png

ঘটনা এবং ট্রিগার

ক্লাউড ইভেন্টগুলি এমন জিনিস যা আপনার ক্লাউড পরিবেশে ঘটে৷ এগুলি হতে পারে ডাটাবেসের ডেটাতে পরিবর্তন, স্টোরেজ সিস্টেমে ফাইলগুলি যুক্ত করা বা একটি নতুন ভার্চুয়াল মেশিনের উদাহরণ তৈরি করা।

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

সার্ভারহীন

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

কেস ব্যবহার করুন

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

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

এই হ্যান্ডস-অন ল্যাব আপনাকে দেখায় কিভাবে Google ক্লাউড কনসোল ব্যবহার করে একটি ক্লাউড ফাংশন তৈরি, স্থাপন এবং পরীক্ষা করতে হয়। আপনি করবেন:

  • একটি ক্লাউড ফাংশন তৈরি করুন
  • স্থাপন এবং ফাংশন পরীক্ষা
  • লগ দেখুন

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ (যদি আপনার ইতিমধ্যেই একটি Gmail বা G Suite অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।)

dMbN6g9RawQj_VXCSYpdYncY-DbaRzr2GbnwoV7jFf1u3avxJtmGPmKpMYgiaMH-qu80a_NJ9p2IIXFppYk8x3wyymZXavjglNLJJhuXieCemXuD0pdYncY-DbaRzr2GbnwoV7jFf1u3avxJtmGPmKpMYgiaMH-qu80a_NJ9p2IIXFppYk8x3wyymZXavjglNLJJhuXieCemXuD0pdYncY5Gv3GU Zw

ci9Oe6PgnbNuSYlMyvbXF1JdQyiHoEgnhl4PlV_MFagm2ppzhueRkqX4eLjJllZco_2zCp0V0bpTupUSKji9KkQyWqj11pqit1K1faS1V6aFxLpGtQd5Q55

8-tA_Lheyo8SscAVKrGii2coplQp2_D1Iosb2ViABY0UUO1A8cimXUu6Wf1R9zJIRExL5OB2j946aIiFtyKTzxDcNnuznmR45vZ2HMoK3oK3o67gCu67jCGUJCGUX67j

প্রজেক্ট আইডিটি মনে রাখবেন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এটি পরে এই কোডল্যাবে PROJECT_ID হিসাবে উল্লেখ করা হবে।

  1. এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷

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

গুগল ক্লাউড শেল

যদিও Google ক্লাউড এবং ক্লাউড ফাংশনগুলি আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আমরা Google ক্লাউড শেল ব্যবহার করব, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে৷

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

  1. ক্লাউড কনসোল থেকে ক্লাউড শেল সক্রিয় করতে, কেবল ক্লাউড শেল সক্রিয় করুন ক্লিক করুন fEbHefbRynwXpq1vj2wJw6Dr17O0np8l-WOekxAZYlZQIORsWQE_xJl-cNhogjATLn-YxLVz8CgLvIW1Ncc0yXKJsfzJGMYgUeLsVBzxNg74Bg7fz7 kP-X3Q (পরিবেশের সাথে সংযোগ স্থাপন এবং সংযোগের জন্য এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে)।

I5aEsuNurCxHoDFjZRZrKBdarPPKPoKuExYpdagmdaOLKe7eig3DAKJitIKyuOpuwmrMAyZhp5AXpmD_k66cBuc1aUnWlJeSfo_aTKPY9aNMurhfeggN1NYp1NYp1CJ

স্ক্রীন শট 2017-06-14 10.13.43 PM.png এ

একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রকল্পটি ইতিমধ্যেই আপনার PROJECT_ID তে সেট করা আছে।

gcloud auth list

কমান্ড আউটপুট

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি, কোন কারণে, প্রকল্পটি সেট করা না হয়, কেবল নিম্নলিখিত কমান্ডটি জারি করুন:

gcloud config set project <PROJECT_ID>

আপনার PROJECT_ID খুঁজছেন? সেটআপ ধাপে আপনি কোন আইডি ব্যবহার করেছেন তা দেখুন বা ক্লাউড কনসোল ড্যাশবোর্ডে দেখুন:

R7chO4PKQfLC3bvFBNZJALLTUiCgyLEq_67ECX7ohs_0ZnSjC7GxDNxWrJJUaoM53LnqABYamrBJhCuXF-J9XBzuUgaz7VvaxNrkP2TAn93DrxBzuUgaz7VvaxNrkP2TAn93DrxX7ohs-5GZXH52T

ক্লাউড শেল ডিফল্টরূপে কিছু এনভায়রনমেন্ট ভেরিয়েবলও সেট করে, যা আপনার ভবিষ্যত কমান্ড চালানোর সময় কার্যকর হতে পারে।

echo $GOOGLE_CLOUD_PROJECT

কমান্ড আউটপুট

<PROJECT_ID>
  1. অবশেষে, ডিফল্ট জোন এবং প্রকল্প কনফিগারেশন সেট করুন।
gcloud config set compute/zone us-central1-f

আপনি বিভিন্ন জোন বিভিন্ন চয়ন করতে পারেন. আরও তথ্যের জন্য, অঞ্চল এবং অঞ্চল দেখুন।

3. একটি ফাংশন তৈরি করুন

এই ধাপে, আপনি কনসোল ব্যবহার করে একটি ক্লাউড ফাংশন তৈরি করতে যাচ্ছেন।

  • কনসোলে, নেভিগেশন মেনু > ক্লাউড ফাংশনগুলিতে ক্লিক করুন।

fe64222954f5f372.png

  • "ফাংশন তৈরি করুন" ক্লিক করুন:

7adca9640ca2e5a6.png

  • আপনার ফাংশন GCFunction নাম দিন এবং অন্যান্য ডিফল্ট রাখুন: মেমরি বরাদ্দ, ট্রিগার হিসাবে HTTP, ইনলাইন সম্পাদক, ডিফল্ট রানটাইম এবং ডিফল্ট নমুনা কোড।

795f1fedc0f039bb.png

  • এখনও "ফাংশন তৈরি করুন" ডায়ালগে, নীচে, ফাংশনটি স্থাপন করতে "তৈরি করুন" এ ক্লিক করুন:

b68c3647b771e6f9.png

আপনি তৈরি করুন ক্লিক করার পরে, কনসোলটি ক্লাউড ফাংশন ওভারভিউ পৃষ্ঠায় পুনঃনির্দেশ করে।

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

3ec684b1b4906657.png

তাই তো! আপনার ফাংশন এখন লাইভ এবং HTTP এর মাধ্যমে ট্রিগার করার জন্য প্রস্তুত।

4. ফাংশন পরীক্ষা করুন

ক্লাউড ফাংশন ওভারভিউ পৃষ্ঠায়, আপনার ফাংশনের জন্য মেনু প্রদর্শন করুন এবং টেস্ট ফাংশন ক্লিক করুন:

74e310ee6663bb3c.png

ট্রিগারিং ইভেন্ট ক্ষেত্রে, বন্ধনীগুলির মধ্যে নিম্নলিখিত পাঠ্যটি লিখুন {} এবং ফাংশন পরীক্ষা করুন ক্লিক করুন।

আউটপুট ক্ষেত্রে, আপনি সফল বার্তাটি দেখতে পাবেন: Hello World!

লগ ফিল্ডে, 200 এর একটি স্ট্যাটাস কোড সাফল্য নির্দেশ করে। নোট করুন যে লগগুলি প্রদর্শিত হতে এক মিনিট সময় লাগতে পারে৷

a876def9cbf24a45.png

5. ফাংশন লগ দেখুন

ক্লাউড ফাংশন ওভারভিউ পৃষ্ঠায় ফিরে যেতে নীল তীরটিতে ক্লিক করুন:

8917a2bfa4fb9502.png

আপনার ফাংশনের জন্য মেনু প্রদর্শন করুন, এবং লগ দেখুন ক্লিক করুন:

e97e6ec1fc17dfd7.png

এখানে লগ ইতিহাসের একটি উদাহরণ:

d91a00cf4457fa84.png

মনে রাখবেন যে আপনি প্রতি ফাংশন, প্রতি তীব্রতা অনুযায়ী লগ ফিল্টার করতে পারেন এবং একটি লেবেল বা কিছু ফ্রি-ফর্ম পাঠ্যের মাধ্যমে অনুসন্ধান করতে পারেন।

আপনার অ্যাপ্লিকেশন স্থাপন করা হয়েছে, পরীক্ষা করা হয়েছে এবং আপনি লগগুলি দেখতে সক্ষম হয়েছেন৷

6. পরিচ্ছন্নতার সংস্থান

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

আপনি যদি ফাংশনটি মুছতে চান, কেবলমাত্র ওভারভিউ পৃষ্ঠায় যান, ফাংশনটি নির্বাচন করুন এবং মুছুন ক্লিক করুন:

4fe11e1b41b32ba2.png

7. পরবর্তী কি

ক্লাউড ফাংশন আপনার জন্য সঞ্চয় আরো অনেক আছে! অন্যান্য কোডল্যাব এবং পণ্য পৃষ্ঠা এবং এর ডকুমেন্টেশন দেখুন।

এছাড়াও আপনি নিম্নলিখিত পরীক্ষা করা উচিত: