কম্পিউট ইঞ্জিনে Windows সার্ভারে ASP.NET অ্যাপ স্থাপন করুন

১. সংক্ষিপ্ত বিবরণ

ASP.NET হলো .NET ব্যবহার করে আধুনিক ওয়েব অ্যাপ এবং পরিষেবা তৈরির জন্য একটি ওপেন সোর্স ওয়েব ফ্রেমওয়ার্ক। ASP.NET এইচটিএমএল৫, সিএসএস এবং জাভাস্ক্রিপ্টের উপর ভিত্তি করে এমন ওয়েবসাইট তৈরি করে যা সহজ, দ্রুত এবং লক্ষ লক্ষ ব্যবহারকারীর জন্য সম্প্রসারণযোগ্য।

এই ল্যাবে, আপনি Compute Engine- এ চলমান Windows Server-এ একটি সাধারণ ASP.NET অ্যাপ ডেপ্লয় করবেন। এই কোডল্যাবটি “Deploy Windows Server with ASP.NET Framework to Compute Engine” কোডল্যাবটির উপর ভিত্তি করে তৈরি। আপনি চাইলে প্রথমে সেই ল্যাবটি সম্পন্ন করতে পারেন।

এছাড়াও, আপনার ASP.NET অ্যাপ লিখতে এবং Compute Engine-এ ডেপ্লয় করতে Visual Studio 2013 বা তার পরবর্তী সংস্করণ প্রয়োজন হবে।

আপনি যা শিখবেন

  • কীভাবে একটি সহজ ASP.NET অ্যাপ তৈরি করবেন।
  • ভিজ্যুয়াল স্টুডিওতে স্থানীয়ভাবে ASP.NET অ্যাপ কীভাবে চালাবেন।
  • কম্পিউট ইঞ্জিনে কীভাবে আপনার ASP.NET অ্যাপটি একটি উইন্ডোজ সার্ভারে ডেপ্লয় এবং রান করবেন।

আপনার যা যা লাগবে

আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?

শুধু পুরোটা পড়ুন এটি পড়ুন এবং অনুশীলনগুলো সম্পূর্ণ করুন।

গুগল ক্লাউড প্ল্যাটফর্মের সাথে আপনার অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?

শিক্ষানবিশ মধ্যবর্তী দক্ষ

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

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

পূর্ববর্তী ল্যাব থেকে আপনার গুগল ক্লাউড প্ল্যাটফর্ম প্রজেক্টটি ইতিমধ্যেই থাকার কথা, তাই নতুন করে কোনো প্রজেক্ট তৈরি করার প্রয়োজন নেই। গুগল ক্লাউড প্ল্যাটফর্ম কনসোলে ( console.cloud.google.com ) সাইন-ইন করুন এবং পূর্ববর্তী ল্যাবের প্রজেক্টটি নির্বাচন করুন।

৩. ASP.NET অ্যাপটি ডাউনলোড করুন।

নমুনাটি একটি জিপ ফাইল হিসেবে ডাউনলোড করে এক্সট্র্যাক্ট করুন।

বিকল্পভাবে, আপনি এর গিট রিপোজিটরি ক্লোন করতে পারেন।

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

উভয় ক্ষেত্রেই, আপনার একটি getting-started-dotnet ফোল্ডার থাকা উচিত, যার মধ্যে নিম্নলিখিত বিষয়বস্তু থাকবে।

1acce2c66bc3b8aa.png

৪. অ্যাপ্লিকেশনটি স্থানীয়ভাবে চালান

aspnet\1-hello-world\hello-world.sln ডাবল ক্লিক করুন। এটি ভিজ্যুয়াল স্টুডিওতে সলিউশনটি খুলবে।

8a699ba7495ab79e.png

WebApiConfig.cs ফাইলটি দেখুন . এতে একটি সহজ HelloWorld HTTP হ্যান্ডলার রয়েছে।

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

ভিজ্যুয়াল স্টুডিওতে, অ্যাপ্লিকেশনটি বিল্ড এবং রান করতে F5 চাপুন। ভিজ্যুয়াল স্টুডিও NuGet ডিপেন্ডেন্সিগুলো ডাউনলোড করে অ্যাপটি বিল্ড করার পর, আপনার ব্রাউজারে একটি 'হ্যালো ওয়ার্ল্ড' মেসেজ পপ-আপ হতে দেখবেন।

77768b92a41434c2.png

অ্যাপটি আপনার কম্পিউটারে চালু আছে বলে নিশ্চিত হওয়ার পর, অ্যাপ্লিকেশনটি বন্ধ করতে Shift + F5 চাপুন।

৫. ASP.NET ফ্রেমওয়ার্ক ব্যবহার করে উইন্ডোজ সার্ভার স্থাপন করুন

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

গুগল ক্লাউড কনসোলে লগ ইন করুন

অন্য একটি ব্রাউজার ট্যাব বা উইন্ডো থেকে https://console.cloud.google.com ঠিকানায় Google Cloud Console-এ প্রবেশ করুন। Google Cloud Platform-এ সাইন আপ করার সময় আপনি যে লগইন তথ্য সেট আপ করেছিলেন অথবা ল্যাব প্রক্টরের দেওয়া তথ্য ব্যবহার করুন।

f6cb1591046097da.png

গুগল ক্লাউড কনসোলে, স্ক্রিনের উপরের বাম দিকে থাকা প্রোডাক্টস অ্যান্ড সার্ভিসেস (Products & services) মেনু আইকনে ক্লিক করুন:

32152624d878d9f8.png

তারপর ক্লাউড মার্কেটপ্লেসে যান

6c08c9a31e3a9c6c.png

ASP.NET ফ্রেমওয়ার্ক অনুসন্ধান করুন

ASP.NET ফ্রেমওয়ার্ক খুঁজতে ASP.NET টাইপ করুন এবং তারপর নিচের ফলাফল বাক্সে ক্লিক করুন।

d64d04962212c3c1.png

কম্পিউট ইঞ্জিনে চালু করুন

পরবর্তী স্ক্রিনে, Compute Engine-এ Launch- এ ক্লিক করুন।

একটি নতুন ইনস্ট্যান্স তৈরি করার সময় আপনি অনেক প্যারামিটার কনফিগার করতে পারেন। চলুন নিম্নলিখিতগুলো ব্যবহার করা যাক:

নাম

gcelab

মোতায়েনের নাম

windows-aspnet-instance

অঞ্চল

europe-west1-d অঞ্চল ও জোন ডকুমেন্টেশনে জোন সম্পর্কে আরও জানুন।

মেশিনের ধরন

1 vCPU (n1-standard-1) আমাদের ASP.NET ওয়েবসাইটের জন্য n1-standard-1 মডেলটি যথেষ্টের চেয়েও বেশি, যাতে রয়েছে ১টি কোর এবং ৩.৭৫GiB র‍্যাম। তবে, আপনি এর চেয়ে ছোট বা বড় মেশিনও বেছে নিতে পারেন, যা ৩২-কোর / ২০৮GiB র‍্যাম পর্যন্ত হতে পারে। এই বিষয়ে এবং কাস্টম মেশিন টাইপ সম্পর্কে আরও জানতে মেশিন টাইপস ডকুমেন্টেশন দেখুন। দ্রষ্টব্য : একটি নতুন প্রজেক্টের একটি ডিফল্ট রিসোর্স কোটা থাকে, যা সিপিইউ কোরের সংখ্যা সীমিত করতে পারে। আপনি আপনার প্রজেক্টের জন্য আরও কোরের অনুরোধ করতে পারেন।

উইন্ডোজ সার্ভার ওএস সংস্করণ

2016

বুট ডিস্কের ধরন

Standard persistent disk দ্রষ্টব্য: আপনি চাইলে আরও উন্নত পারফরম্যান্সের সলিড স্টেট ডিস্ক ড্রাইভ (SSD) বেছে নিতে পারেন। স্টোরেজ অপশন দেখুন।

ডিস্কের আকার (জিবি-তে)

আমরা ডিফল্ট হিসেবে ১০০ জিবি ব্যবহার করছি, কিন্তু আপনি আপনার প্রয়োজন অনুযায়ী এটি কম বা বেশি করতে পারেন।

ফায়ারওয়াল

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP traffic ডিফল্টগুলো অপরিবর্তিত রাখুন, যা WebDeploy এবং RDF ট্র্যাফিকের পাশাপাশি HTTP, HTTPS ট্র্যাফিকের অনুমতি দেওয়ার জন্য ফায়ারওয়াল নিয়ম তৈরি করবে।

Windows Server এবং ASP.NET Framework সহ নতুন ভার্চুয়াল মেশিন ইনস্ট্যান্সটি তৈরি করতে Deploy- এ ক্লিক করুন! এটি আপনাকে একটি নতুন পৃষ্ঠায় নিয়ে যাবে যেখানে আপনি অগ্রগতি দেখতে পারবেন।

3276c6d3647fd36.png

কাজ শেষ হলে, বাম দিকের মেনু থেকে Compute Engine- এ যান এবং তারপর VM Instances নির্বাচন করুন। আপনি VM Instances তালিকায় নতুন ভার্চুয়াল মেশিনটি দেখতে পাবেন।

fc50b1cfd8b1f4b3.png

আপনি যদি এক্সটার্নাল আইপি- তে ক্লিক করেন, তাহলে ইনস্ট্যান্সটি থেকে পরিবেশিত ডিফল্ট আইআইএস ওয়েবসাইটটিও দেখতে পাবেন।

iis.PNG

মনে রাখবেন যে আপনি রিমোট ডেস্কটপ (RDP) এর মাধ্যমেও মেশিনটিতে প্রবেশ করতে পারেন, কিন্তু তার জন্য আমাদের প্রথমে একটি উইন্ডোজ ইউজার এবং পাসওয়ার্ড তৈরি করতে হবে।

৬. একটি উইন্ডোজ ব্যবহারকারী এবং পাসওয়ার্ড তৈরি করুন।

উইন্ডোজ ব্যবহারকারী ও পাসওয়ার্ড তৈরি করতে, ‘উইন্ডোজ পাসওয়ার্ড তৈরি করুন বা রিসেট করুন’ নির্বাচন করুন।

cf9b67269c4fa290.png

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

৭. Compute Engine-এ আপনার Windows Server-এ অ্যাপ্লিকেশনটি স্থাপন করুন।

এখন আপনার অ্যাপ্লিকেশনটি একটি Compute Engine ইনস্ট্যান্সে চলমান Windows Server-এ ডেপ্লয় করার সময় হয়েছে।

প্রথমে, আপনাকে "Deploy Windows Server with ASP.NET Framework to Compute Engine" অংশে স্থাপন করা Compute Engine ইনস্ট্যান্সটির এক্সটার্নাল আইপি খুঁজে বের করতে হবে। ক্লাউড কনসোলে, Compute > VM Instances-এ যান, আপনার ইনস্ট্যান্সটি খুঁজুন এবং এর এক্সটার্নাল আইপি অ্যাড্রেসটি নোট করে নিন।

8163b495fda4a4c5.png

এখন, আপনার আগের ধাপে তৈরি করা উইন্ডোজ ইউজারনেম এবং পাসওয়ার্ডটি প্রয়োজন হবে।

ভিজ্যুয়াল স্টুডিও সলিউশন এক্সপ্লোরার- এ, আপনার প্রজেক্টের উপর রাইট-ক্লিক করুন এবং কনটেক্সট মেনু থেকে পাবলিশ নির্বাচন করুন।

31dc67741553583e.png

পাবলিশ ওয়েব ডায়ালগে, আপনার পাবলিশ টার্গেট হিসেবে কাস্টম নির্বাচন করুন।

নতুন কাস্টম প্রোফাইল ডায়ালগে, ডেপ্লয়মেন্ট প্রোফাইলটির জন্য একটি নাম দিন এবং ওকে (OK) ক্লিক করুন।

আপনার প্রোফাইলটি নিম্নরূপভাবে পূরণ করুন।

সার্ভার

আপনার Compute Engine ইনস্ট্যান্সের এক্সটার্নাল আইপি অ্যাড্রেস। এই অ্যাড্রেসটি ক্লাউড কনসোলের ভিএম ইনস্ট্যান্স পেজে The external IP address of your Compute Engine instance. This address can be found on the in the Cloud Console. The IP address is ক্ষণস্থায়ী , which is sufficient for our purposes.

সাইটের নাম

Default Web Site নোট : আপনি এখানে যে সাইটের নামটি দেবেন, তা অবশ্যই আপনার Compute Engine ইনস্ট্যান্সের IIS ম্যানেজারে প্রদর্শিত নামের সাথে মিলতে হবে।

ব্যবহারকারীর নাম

The username of the Windows user account you created on your Compute Engine instance.

পাসওয়ার্ড

The password of the Windows user account you created on your Compute Engine instance.

গন্তব্য ইউআরএল

http:// দ্রষ্টব্য : ডেস্টিনেশন ইউআরএল হলো সেই ঠিকানা, যেখানে আপনার পেজটি ডেপ্লয় করার পর অ্যাক্সেস করা যাবে।

প্রোপার্টিগুলো সঠিক আছে কিনা তা নিশ্চিত করতে 'Validate Connection'-এ ক্লিক করুন।

5587e66e1f61acd6.png

যেহেতু আপনার ডেপ্লয়মেন্টে থাকা Microsoft IIS ইনস্টলেশন ডিফল্টরূপে একটি সেলফ-সাইন্ড সার্টিফিকেট ব্যবহার করে, তাই ভ্যালিডেশন প্রক্রিয়ার সময় আপনি একটি সার্টিফিকেট এরর দেখতে পাবেন। Visual Studio-এর ভবিষ্যৎ সেশনগুলোর জন্য এই সার্টিফিকেটটি সেভ করতে বক্সটিতে টিক দিন এবং সার্টিফিকেটটি গ্রহণ করতে অ্যাকসেপ্ট-এ ক্লিক করুন।

e7cc4bdef3064b9b.png

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

1014554485ba6720.png

অ্যাপ্লিকেশনটি স্থাপন করতে পাবলিশ-এ ক্লিক করুন। পাবলিশিং সম্পন্ন হলে, ভিজ্যুয়াল স্টুডিও আপনার ডিফল্ট ওয়েব ব্রাউজারে অ্যাপ্লিকেশনটি খুলবে।

feab07f5ac573240.png

৮. পরিচ্ছন্নতা

ব্যাস! এখন আপনার ব্যবহৃত রিসোর্সগুলো পরিষ্কার করার সময় এসেছে (খরচ বাঁচাতে এবং একজন ভালো ক্লাউড ব্যবহারকারী হতে)।

আপনি ইনস্ট্যান্সগুলো ডিলিট করতে পারেন অথবা কেবল বন্ধ করে দিতে পারেন, তবে মনে রাখবেন যে বন্ধ করা ইনস্ট্যান্সের ক্ষেত্রেও স্টোরেজ-সংক্রান্ত খরচ হতে পারে।

a3152ac7b76cdd4e.png

অবশ্যই, আপনি পুরো প্রজেক্টটি ডিলিটও করতে পারেন, কিন্তু সেক্ষেত্রে আপনার করা যেকোনো বিলিং সেটআপ নষ্ট হয়ে যাবে (এর জন্য প্রথমে প্রজেক্ট বিলিং নিষ্ক্রিয় করা আবশ্যক)। এছাড়াও, কোনো প্রজেক্ট ডিলিট করলে তা শুধুমাত্র বর্তমান বিলিং চক্র শেষ হওয়ার পরেই বিল হওয়া বন্ধ করে।

৯. অভিনন্দন!

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

আমরা যা আলোচনা করেছি

  • কীভাবে একটি সহজ ASP.NET অ্যাপ তৈরি করবেন।
  • ভিজ্যুয়াল স্টুডিওতে স্থানীয়ভাবে ASP.NET অ্যাপ কীভাবে চালাবেন।
  • কম্পিউট ইঞ্জিনে কীভাবে আপনার ASP.NET অ্যাপটি একটি উইন্ডোজ সার্ভারে ডেপ্লয় এবং রান করবেন।

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

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন ২.০ জেনেরিক লাইসেন্সের অধীনে রয়েছে।

/