আইডিয়া থেকে লঞ্চ পর্যন্ত: ২০২৫ সালে গুগল ক্লাউডে আপনার প্রথম অ্যাপ্লিকেশন

১. নীলনকশা, ভিত্তি স্থাপন

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

গুগল ক্লাউড প্রজেক্ট কী?

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

যদিও আজ আমাদের লক্ষ্য একটি প্রকল্প, তবুও কোম্পানিগুলির ব্যবহৃত বৃহত্তর কাঠামোর মধ্যে এটি কোথায় খাপ খায় তা বোঝা সহায়ক। গুগল ক্লাউড সবকিছুকে একটি স্পষ্ট, উপরে থেকে নীচের স্তরক্রমের মধ্যে সংগঠিত করে।

Organization (The entire Corporation, e.g., "MegaCorp Inc.")
└── Folders (The Corporate Divisions, e.g., "Research & Development")
    ├── Project (A specific team's lab, e.g., "Project Phoenix - R&D")
    │   └── Resources (The tools in the lab, e.g., a specific server)
    └── Project (Another team's workshop, e.g., "Q4 Marketing Campaign")
        └── Resources (The tools for that campaign, e.g., a storage bucket)

উপরে থেকে নীচে পর্যন্ত সেই শ্রেণিবিন্যাসের স্তরগুলি এখানে দেওয়া হল:

  1. প্রতিষ্ঠানের নোড:
    • এটি হল সমগ্র কোম্পানির কর্পোরেট সদর দপ্তর (যেমন, yourcompany.com )। এটি একেবারে শীর্ষে অবস্থিত এবং এখানেই কোম্পানি-ব্যাপী নিরাপত্তা এবং বিলিং নীতি নির্ধারণ করা হয়। গুগল ক্লাউড ফ্রি ট্রায়ালের জন্য, আপনি সাধারণত কোনও অর্গানাইজেশন নোড ছাড়াই কাজ করেন, যা শেখার জন্য পুরোপুরি ঠিক।
  2. ফোল্ডার:
    • এগুলো হলো কর্পোরেশনের মধ্যে বিভাগ বা বিভাগ (যেমন, ইঞ্জিনিয়ারিং, ফিনান্স)। এগুলো হল একটি ঐচ্ছিক স্তর যা প্রকল্পগুলিকে গোষ্ঠীভুক্ত করতে এবং একসাথে সমগ্র দলগুলিতে নীতি প্রয়োগ করতে ব্যবহৃত হয়। আমরা এই কর্মশালায় ফোল্ডার ব্যবহার করব না।
  3. প্রকল্প (আমাদের লক্ষ্য):
    • এটি একটি নির্দিষ্ট টিমের ওয়ার্কশপ বা ল্যাব । এখানেই আসল কাজ হয় এবং এটি আমাদের ওয়ার্কশপের জন্য সবচেয়ে গুরুত্বপূর্ণ স্তর। আপনার তৈরি সমস্ত সংস্থান অবশ্যই একটি প্রকল্পের ভিতরে থাকতে হবে । একটি প্রকল্প হল সেই স্তর যেখানে আপনি API (পরিষেবা) সক্ষম করেন এবং একটি বিলিং অ্যাকাউন্ট লিঙ্ক করেন।
  4. সম্পদ:
    • এগুলো হলো ওয়ার্কশপের ভেতরে থাকা পৃথক টুলস এবং মেশিন । আমরা যে ক্লাউড রান অ্যাপ্লিকেশনটি স্থাপন করব তা হল একটি রিসোর্স। একটি ভার্চুয়াল মেশিন, একটি ডাটাবেস, অথবা একটি স্টোরেজ বাকেট হল রিসোর্সের উদাহরণ।

ব্যবহারিক: প্রকল্প তৈরি এবং কনফিগার করুন

  • আপনার ক্রেডিট দাবি করুন goo.gle/devfest-boston-ai/ । এবং Google ক্লাউড প্ল্যাটফর্ম পরিষেবার শর্তাবলী স্বীকার করুন। প্রয়োগ করার পরে, আপনি ক্রেডিট প্রয়োগ করা হয়েছে তা দেখানো বার্তাটি দেখতে পাবেন। ক্রেডিট প্রয়োগ করা হয়েছে
  • নেভিগেট করুন।
  • উপরের নেভিগেশন বারে, একটি প্রকল্প নির্বাচন করুন , তারপরে নতুন প্রকল্প ক্লিক করুন। প্রকল্প খুঁজুন
  • আপনার প্রকল্পের একটি অনন্য নাম দিন (যেমন, idea-to-launch-yourname ) এবং Create এ ক্লিক করুন। "No Organization" নির্বাচন করুন। নতুন প্রকল্প
  • পৃষ্ঠার উপরের ড্রপডাউন মেনু থেকে আপনার নতুন প্রকল্পটি নির্বাচন করা হয়েছে তা নিশ্চিত করুন।

বিলিং কেন এত গুরুত্বপূর্ণ?

একটি বিলিং অ্যাকাউন্ট হল আপনার প্রকল্পের আর্থিক মেরুদণ্ড; এটি "ফাইলে থাকা ক্রেডিট কার্ড" যা আপনার ব্যবহৃত সম্পদের জন্য অর্থ প্রদান করে। এই কর্মশালার জন্য, আপনি Google Cloud Free Trial ব্যবহার করছেন, যা আপনাকে বিনামূল্যে ক্রেডিট প্রদান করে। এটি একটি নিরাপদ, স্যান্ডবক্সযুক্ত পরিবেশ। আপনার ক্রেডিট ব্যবহার করার পরে বা ট্রায়ালের সময়কাল শেষ হওয়ার পরে আপনাকে স্বয়ংক্রিয়ভাবে চার্জ করা হবে না যদি না আপনি আপনার অ্যাকাউন্ট ম্যানুয়ালি আপগ্রেড করেন। বিলিং বোঝা খরচ নিয়ন্ত্রণের প্রথম পদক্ষেপ। বাজেট এবং সতর্কতা নির্ধারণের মতো সেরা অনুশীলনগুলি আপনার ব্যয় একটি নির্দিষ্ট সীমার কাছাকাছি পৌঁছালে আপনাকে ইমেল বিজ্ঞপ্তি পেতে দেয়, যা কোনও আশ্চর্য ঘটনা এড়ায়।

ব্যবহারিক: আপনার বিলিং অ্যাকাউন্ট লিঙ্ক করুন

  • এ যান।
  • একটি বিলিং অ্যাকাউন্ট লিঙ্ক করুন ক্লিক করুন। লিঙ্ক বিলিং
  • ড্রপডাউন থেকে Google Cloud Platform Trial Billing Account নির্বাচন করুন এবং Set account এ ক্লিক করুন। (যদি আপনি ড্রপডাউন মেনু দেখতে না পান, তাহলে ক্রেডিট প্রয়োগের জন্য এক মিনিট অপেক্ষা করুন এবং পৃষ্ঠাটি পুনরায় লোড করুন।)

ব্যবহারিক: একটি বাজেট সতর্কতা সেট করুন (সেরা অনুশীলন)

এখন যেহেতু আপনার বিলিং সক্রিয়, আসুন খরচ নিয়ন্ত্রণের জন্য একটি গুরুত্বপূর্ণ সর্বোত্তম অনুশীলন করি: একটি বাজেট নির্ধারণ করা। এটি পরিমাণ পৌঁছে গেলে আপনার পরিষেবা বন্ধ করে না ; পরিবর্তে, এটি আপনাকে ইমেল সতর্কতা পাঠায় যাতে আপনি সর্বদা আপনার ব্যয় সম্পর্কে সচেতন থাকেন।

  1. বিলিং পৃষ্ঠার বাম দিকের মেনুতে, বাজেট এবং সতর্কতা -এ ক্লিক করুন।
  2. পৃষ্ঠার উপরে, + CREATE Budget এ ক্লিক করুন। বাজেট তৈরি করুন
  3. আপনার বাজেটের নাম দিন: এটিকে Workshop-Alert এর মতো একটি সহজ নাম দিন।
  4. সুযোগ: ডিফল্ট সেটিংস ছেড়ে দিন, যেখানে আপনার বর্তমান প্রকল্পটি নির্বাচন করা উচিত। পরবর্তী ক্লিক করুন। বাজেট তৈরি করুন
  5. পরিমাণ: "বাজেটের পরিমাণ" বিভাগে, "পরিমাণের ধরণ" এর জন্য নির্দিষ্ট পরিমাণ নির্বাচন করুন। একটি কম পরিমাণ লিখুন, উদাহরণস্বরূপ, 10 এর অর্থ আমাদের বাজেট $10। পরবর্তী ক্লিক করুন। বাজেট তৈরি করুন
  6. পদক্ষেপ: এখানেই আপনি সতর্কতা সেট করবেন। ডিফল্টরূপে, এটি আপনার বাজেটের ৫০%, ৯০% এবং ১০০% ($৫, $৯, এবং $১০) অতিক্রম করলে সতর্কতা সেট করবে।
    • "ইমেল বিজ্ঞপ্তি" এর অধীনে, নিশ্চিত করুন যে বিলিং প্রশাসক এবং ব্যবহারকারীদের জন্য ইমেল সতর্কতাগুলি চেক করা আছে। এটি আপনার অ্যাকাউন্টের সাথে সম্পর্কিত ইমেল ঠিকানায় বিজ্ঞপ্তিগুলি প্রেরণ করবে।
  7. Finish এ ক্লিক করুন। বাজেট তৈরি করুন

আপনি এখন একটি সক্রিয় খরচ ব্যবস্থাপনা টুল সেট আপ করেছেন। বাস্তব-বিশ্বের প্রকল্পে, কোনও আর্থিক চমক না থাকার বিষয়টি নিশ্চিত করার জন্য এটি সবচেয়ে গুরুত্বপূর্ণ প্রথম পদক্ষেপগুলির মধ্যে একটি।

পরিষেবাগুলি কী এবং কেন আমরা সেগুলি সক্ষম করি?

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

পরিষেবার সংক্ষিপ্ত বিবরণ

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

একটি API সক্রিয় করার অর্থ হল আপনার ল্যাবের একটি নির্দিষ্ট ওয়ার্কস্টেশনে হেঁটে যাওয়া—যেমন "AI প্রোটোটাইপিং স্টেশন"—এবং এর প্রধান পাওয়ার সুইচটিকে "ON" অবস্থানে উল্টে দেওয়া।

কিন্তু কেন সবকিছু ডিফল্টভাবে বন্ধ থাকে? এটি বেশ কয়েকটি গুরুত্বপূর্ণ কারণে ইচ্ছাকৃতভাবে ডিজাইন করা হয়েছে:

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

ব্যবহারিক: আপনার পরিবেশ শুরু করুন

  1. Vertex AI, Cloud Run, Cloud Build এবং Compute API সক্ষম করুন:
    • API এর বিস্তারিত পৃষ্ঠায়, নীল "সক্রিয় করুন" বোতামে ক্লিক করুন। প্রক্রিয়াটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন। পরিষেবা সক্ষম করুন

2. আপনার আবেদন সুরক্ষিত করা: কে (বা কী) আপনার অ্যাপ নিয়ন্ত্রণ করতে পারে?

ধারণাগত ভূমিকা

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

এই সবকিছুই আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (IAM) দ্বারা পরিচালিত হয়।

  • IAM IAM-এর মূল সূত্রটি একটি সহজ কিন্তু শক্তিশালী নীতির উপর কাজ করে: কে কোন সম্পদে কী করতে পারে।
  • "কে" (প্রিন্সিপাল) এর দুই প্রকার আমাদের কর্মশালায় এখন পর্যন্ত, আমরা দুটি মৌলিক ধরণের পরিচয় দেখেছি:
    1. ব্যবহারকারীরা: এটা তুমি! একজন মানুষের সাথে সম্পর্কিত একটি পরিচয়, যেমন তোমার ব্যক্তিগত জিমেইল অ্যাকাউন্ট।
    2. পরিষেবা অ্যাকাউন্ট: এগুলি আপনার অ্যাপ্লিকেশন এবং পরিষেবাগুলির জন্য বিশেষ, অ-মানব পরিচয়। এগুলিকে আপনার কোডের জন্য একটি আইডি ব্যাজ হিসাবে ভাবুন। যখন একটি Google ক্লাউড পরিষেবা (যেমন ক্লাউড বিল্ড) অন্যটির সাথে ইন্টারঅ্যাক্ট করার প্রয়োজন হয় (যেমন একটি কন্টেইনার সংরক্ষণ করার জন্য আর্টিফ্যাক্ট রেজিস্ট্রি), তখন এটি তার পরিষেবা অ্যাকাউন্ট ব্যবহার করে প্রমাণ করে যে এটির অনুমতি আছে।

যখন আপনি কোনও অ্যাপ্লিকেশন স্থাপন করেছিলেন, তখন উভয় ধরণের পরিচয় ব্যবহার করা হয়েছিল:

  • আপনার ব্যবহারকারী অ্যাকাউন্টে স্থাপনা শুরু করার অনুমতি ছিল।
  • ক্লাউড বিল্ড পরিষেবার জন্য একটি পরিষেবা অ্যাকাউন্টকে আপনার কোড তৈরি করার এবং ফলস্বরূপ কন্টেইনারটি সংরক্ষণ করার অনুমতি দেওয়া হয়েছিল।

অ্যাক্সেস পরিচালনা করা

আসুন IAM কনসোল ব্যবহার করে আমাদের স্থাপনা সম্ভব করে তোলার অনুমতিগুলি অনুসন্ধান করি এবং তারপর অন্য ব্যবহারকারীকে নির্দিষ্ট অ্যাক্সেস প্রদান করি।

  1. তদন্ত: IAM কনসোলে যান
    • এ যান
    • এই পৃষ্ঠাটি আপনার প্রকল্পের নিরাপত্তা ড্যাশবোর্ড। এটি প্রতিটি "প্রিন্সিপাল" ("কে") তালিকাভুক্ত করে যাদের আপনার প্রকল্পে যেকোনো স্তরের অ্যাক্সেস রয়েছে।
  2. আপনার পরিচয় খুঁজুন (ব্যবহারকারী)
    • প্রিন্সিপালদের তালিকায়, আপনার নিজস্ব ইমেল ঠিকানা খুঁজুন। লক্ষ্য করুন যে এর ভূমিকা হল "মালিক" । মালিকের ভূমিকা প্রকল্পে যেকোনো কিছু করার জন্য পূর্ণ, অবাধ অনুমতি প্রদান করে। এই কারণেই আপনাকে API সক্রিয় করার এবং gcloud run deploy কমান্ড চালানোর জন্য অনুমোদিত করা হয়েছে।
  3. পরিষেবার পরিচয় (পরিষেবা অ্যাকাউন্ট) খুঁজুন
    • এখন, [PROJECT_NUMBER]-compute@developer.gserviceaccount.com নামের একটি প্রিন্সিপাল খুঁজুন। এটি ক্লাউড বিল্ড পরিষেবা দ্বারা ব্যবহৃত ডিফল্ট পরিষেবা অ্যাকাউন্ট।
    • এর ভূমিকাটি দেখুন। এর "ক্লাউড বিল্ড সার্ভিস এজেন্ট" এর মতো একটি ভূমিকা থাকবে। এই ভূমিকায় এর কাজ সম্পাদনের জন্য প্রয়োজনীয় নির্দিষ্ট অনুমতি রয়েছে, যেমন সোর্স কোড টানা এবং রেজিস্ট্রিতে কন্টেইনার ছবি লেখা। এটিই সেই পরিচয় যা আপনার স্থাপনার জন্য ভারী কাজ করেছে।
  4. অ্যাক্সেস ব্যবস্থাপনা (ব্যবহারিক কাজ)
    • এবার, একটি প্রাসঙ্গিক নিরাপত্তা কাজ করা যাক। কল্পনা করুন যে একজন নতুন সহকর্মীকে আমাদের দ্বারা স্থাপন করা দুটি অ্যাপ্লিকেশনের ( fact-app-manual এবং fact-app-cli ) কর্মক্ষমতা পর্যবেক্ষণ করতে এবং লগগুলি পরীক্ষা করতে সক্ষম হতে হবে, কিন্তু নিরাপত্তার কারণে, তারা একটি নতুন সংস্করণ স্থাপন করতে বা মুছে ফেলতে সক্ষম হবে না
    • IAM পৃষ্ঠার উপরে, + অ্যাক্সেস প্রদান করুন এ ক্লিক করুন।
    • নতুন প্রিন্সিপালস ক্ষেত্রে, একটি কাল্পনিক ইমেল ঠিকানা লিখুন, যেমন dev-intern@example.com
    • "একটি ভূমিকা নির্বাচন করুন" ড্রপডাউনে, "ক্লাউড রান ভিউয়ার" ভূমিকাটি খুঁজে বের করতে এবং নির্বাচন করতে ফিল্টারটি ব্যবহার করুন। এই ভূমিকাটি সর্বনিম্ন সুবিধার নীতির একটি নিখুঁত উদাহরণ। এটি ক্লাউড রান পরিষেবাগুলিতে বিশেষভাবে পঠনযোগ্য অ্যাক্সেস দেয় এবং এর বেশি কিছু দেয় না। (অথবা ভূমিকাগুলি বেছে নিতে আমাকে সাহায্য করুন ব্যবহার করে দেখুন)
    • সংরক্ষণ করুন ক্লিক করুন।
  5. ফলাফল পর্যালোচনা করুন
    • আপনি এখন সফলভাবে একজন নতুন ব্যবহারকারী যোগ করেছেন এবং তাদের একটি ক্ষুদ্র, সর্বনিম্ন-সুবিধাপ্রাপ্ত ভূমিকা দিয়েছেন যা এই কর্মশালায় আপনার তৈরি করা সংস্থানগুলির সাথে সরাসরি প্রাসঙ্গিক। তারা আপনার দুটি ফ্যাক্ট-অ্যাপ দেখতে পারে, কিন্তু তারা সেগুলি পরিবর্তন করতে পারে না। আপনি দেখেছেন কিভাবে ব্যবহারকারী অ্যাকাউন্ট এবং পরিষেবা অ্যাকাউন্ট উভয়ই একসাথে কাজ করে একটি নিরাপদ এবং নিরীক্ষণযোগ্য ক্লাউড পরিবেশ তৈরি করে।

এবার, আসুন আমরা কোনও ব্যক্তিকে নয়, বরং অন্য কোনও অ্যাপ্লিকেশন বা পরিষেবাকে অনুমতি দেওয়ার অনুশীলন করি। কল্পনা করুন যে একটি বহিরাগত স্বয়ংক্রিয় সরঞ্জাম, যা পরিষেবা অ্যাকাউন্ট vertex-express@... দ্বারা প্রতিনিধিত্ব করা হয়, আমাদের প্রকল্পের মধ্যে AI পরিষেবাগুলি ব্যবহার করতে সক্ষম হতে হবে। আমাদের এটিকে সঠিক ভূমিকা প্রদান করতে হবে।

  1. পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় নেভিগেট করুন:
    • IAM পৃষ্ঠায় থাকা অবস্থায়, Service Accounts- এ যান।
  2. টার্গেট সার্ভিস অ্যাকাউন্টটি সনাক্ত করুন:
    • পরিষেবা অ্যাকাউন্টের তালিকায়, vertex-express@ecstatic-acumen-{PROJECT_NUMBER}-c9.iam.gserviceaccount.com নামের একটিটি খুঁজুন। (আপনাকে {PROJECT_NUMBER} আপনার প্রকৃত প্রকল্প নম্বর দিয়ে প্রতিস্থাপন করতে হবে)। এই পরিচয়টিকে আমরা অনুমতি দিতে চাই।
  3. পরিষেবা অ্যাকাউন্টের জন্য অনুমতি পরিচালনা করুন:
    • ডানদিকে অ্যাকশন কলামে, তিন বিন্দুতে ক্লিক করুন, যেখানে আপনি একটি ড্রপ ডাউন মেনু দেখতে পাবেন।
    • এই পরিষেবা অ্যাকাউন্টটি কী করতে পারে তা পরিচালনা করতে, অনুমতিগুলি পরিচালনা করুন -এ ক্লিক করুন।
  4. "Vertex AI ব্যবহারকারী" ভূমিকা প্রদান করুন:
    • অ্যাসাইন রোলস ড্রপডাউনে, "Vertex AI User" রোলটি খুঁজে বের করতে এবং নির্বাচন করতে ফিল্টারটি ব্যবহার করুন।
    • সংরক্ষণ করুন ক্লিক করুন।

আপনি এখন পরিষেবা অ্যাকাউন্টের নির্দিষ্ট পৃষ্ঠা থেকে সঠিক প্রকল্প-স্তরের অনুমতি পৃষ্ঠায় সফলভাবে নেভিগেট করেছেন এবং আপনার প্রকল্পের মধ্যে AI ক্ষমতাগুলি ব্যবহার করার জন্য এটিকে অনুমোদিত করেছেন।

৩. একজন এআই সহকারীর সাথে বিল্ডিং কোড

ধারণাগত ভূমিকা

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

গুগলের এআই অফারগুলিকে তিনটি প্রধান বিভাগে বিবেচনা করা যেতে পারে, সহজ থেকে সবচেয়ে শক্তিশালী:

আপনি দুটি প্রাথমিক ইন্টারফেসের মাধ্যমে "ক্রিয়েটিভ ইঞ্জিন" (মিথুন) এর সাথে যোগাযোগ করতে পারেন, প্রতিটি ভিন্ন উদ্দেশ্যে ডিজাইন করা হয়েছে।

  • গুগল এআই স্টুডিও ( aistudio.google.com )
    • এটি কী: জেমিনি নিয়ে দ্রুত প্রোটোটাইপিং এবং পরীক্ষা-নিরীক্ষার জন্য একটি বিনামূল্যের, ওয়েব-ভিত্তিক টুল। প্রম্পট লেখা শুরু করার এবং মডেলগুলি কী করতে পারে তা দেখার এটি দ্রুততম উপায়।
    • এটি কীভাবে কাজ করে: আপনি কেবল আপনার গুগল অ্যাকাউন্ট দিয়ে এটি ব্যবহার শুরু করতে পারেন। এটি একটি অ্যাপ্লিকেশনে ব্যবহার করার জন্য, আপনাকে একটি API কী তৈরি করতে হবে। এই কর্মশালায় এটি ব্যবহার করার জন্য, আপনার প্রকল্পে "জেনারেটিভ ল্যাঙ্গুয়েজ API" পরিষেবা সক্ষম করতে হবে।
    • উপমা: এআই স্টুডিও হল পাবলিক লাইব্রেরি বা উন্মুক্ত কর্মশালা । এখানে প্রবেশ করে বিনামূল্যে সরঞ্জামগুলি নিয়ে পরীক্ষা-নিরীক্ষা শুরু করা সহজ।
  • ভার্টেক্স এআই
    • এটি কী: এটি সম্পূর্ণ মেশিন লার্নিং জীবনচক্র পরিচালনার জন্য গুগল ক্লাউডের এন্ড-টু-এন্ড প্ল্যাটফর্ম। এটি সম্পূর্ণ পেশাদার ওয়ার্কবেঞ্চ যেখানে আপনি জেমিনির মতো ফাউন্ডেশন মডেল ব্যবহার করতে পারেন, পাশাপাশি আপনার নিজস্ব কাস্টম মেশিন লার্নিং মডেলগুলি তৈরি, প্রশিক্ষণ এবং স্থাপন করতে পারেন। এটি এন্টারপ্রাইজ-গ্রেড সুরক্ষা, স্কেলেবিলিটি এবং গভর্নেন্সের জন্য তৈরি। এটি আপনার গুগল ক্লাউড প্রকল্পের মধ্যে সম্পূর্ণরূপে সংহত একই সরঞ্জামগুলির এন্টারপ্রাইজ-গ্রেড সংস্করণও অফার করে।
    • এটি কীভাবে কাজ করে: এটি একই শক্তিশালী মডেল ব্যবহার করে কিন্তু আপনার প্রকল্পের সমস্ত নিরাপত্তা, অ্যাক্সেস নিয়ন্ত্রণ (IAM) এবং ডেটা গভর্নেন্স বৈশিষ্ট্যগুলি উত্তরাধিকারসূত্রে পায়। এটি হল সেই পরিষেবা যা আমরা পার্ট 1-এ aiplatform.googleapis.com API চালু করে সক্ষম করেছি।
    • সাদৃশ্য: ভার্টেক্স এআই হল আপনার ব্যক্তিগত, সুরক্ষিত, কর্পোরেট গবেষণা ও উন্নয়ন ল্যাব । আপনি যা কিছু করেন তা লগ করা, সুরক্ষিত এবং আপনার অন্যান্য প্রকল্প সংস্থানগুলির সাথে সংযুক্ত।

হাতে-কলমে: ভার্টেক্স এআই স্টুডিওতে অ্যাপ্লিকেশন কোড তৈরি করা

দেখা যাক যখন আমরা Vertex AI এর ভিতরে থাকা ভিজ্যুয়াল টুল ব্যবহার করে আমাদের অ্যাপ তৈরি করি তখন কী হয়।

  1. ভার্টেক্স এআই স্টুডিওতে নেভিগেট করুন:
  2. ওয়েবসাইট তৈরি করুন:
    • প্রম্পট বক্সে, ঠিক সেই একই অনুরোধটি লিখুন যা আমরা পরে ব্যবহার করব:
    Create the code for a simple web application that shows Halloween fun facts. The application should be built using the Python functions_framework for Cloud Run. The entry point function must be named 'hello_http'. When a user visits the main page, the server should randomly display one fact from a list. The page should have a separate 'index.html' file for the structure and a 'style.css' file to give it a spooky theme 
    
    • এন্টার টিপুন। মডেলটি কোডটি তৈরি করবে, সম্ভবত তিনটি স্বতন্ত্র ব্লকে: একটি পাইথনের জন্য ( main.py ), একটি HTML ( index.html ) এবং একটি CSS ( style.css ) এর জন্য।

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

৪. ক্লাউড রানের মাধ্যমে বিশ্বে মোতায়েন করা

ধারণাগত ভূমিকা

আমাদের কোড তৈরি করা হয়েছে, কিন্তু এটি কেবল একটি ব্রাউজারে টেক্সট। গ্রাহকদের পরিষেবা দেওয়ার জন্য, এটি একটি সার্ভারে চালানো প্রয়োজন। ক্লাউড রান একটি "সার্ভারলেস" প্ল্যাটফর্ম, যার অর্থ আমরা কোড সরবরাহ করি এবং গুগল অন্য সবকিছু পরিচালনা করে: সার্ভার, স্কেলিং এবং সুরক্ষা। এর সবচেয়ে শক্তিশালী বৈশিষ্ট্য হল শূন্যে স্কেলিং করা - যদি কেউ আপনার অ্যাপে না আসে, তাহলে আপনাকে অলস সময়ের জন্য কোনও অর্থ প্রদান করতে হবে না।

  • "সার্ভারলেস" কী? ঐতিহ্যগতভাবে, একটি অ্যাপ স্থাপনের অর্থ হল একটি সার্ভার (ভার্চুয়াল মেশিন) ভাড়া করা, একটি অপারেটিং সিস্টেম ইনস্টল করা, নেটওয়ার্কিং এবং সুরক্ষা কনফিগার করা এবং ক্রমাগত এটি বজায় রাখা। সার্ভারলেস একটি আধুনিক ক্লাউড পদ্ধতি যেখানে আপনি, বিকাশকারী, কেবল আপনার কোডের উপর মনোযোগ দেন। আপনি আপনার কোডটি ক্লাউড রানের মতো একটি পরিষেবাতে হস্তান্তর করেন এবং এটি অন্য সবকিছু পরিচালনা করে: সার্ভার, স্কেলিং, সুরক্ষা এবং নেটওয়ার্কিং।
  • ক্লাউড রান কীভাবে কাজ করে: স্কেলিং এর জাদু যখন আপনি ক্লাউড রানে স্থাপন করেন, তখন এটি আপনার কোডটিকে একটি কন্টেইনারে প্যাকেজ করে (আপনার অ্যাপ্লিকেশন এবং এর সমস্ত নির্ভরতার একটি মানসম্মত, পোর্টেবল প্যাকেজ)। যখন কোনও ব্যবহারকারী আপনার অ্যাপের URL পরিদর্শন করেন, তখন ক্লাউড রান তাৎক্ষণিকভাবে অনুরোধটি পরিচালনা করার জন্য আপনার কন্টেইনারটি চালু করে। যদি এক হাজার ব্যবহারকারী একবারে পরিদর্শন করেন, তবে এটি স্বয়ংক্রিয়ভাবে এক হাজার কপি চালু করে। সবচেয়ে শক্তিশালী বৈশিষ্ট্য হল শূন্যে স্কেল করা । যখন কেউ আপনার অ্যাপে পরিদর্শন করে না, তখন ক্লাউড রান চলমান কন্টেইনারের সংখ্যা শূন্যে নামিয়ে দেয়। এর অর্থ হল অলস সময়ের জন্য আপনাকে একেবারেই কোনও অর্থ প্রদান করতে হবে না, যা এটিকে অবিশ্বাস্যভাবে সাশ্রয়ী করে তোলে।

আমাদের প্রথম স্থাপনার জন্য, আমরা ক্লাউড রান কনসোলের ইনলাইন এডিটর ব্যবহার করব, আমাদের কোডটি ম্যানুয়ালি কপি করে জায়গায় রাখব।

ব্যবহারিক: আপনার আবেদন স্থাপন করা

  1. ক্লাউড রান ক্রিয়েশন উইজার্ড শুরু করুন:
    • যান
    • পৃষ্ঠার উপরে, + একটি ফাংশন লিখুন এ ক্লিক করুন।
  2. পরিষেবাটি কনফিগার করুন:
    • একটি ফাংশন তৈরি করতে একটি ইনলাইন সম্পাদক ব্যবহার করুন নির্বাচন করুন।
    • আপনার পরিষেবার একটি নাম দিন: fact-app-manual
    • একটি রানটাইম Python 3.13 নির্বাচন করুন।
    • একটি অঞ্চল নির্বাচন করুন us-central1
    • সর্বজনীন অ্যাক্সেসের অনুমতি দিন নির্বাচন করুন।
    • অন্যান্য সমস্ত সেটিংস তাদের ডিফল্ট হিসাবে ছেড়ে দিন।
    • নীচের দিকে CREATE বোতামে ক্লিক করুন।
  3. আপনার কোড লিখুন:
    • আপনি একটি ডিফল্ট main.py এবং requirements.txt ফাইল সহ একটি সম্পাদক দেখতে পাবেন।
    • main.py: আপনার Vertex AI Studio ট্যাবে যান। সম্পূর্ণ Python কোড ব্লকটি কপি করুন। Cloud Run এডিটরে ফিরে আসুন এবং ডিফল্ট main.py কন্টেন্টটি আপনার কপি করা কোড দিয়ে প্রতিস্থাপন করুন
    • requirements.txt: * এডিটরে requirements.txt ফাইলটিতে ক্লিক করুন। পাইথন কোডের জন্য functions-framework প্রয়োজন। ফাইলের কন্টেন্টটি দিয়ে প্রতিস্থাপন করুন:
      functions-framework
      
    • index.html: এডিটরের ফাইল এক্সপ্লোরারে, নতুন ফাইলটি যোগ করতে '+' এ ক্লিক করুন। index.html ফাইলটির নাম দিন। আপনার Vertex AI Studio ট্যাবে যান, HTML কোড ব্লকটি কপি করুন এবং এই নতুন index.html ফাইলটিতে পেস্ট করুন।
    • style.css: নতুন ফাইলটি যোগ করতে '+' এ ক্লিক করুন। এর নাম দিন style.css । আপনার Vertex AI Studio ট্যাবে যান, CSS কোড ব্লকটি কপি করুন এবং এই নতুন style.css ফাইলে পেস্ট করুন।
  4. পরিষেবাটি স্থাপন করুন:
    • আপনার তিনটি ফাইল সঠিকভাবে জায়গায় রেখে, সংরক্ষণ করুন এবং স্থাপন করুন বোতামে ক্লিক করুন।
  5. আপনার লাইভ অ্যাপ্লিকেশন অ্যাক্সেস করুন:
    • স্থাপনাটি কয়েক মিনিট সময় নেবে। এটি শেষ হয়ে গেলে, পরিষেবার বিবরণ পৃষ্ঠাটি উপরে একটি পাবলিক URL সহ প্রদর্শিত হবে।
    • এই URL এ ক্লিক করুন। আপনার অ্যাপ্লিকেশনটি এখন লাইভ! এটি কাজ করে, কিন্তু এটি অনেক ম্যানুয়াল কপি-পেস্টিং ছিল।

৫. ডেভেলপারের কর্মপ্রবাহ অপ্টিমাইজ করা

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

ক্লাউড শেল এবং জেমিনি সিএলআই কী?

ক্লাউড শেল হল আপনার ব্রাউজারে একটি সম্পূর্ণ লিনাক্স কম্পিউটার, যা gcloud CLI (গুগল ক্লাউডের জন্য আপনার রিমোট কন্ট্রোল) এর মতো ডেভেলপার টুল দিয়ে আগে থেকে লোড করা।

জেমিনি সিএলআই হল একটি ইন্টারেক্টিভ, এআই-চালিত কোডিং সহকারী যা আপনার টার্মিনালে থাকে।

জেমিনি এক্সটেনশনগুলি কী কী?

জেমিনি সিএলআইকে একটি শক্তিশালী স্মার্টফোন হিসেবে ভাবুন। এটি নিজেই খুবই সক্ষম। এক্সটেনশনগুলি হল অ্যাপ স্টোর থেকে ইনস্টল করা অ্যাপের মতো। তারা জেমিনি সিএলআইকে নতুন, বিশেষায়িত ক্ষমতা দেয় যা ডিফল্টভাবে এতে থাকে না। উদাহরণস্বরূপ, nanobanana এক্সটেনশন হল একটি "অ্যাপ" যা জেমিনি সিএলআইকে গুগলের শক্তিশালী ইমেজ জেনারেশন মডেলের সাথে সংযুক্ত করে, যা আমাদের কমান্ড লাইন থেকে সরাসরি ইমেজ তৈরি করতে দেয়।

ব্যবহারিক: সুবিন্যস্ত কর্মপ্রবাহ

  1. একটি API কী তৈরি করুন
    • তে যান
    • "+API কী তৈরি করুন" বোতামে ক্লিক করুন
    • এই চাবিটি রাখুন।
  2. ক্লাউড শেল সক্রিয় এবং কনফিগার করুন:
    • গুগল ক্লাউড কনসোলের উপরে, অ্যাক্টিভেট ক্লাউড শেল আইকনে ক্লিক করুন ( >_ )।
    • আপনার পরিবেশ সেট আপ করতে টার্মিনালে নিম্নলিখিত কমান্ডগুলি চালান, এটি আপনার নিজস্ব প্রজেক্ট আইডি দিয়ে প্রতিস্থাপন করতে ভুলবেন না।
      # Set your Project ID
      export PROJECT_ID="[your-project-id-goes-here]"
      
      NANOBANANA_GOOGLE_API_KEY সেট করুন। এটি আপনার API কী দিয়ে প্রতিস্থাপন করুন। (ইনস্টল চালিয়ে যেতে Y বলুন।)
      gcloud config set project $PROJECT_ID
      
      # REPLACE with your API Key.
      export NANOBANANA_GOOGLE_API_KEY="[your-api-key-goes-here]"
      
      টার্মিনালে, এক্সটেনশনটি ইনস্টল করতে চালান:
      # Configure the CLI to use your project with Vertex AI
      export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
      export GOOGLE_CLOUD_LOCATION=us-central1
      export GOOGLE_GENAI_USE_VERTEXAI=true
      
      # Install the image generation extension
      gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
      
  • আমরা জেমিনি সিএলআই ব্যবহার করব, একটি শক্তিশালী কমান্ড-লাইন ইন্টারফেস যা এআই কোডিং সহকারী হিসেবে কাজ করে। এটি আমাদেরকে সহজ ইংরেজিতে আমাদের প্রয়োজনীয় কোড বর্ণনা করতে দেয় এবং এটি আমাদের জন্য কাঠামো তৈরি করবে, যা উল্লেখযোগ্যভাবে উন্নয়নকে ত্বরান্বিত করবে।
  1. একটি ইন্টারেক্টিভ এআই সেশন শুরু করুন:
    • আমাদের প্রকল্পের জন্য একটি নতুন ডিরেক্টরি তৈরি করা যাক এবং জেমিনি CLI কে তার ইন্টারেক্টিভ মোডে শুরু করা যাক। টার্মিনায় নিম্নলিখিত কমান্ডটি চালান।
      mkdir ~/2025-website
      cd ~/2025-website
      cat <<EOF > .env
        GOOGLE_CLOUD_PROJECT=$PROJECT_ID
        GOOGLE_CLOUD_LOCATION=$GOOGLE_CLOUD_LOCATION
        GOOGLE_GENAI_USE_VERTEXAI=true
        NANOBANANA_GOOGLE_API_KEY=$NANOBANANA_GOOGLE_API_KEY
      EOF
      clear
      gemini --yolo
      
  2. আপনার অ্যাপে তৈরি করুন এবং পুনরাবৃত্তি করুন:
    • আপনি এখন আপনার AI সহকারীর সাথে একটি চ্যাট সেশনে আছেন। একটি কমান্ড দিয়ে সম্পূর্ণ ওয়েবসাইট তৈরি করতে নিম্নলিখিত প্রম্পটটি পেস্ট করুন:
      Write a simple web app that shows Halloween fun facts using the Python Flask. When a user visits the main page, it should show one random fact. Include a button that fetches and displays a new fact when clicked. Create a simple, clean index.html, a separate style.css with a spooky theme, and a requirements.txt file. After creating the files, attempt to start the web app locally on port 8080.
      
    • স্থানীয়ভাবে পরীক্ষা করুন: এআই ফাইলগুলি তৈরি করবে এবং একটি ওয়েব সার্ভার শুরু করবে। (কখনও কখনও লোডিং বন্ধ হবে না, যদি আপনি দেখেন যে এটি সার্ভার শুরু করার চেষ্টা করছে, তাহলে পরবর্তী ধাপে যেতে দ্বিধা করবেন না।)
    • ক্লাউড শেল টুলবারে ওয়েব প্রিভিউ আইকনে ক্লিক করুন, পোর্ট 8080 এ প্রিভিউ নির্বাচন করুন, এবং আপনার সাইটটি একটি নতুন ট্যাবে প্রদর্শিত হবে।
    • জেমিনি সিএলআই-তে, অনুরোধটি বাতিল করতে Esc টিপুন এবং অথবা জেমিনি সিএলআই-কে Stop the web server করতে অনুরোধ করুন।
  3. এআই-জেনারেটেড ছবি দিয়ে ওয়েবসাইট আপডেট করুন:
    • এবার, আমাদের এক্সটেনশনটি ব্যবহার করা যাক। / দিয়ে শুরু হওয়া একটি কমান্ড হল একটি "স্ল্যাশ কমান্ড" যা একটি টুলের দিকে নির্দেশিত হয়, AI এর জন্য প্রম্পট নয়।
      /generate 3 images of spooky halloween fun
      
    • এক্সটেনশনটি তিনটি ছবি তৈরি করবে। এখন, আসুন AI কে ওয়েবসাইটটি ব্যবহার করার জন্য পরিবর্তন করতে বলি।
      Update the website so it will display and rotate between the 3 newly generated images each time the button is clicked. And do NOT start the server.
      
  4. স্থাপনের জন্য প্রস্তুত হোন:
    • ক্লাউড রান কন্টেইনার ব্যবহার করে কোড স্থাপন করে। Dockerfile হল একটি কন্টেইনার তৈরির একটি রেসিপি। আসুন আমরা এআইকে আমাদের জন্য একটি তৈরি করতে বলি।
      Create a Dockerfile suitable for deploying this Python Flask app to Cloud Run.
      
  5. একটি একক কমান্ড দিয়ে স্থাপন করুন:
    • দুইবার CtrlC চেপে Gemini CLI থেকে বেরিয়ে আসুন। অথবা প্রম্পটে /quit টাইপ করুন।
    • এখন, আপনার বর্তমান ডিরেক্টরি থেকে সম্পূর্ণ অ্যাপ্লিকেশনটি স্থাপন করতে gcloud CLI ব্যবহার করুন।
      gcloud run deploy fact-app-cli \
        --source . \
        --region us-central1 \
        --allow-unauthenticated
      
  6. পার্থক্য দেখুন:
    • কয়েক মিনিট পরে, আপনি আপনার সম্পূর্ণ বৈশিষ্ট্যযুক্ত, AI-জেনারেটেড ওয়েবসাইটের জন্য একটি নতুন URL পাবেন। Cloud Run কনসোলটি দেখুন, এবং আপনি উভয় পরিষেবা দেখতে পাবেন: fact-app-manual এবং fact-app-cli । আপনি কমান্ড-লাইন ডেভেলপার ওয়ার্কফ্লোর গতি এবং শক্তি অভিজ্ঞতা করেছেন।

অভিনন্দন

আপনি গুগল ক্লাউডে সম্পূর্ণ ডেভেলপমেন্ট জীবনচক্র সফলভাবে সম্পন্ন করেছেন। আপনি একটি খালি প্রকল্প দিয়ে শুরু করেছিলেন এবং এখন আছেন:

  • বিলিং সহ একটি সুরক্ষিত প্রকল্প কনফিগার করা হয়েছে।
  • একটি সম্পূর্ণ আবেদনপত্র লেখার জন্য একজন AI সহকারী ব্যবহার করেছেন।
  • সেই অ্যাপ্লিকেশনটিকে একটি স্কেলেবল, সার্ভারলেস প্ল্যাটফর্মে স্থাপন করা হয়েছে।
  • IAM এর সাথে এর নিরাপত্তা কীভাবে পরিচালনা করতে হয় তা শিখেছি।

গুগল ক্লাউডে আরও জটিল এবং সক্ষম অ্যাপ্লিকেশন তৈরি করার জন্য এখন আপনার মৌলিক দক্ষতা রয়েছে।