Course-এর সূচি

1.1

Cloud আসলে কী এবং AWS কীভাবে টাকা নেয়

On-premises বনাম Cloud, IaaS / PaaS / SaaS, Shared Responsibility Model এবং Pay-as-you-go Pricing।

20 মিনিট পড়া + Animation

টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।

এই লেসন শেষে তুমি যা পারবে

  • cloud computing আসলে কী, আর একটা কোম্পানি নিজের data center চালানো ছেড়ে দিলে কী কী বদলে যায়, বুঝিয়ে বলতে পারবে।
  • cloud computing-এর পাঁচটা বৈশিষ্ট্য আর AWS-এর বলা ছয়টা সুবিধার নাম বলতে পারবে, আর পরীক্ষার প্রশ্নের শব্দ দেখে কোনটার কথা হচ্ছে ধরতে পারবে।
  • IaaS, PaaS, FaaS আর SaaS আলাদা করে চিনতে পারবে, প্রতিটার একটা করে AWS service-এর উদাহরণসহ, আর বলতে পারবে কোনটায় কোন স্তর তোমাকে নিজে চালাতে হয়।
  • কোনো পরিস্থিতিতে public, private না hybrid cloud, সেটা বেছে নিতে পারবে।
  • shared responsibility model দিয়ে যেকোনো নিরাপত্তার কাজ AWS আর customer-এর মধ্যে ভাগ করতে পারবে, EC2, RDS, Lambda আর S3-এর জন্য আলাদা করে।
  • AWS কীসের জন্য টাকা নেয় (compute, storage, data transfer out) বলতে পারবে, CapEx বনাম OpEx আর TCO বোঝাতে পারবে, আর একটা ছোট bill নিজে হিসাব করতে পারবে।

#Cloud আসার আগে: নিজের server নিজে চালানো

ধরো ২০০৫ সাল। একটা কোম্পানি online দোকান খুলতে চায়। প্রথম ক্রেতা আসার আগেই তাকে এতগুলো কাজ সারতে হবে:

  1. কতটা capacity লাগবে, আন্দাজ করা, তাও কয়েক বছর আগে থেকেই, সবচেয়ে ব্যস্ত দিনটার কথা ভেবে।
  2. hardware কেনা: server, disk, switch, firewall। হাজার হাজার ডলার, সব আগেই নগদে।
  3. রাখার জায়গা খোঁজা: একটা server room, নয়তো কোনো data center-এ ভাড়া নেওয়া rack। সঙ্গে বিদ্যুৎ, বিদ্যুৎ চলে গেলে বিকল্প ব্যবস্থা, ঠান্ডা রাখার ব্যবস্থা, পাহারা।
  4. অপেক্ষা করা: order দেওয়া, জিনিস আসা, rack-এ বসানো, তার জোড়া, install করা। সপ্তাহ, এমনকি মাসও লেগে যায়।
  5. তারপর সারাজীবন চালিয়ে যাওয়া: নষ্ট disk বদলানো, firmware-এ patch, কয়েক বছর পরপর মেশিন বদলানো, রাতে পাহারা দেওয়ার জন্য লোক রাখা।

এই পদ্ধতিকে বলে on-premises (মুখে মুখে "on-prem")। মানে যন্ত্রপাতি কোম্পানির নিজের, নিজের ভবনে বা ভাড়া করা জায়গায়, চালায়ও নিজেরা। এটা কাজ করে, আজও অনেক প্রতিষ্ঠান কিছু system এভাবেই চালায়। কিন্তু এর তিনটা বড় সমস্যা আছে:

  • আন্দাজ সবসময় ভুল হয়। capacity কম হলে সবচেয়ে ভালো দিনটাতেই site বসে যায়। বেশি হলে দামি মেশিন বছরের বেশির ভাগ সময় অলস পড়ে থাকে।
  • খুব ধীর। নতুন project-এ একটা লাইন code লেখার আগেই hardware-এর জন্য কয়েক সপ্তাহ বসে থাকতে হয়।
  • বেশির ভাগ কাজ তোমার আসল ব্যবসা না। disk বদলানো বা এসি সারানো দিয়ে তো তোমার দোকান প্রতিযোগীর চেয়ে ভালো হয়ে যায় না।

#Cloud computing আসলে কী

AWS-এর সংজ্ঞাটা এরকম: cloud computing হলো internet-এর মাধ্যমে, যখন দরকার তখন, IT resource পাওয়া, আর যতটুকু ব্যবহার ততটুকুর দাম (pay-as-you-go)। নিজে data center আর server কিনে, মালিক হয়ে, রক্ষণাবেক্ষণ করার বদলে তুমি AWS-এর মতো কোনো provider-এর কাছ থেকে compute, storage, database সহ আরও অনেক service দরকারমতো নিয়ে নাও।

provider-এর কিন্তু data center আছে, সত্যিকারের মেশিনও আছে। পার্থক্য হলো মালিক কে, চালায় কে, আর টাকা দাও কীভাবে। provider বিশাল বিশাল data center বানায়, সবাই মিলে ব্যবহার করে। তুমি তার ছোট ছোট টুকরা ভাড়া নাও: সেকেন্ড ধরে, gigabyte ধরে, বা request ধরে।

#পাঁচটা বৈশিষ্ট্য

NIST (আমেরিকার National Institute of Standards and Technology)-এর একটা সংজ্ঞা সবাই ব্যবহার করে। সেই অনুযায়ী কোনো service-কে "cloud" বলা যায়, যদি তার এই পাঁচটা বৈশিষ্ট্য থাকে:

বৈশিষ্ট্যমানে কীAWS-এ কেমন
On-demand self-serviceresource তুমি নিজেই নিয়ে নাও, provider-এর কোনো মানুষকে বলতে হয় নাconsole বা একটা API call দিয়ে EC2 instance চালু করো; AWS-এর কেউ অনুমতি দেয় না
Broad network accessসাধারণ device থেকে network দিয়েই resource-এ পৌঁছানো যায়browser-এ console, laptop-এ CLI, তোমার code-এ SDK (লেসন ১.৩)
Resource poolingprovider একই hardware দিয়ে অনেক customer-কে সেবা দেয়, তবে সবাই আলাদা থাকে (multi-tenancy)তোমার instance আর অচেনা কারও instance একই physical host-এ থাকতে পারে, hypervisor দুজনকে আলাদা রাখে
Rapid elasticitycapacity দ্রুত বাড়ে-কমে, প্রায়ই নিজে থেকেই, আর মনে হয় যেন শেষই নেইভিড়ের সময় Auto Scaling group instance যোগ করে, ভিড় কমলে সরিয়ে দেয়
Measured serviceকতটা ব্যবহার হলো মাপা হয়, আর সেই অনুযায়ী billEC2 bill হয় সেকেন্ড ধরে, S3 প্রতি gigabyte-মাসে, Lambda request আর চলার সময় ধরে

এই টেবিলের দুটো শব্দ AWS-এ আর পরীক্ষায় সব জায়গায় পাবে:

  • Scalability: resource বাড়িয়ে (বড় মেশিন বা বেশি মেশিন) বেশি ভার সামলানোর ক্ষমতা।
  • Elasticity: এমন scalability, যেটা নিজে থেকেই, আর দুই দিকেই হয়। চাহিদা বাড়লে capacity বাড়ে, কমলে আবার কমে, আর যা সরিয়ে দিলে তার টাকাও আর দিতে হয় না।

নিজের data center বনাম cloud: capacity-র হিসাব

একই online দোকান দুই জায়গায় চলছে: একদিকে কোম্পানির নিজের কেনা তিনটা server, আরেকদিকে Auto Scaling group-এর ভেতরে EC2 instance। একটা দিন বেছে নাও, তারপর দেখো কে সামলাতে পারে।

পরিস্থিতি

traffic স্বাভাবিক। দুই দিকই চলছে, পার্থক্য শুধু টাকা দেওয়ার ধরনে।

নিজের data center (on-premises)
us-east-1
Auto Scaling group
ক্রেতারা
srv-1
srv-2
srv-3
Hardware বিক্রেতা
web-1
web-2
Scaling policy
ধাপ 1 / 3
1

সাধারণ একটা কাজের দিন। request আসছে একই হারে, দুই দিকেই দুইটা server হলেই চলে।

animation-টা elasticity যে দুটো সমস্যা মেটায় সেটা দেখায়। সেলের দিনে on-premises দোকান বসে যায়, কারণ তার কাছে তিনটা server-ই সব। ফাঁকা রাতে সে এমন server-এর টাকা দিচ্ছে যেগুলো কিছুই করছে না। cloud-এর দিক কয়েক মিনিটে instance বাড়িয়ে নেয়, ভিড় শেষে সরিয়ে দেয়। আর hardware নষ্ট হলে বাড়তি যন্ত্র AWS-এর আছে ঠিকই, কিন্তু দোকান online থাকবে তখনই, যখন তোমার design-এ একটার বেশি instance আছে।

#Cloud-এর ছয়টা সুবিধা

cloud-এ গেলে কী লাভ, AWS সেটা ছয়টা সুবিধা হিসেবে বলে। পরীক্ষায় এগুলো বারবার আসে, তবে বেশির ভাগ সময় ছদ্মবেশে।

সুবিধামানে কীপরীক্ষায় যে কথাগুলো দেখলে বুঝবে
নির্দিষ্ট খরচের বদলে পরিবর্তনশীল খরচকতটা লাগবে জানার আগেই server কেনার বদলে, যা ব্যবহার করলে শুধু তার দাম"avoid large upfront investment", "pay only for what you use"
বিশাল economies of scale-এর সুবিধাAWS লক্ষ লক্ষ customer-এর জন্য hardware আর বিদ্যুৎ কেনে, তাই প্রতি ইউনিটের খরচ কম, আর সেই সাশ্রয় কম দামে ফেরত দেয়"lower per-unit cost", "AWS has reduced prices many times"
capacity আন্দাজ করা বন্ধএমন একটা peak-এর জন্য আগেই না কিনে, ছোট থেকে শুরু করো, চাহিদার সাথে বাড়াও"unpredictable traffic", "avoid over-provisioning"
গতি আর চটপটে ভাব বাড়েনতুন resource কয়েকটা click বা একটা API call দূরে; সপ্তাহের বদলে মিনিট"experiment quickly", "reduce time to market"
data center চালানো আর রক্ষণাবেক্ষণে টাকা খরচ বন্ধengineer-দের সময় যায় তোমার product-এ, server বসানোয় না"focus on the business", "undifferentiated heavy lifting"
কয়েক মিনিটে সারা বিশ্বেকয়েকটা click-এ পৃথিবীর নানা Region-এ deploy করো, user-দের কাছাকাছি (লেসন ১.২)"low latency for users in other continents", "expand to Europe quickly"

#AWS কী

Amazon Web Services (AWS) হলো Amazon-এর cloud provider। server আর আরও শত শত service দেয়, যেগুলো দরকারমতো ব্যবহার করা যায় আর সহজেই বাড়ানো যায়। ছোট্ট একটা ইতিহাস জানলে বুঝবে AWS কেন এমন:

  • ২০০০-এর দশকের শুরুতে Amazon-এর নিজের engineer-রা ভেতরের কাজের জন্য একটা সবার-ব্যবহারযোগ্য infrastructure বানায়, যাতে প্রতিটা project-এ টিমগুলোকে একই server আর database বারবার বানাতে না হয়। ওরা বুঝতে পারে, infrastructure ভালোভাবে চালানো Amazon-এর একটা বড় শক্তি, আর অন্য কোম্পানিরাও এর জন্য টাকা দেবে।
  • ২০০৪: প্রথম public service, একটা message queue (SQS, অধ্যায় ১৩-তে পড়বে), beta হিসেবে চালু হয়।
  • ২০০৬: AWS নতুন করে চালু হয় S3 (storage, মার্চে) আর EC2 (virtual server, আগস্টে) নিয়ে। আজও প্রায় সব কিছুর ভিত্তি এই দুটোই।
  • ২০০৭: আমেরিকার বাইরে প্রথম resource, ইউরোপে। এখন মানুষ থাকে এমন প্রতিটা মহাদেশে AWS-এর Region আছে (লেসন ১.২)।

AWS সবচেয়ে বড় cloud provider। ২০২৪ সালে এর আয় ১০০ বিলিয়ন ডলার ছাড়িয়েছে, আর এক দশকেরও বেশি সময় ধরে বাজারে এক নম্বরে, Microsoft Azure আর Google Cloud-এর আগে। সব আকারের কোম্পানি এর ওপর চলে: Amazon.com নিজে, Netflix, ব্যাংক, সরকারি প্রতিষ্ঠান, start-up, game studio।

সাধারণত যে কাজে লাগে: কোম্পানির IT আর অফিসের ভেতরের system, backup আর storage, big data analytics, website, mobile আর social app, game, machine learning, high-performance computing। এই course-এ service-গুলো আসবে যে ক্রমে তোমার দরকার সেই ক্রমে, যে ক্রমে চালু হয়েছিল সেই ক্রমে না।

#Service model: IaaS, PaaS, FaaS আর SaaS

"Cloud" কোনো একটা product না। provider-রা stack-এর কম-বেশি অংশ দেয়: একদম খালি virtual machine থেকে শুরু করে পুরো তৈরি software পর্যন্ত। কোন model বেছে নিলে সেটাই ঠিক করে কতটা তুমি নিজে চালাবে আর কতটা provider তোমার হয়ে চালাবে।

Modelতুমি কী পাওতোমাকে তবুও যা চালাতে হয়AWS-এর উদাহরণAWS-এর বাইরে
On-premisesকিছুই না, সব নিজে বানাওসব কিছু, ভবন পর্যন্ত—নিজের server room
IaaS (Infrastructure as a Service)virtual server, storage, networkoperating system, runtime, application, dataEC2, EBS, VPCAzure VM, DigitalOcean droplet
PaaS (Platform as a Service)এমন একটা platform, যেটা তোমার code বা database চালায়application code, data, settingElastic Beanstalk; RDS-এর মতো managed databaseHeroku, Google App Engine
FaaS (Function as a Service), serverless-এর একটা রূপevent এলে একটা function চলেfunction-এর code আর তার permissionLambdaAzure Functions, Cloudflare Workers
SaaS (Software as a Service)তৈরি software, browser বা API দিয়ে ব্যবহারতোমার data, তোমার user আর তাদের accessAmazon Rekognition (API-এর পেছনে ছবি বিশ্লেষণ), Amazon WorkMailGmail, Zoom, Dropbox

IaaS-এর সবচেয়ে পরিষ্কার উদাহরণটা নোটেই আছে: EC2 হলো AWS-এর virtual server। তোমার নিজের কম্পিউটারের মতোই এর CPU, RAM, storage আর operating system (Linux বা Windows) আছে, কিন্তু সেটা আসলে বসে আছে AWS-এর data center-এ, আর তুমি সেটা কেনো না, ভাড়া নাও। তুমি পাচ্ছ শুধু মেশিনটা, তার ওপরে আর কিছু না, তাই EC2 হলো IaaS।

On-premises, IaaS, PaaS, FaaS, SaaS: তোমার হাতে কী থাকে

প্রতিটা বাক্স এমন একটা স্তর, যেটা তোমাকে নিজে চালাতে হয়। একটা model বেছে নাও, দেখো AWS কোন স্তরগুলো তোমার কাঁধ থেকে নামিয়ে নেয়।

পরিস্থিতি

সব স্তর তুমি চালাও।

ভবন, বিদ্যুৎ, ঠান্ডা রাখা, networkdata center নিজেই
Server আর storage hardwareকেনা, বসানো, সারানো, বদলানো
Virtualizationযে hypervisor একটা host-কে কয়েকটা VM-এ ভাগ করে
Operating systempatch, user, hardening
Runtime আর middlewareJava, Node.js, Python, web server, scaling
Application codeযেটা তোমার product-কে তোমার বানায়
Data, user আর accessযেকোনো model-এ সবসময় তোমার
ধাপ 1 / 2
1

নিজের data center-এ সব স্তরই তোমার: ভবনের বিদ্যুৎ সংযোগ থেকে শুরু করে database-এর data পর্যন্ত।

নিজেকে যাচাই করোপ্রশ্ন

একটা টিম নিজের server-এর operating system-এর ওপর পুরো নিয়ন্ত্রণ চায়, যাতে একটা custom kernel module install করতে পারে। কিন্তু hardware কিনতে বা দেখাশোনা করতে চায় না। কোন model, আর কোন AWS service?

#Deployment model: public, private, hybrid

service model-এর বাইরে আরেকটা প্রশ্ন আছে: cloud-টা কোথায় চলে আর কে কে মিলে ব্যবহার করে।

Modelকীসাধারণ কারণউদাহরণ
Public cloudprovider-এর মালিকানায়, provider-এর চালানো resource, internet দিয়ে অনেক customer মিলে ব্যবহার করে, তবে একে অন্যের থেকে আলাদাগতি, hardware লাগে না, pay as you go, সারা বিশ্বে পৌঁছানোAWS, Microsoft Azure, Google Cloud
Private cloudcloud-এর মতো self-service, কিন্তু infrastructure একটাই প্রতিষ্ঠান ব্যবহার করে, সাধারণত তার নিজের data center-একড়া নিয়ন্ত্রণ, বিশেষ আইনকানুন, আগে থেকে কেনা hardwareকোম্পানির নিজের চালানো VMware বা OpenStack cluster
Hybrid cloudon-premises system আর public cloud জোড়া লাগিয়ে একসাথে ব্যবহারধাপে ধাপে migration, যে data on-prem-এই রাখতে হবে, peak-এর সময় cloud-এ বাড়তি কাজ পাঠানো, cloud-এ backupএকটা ব্যাংক মূল হিসাবের খাতা রাখে নিজের data center-এ, mobile app চালায় AWS-এ, দুটো জোড়া VPN বা Direct Connect দিয়ে

আরও দুটো শব্দ সামনে পাবে:

  • Multi-cloud: একাধিক public provider (যেমন AWS আর Azure) একসাথে ব্যবহার। এটা মূলত ব্যবসার সিদ্ধান্ত, দর কষাকষির জোর বা কিনে নেওয়া অন্য কোম্পানির system-এর কারণে। ঝামেলা বাড়ায়, আর পরীক্ষায় খুব কমই সঠিক উত্তর হয়।
  • তোমার ভবনেই AWS: AWS Outposts-এর মতো service তোমার নিজের data center-এ AWS-এর চালানো rack বসিয়ে দেয়। যেসব কাজে on-prem system-এর সাথে খুব কম latency লাগে বা data জায়গাতেই রাখতে হয়, সেখানে কাজে লাগে, আর API থাকে AWS-এর মতোই। (Outposts নিয়ে অধ্যায় ২৫-এ।)

#Shared responsibility model

AWS-এ গেলে নিরাপত্তা অন্য কারও মাথাব্যথা হয়ে যায় না। দায়িত্বটা ভাগ হয়ে যায়। AWS ভাগটা এক কথায় বলে:

  • AWS-এর দায়িত্ব cloud-এর নিরাপত্তা: যে infrastructure-এর ওপর সব AWS service চলে। মানে ভবন, ভেতরে কে ঢুকবে, বিদ্যুৎ, ঠান্ডা রাখা, hardware, সারা বিশ্বের network, আর service-গুলো চালানোর software (যেমন EC2-এর নিচের hypervisor)।
  • তোমার দায়িত্ব cloud-এর ভেতরের নিরাপত্তা: cloud-এ তুমি যা রাখো আর যেভাবে সাজাও, সব। তোমার data, কে সেটা পাবে (IAM, অধ্যায় ২), তোমার network rule (security group আর network ACL, লেসন ৩.৫), encryption-এর সিদ্ধান্ত, আর service ভেদে operating system আর application।

#Service বদলালে সীমারেখাও সরে

service যত বেশি কাজ তোমার হয়ে করে, stack-এর তত বেশি অংশ AWS নিজের ঘাড়ে নেয়। তবে তোমার data আর access-এর setting সবসময় তোমার কাছেই থাকে।

কাজEC2 (IaaS)RDS (managed database)Lambda (FaaS)S3 (managed storage)
ভৌত data center, hardware, networkAWSAWSAWSAWS
hypervisor আর host operating systemAWSAWSAWSAWS
guest operating system-এর patchতুমিAWSAWSAWS (তোমার কোনো OS নেই)
database engine বা runtime-এর patchতুমি (যা install করেছ)AWS (তোমার maintenance window-এ)AWS (managed runtime)—
application code আর তার libraryতুমিতুমি (query, schema)তুমি—
network-এ ঢোকার ruleতুমি (security group, NACL)তুমি (security group, public কি না)তুমি (VPC setting, function URL-এর auth)তুমি (bucket policy, Block Public Access)
পরিচয় আর permissionতুমি (IAM role)তুমি (IAM আর database user)তুমি (execution role)তুমি (IAM আর bucket policy)
data encrypt করা আর backup রাখাতুমি ঠিক করোতুমি ঠিক করো (চালায় AWS)তুমি ঠিক করোতুমি ঠিক করো (encryption default-এ চালু)
তোমার dataতুমিতুমিতুমিতুমি

কিছু control-কে বলে shared control, কারণ দুই পক্ষই নিজের নিজের স্তরে এর একটা করে অংশ করে:

  • Patch management: AWS patch দেয় infrastructure-এ; তুমি দাও তোমার guest OS আর application-এ।
  • Configuration management: AWS নিজের device সাজায়; তুমি সাজাও তোমার OS, database আর application।
  • Awareness and training: AWS নিজের লোকদের প্রশিক্ষণ দেয়; তুমি দাও তোমার লোকদের।

আর কিছু হলো inherited control: তুমি কিছু না করেই AWS থেকে পেয়ে যাও, যেমন data center-এর ভৌত আর পরিবেশগত সুরক্ষা। auditor-রা এগুলোর জন্য AWS-এর report-ই মেনে নেয় (report নামাও AWS Artifact থেকে, AWS-এর compliance report-এর self-service portal)।

Shared responsibility: কাজটা কার?

একটা AWS account-এ ছয়টা গোলমাল হলো। প্রতিটায় দেখো কার এগিয়ে আসার কথা: AWS-এর (cloud-এর নিরাপত্তা), নাকি তোমার (cloud-এর ভেতরের নিরাপত্তা)।

পরিস্থিতি

Linux kernel-এ নতুন একটা দুর্বলতা প্রকাশ পেল।

ঘটনা বা আক্রমণকারী
তোমার resourceEC2, RDS, S3, Lambda
তুমিcloud-এর ভেতরের নিরাপত্তা
AWScloud-এর নিজের নিরাপত্তা
CVE-2026-xxxx
ধাপ 1 / 4
1

Linux kernel-এর একটা গুরুতর দুর্বলতার খবর বের হলো। physical host আর তোমার instance, দুই জায়গাতেই Linux চলে।

#বাস্তবে কোথায় গোলমাল হয়

cloud-এর প্রায় সব বিখ্যাত ফাঁসের ঘটনা ঘটেছে সীমারেখার customer-এর দিকে:

  • একটা S3 bucket public করে দেওয়া, ভেতরে গোপন file। S3 ঠিক তাই করেছে যা policy বলেছে। (এখন নতুন bucket-এ default-এই public access বন্ধ থাকে আর object encrypt হয়, কিন্তু মানুষ চাইলে সেটা বন্ধ করে দিতে পারে।)
  • SSH বা database-এর port 0.0.0.0/0-এর জন্য খোলা, কয়েক মিনিটেই bot-রা খুঁজে পায়।
  • patch না দেওয়া EC2 instance, যেখানে জানা দুর্বলতাওয়ালা পুরনো web server চলছে।
  • access key GitHub-এ push করে ফেলা, তারপর কেউ সেটা দিয়ে ভুক্তভোগীর টাকায় crypto-mining instance চালায় (long-term key কীভাবে এড়াবে, অধ্যায় ২ আর লেসন ১.৩-এ)।
  • দুর্বল admin password-ওয়ালা database, যেটা internet থেকে পৌঁছানো যায়।

নোটে একই নিয়মের একটা ছোট উদাহরণ আছে: NAT instance (লেসন ৩.৪) আসলে একটা সাধারণ EC2 instance, তাই এর scaling, OS patch আর high availability তোমার কাজ। আর NAT gateway চালায় AWS। managed service বেছে নিলে কাজের একটা অংশ সীমারেখা পেরিয়ে AWS-এর দিকে চলে যায়।

#AWS কীভাবে টাকা নেয়

AWS-এ প্রায় সবকিছুর দাম pay as you go: আগে কিছু দিতে হয় না, default-এ কোনো লম্বা চুক্তি নেই, ব্যবহার থামালে টাকা দেওয়াও থামে। প্রায় প্রতিটা bill-এর পেছনে তিনটা জিনিস:

  1. Compute: তোমার resource কতক্ষণ চলল, আর কত বড়। EC2-এর Linux instance bill হয় সেকেন্ড ধরে (কমপক্ষে এক মিনিট); Lambda bill হয় প্রতি request আর প্রতি millisecond চলার সময় ধরে, memory অনুযায়ী।
  2. Storage: কতটা data রাখলে আর কতদিন, সাধারণত প্রতি GB-মাস ধরে। S3, EBS volume, snapshot, backup সবই এর মধ্যে। কিছু না চললেও storage-এর bill চলতেই থাকে।
  3. Data transfer out: AWS থেকে internet-এ বা এক Region থেকে আরেক Region-এ যাওয়া data-র দাম GB প্রতি। internet থেকে ভেতরে আসা data ফ্রি।
Data কোথা থেকে কোথায়দাম (us-east-1, মোটামুটি)
Internet → AWS (data in)ফ্রি
AWS → internet (data out), প্রতি মাসে প্রথম ১০০ GB, পুরো account মিলিয়েফ্রি
AWS → internet, তার পরেGB প্রতি প্রায় $0.09, বেশি পরিমাণে আরও কম
একই Region-এর দুইটা Availability Zone-এর মধ্যেপ্রতি দিকে GB প্রতি প্রায় $0.01
একই Availability Zone-এর ভেতরে, private IP address দিয়েফ্রি
একই Region-এ EC2 ↔ S3ফ্রি (S3-কে storage আর request-এর দাম দাও)
এক Region থেকে আরেক RegionGB প্রতি দাম, সাধারণত প্রায় $0.02

দাম Region ভেদে আলাদা, সময়ের সাথে বদলায়ও; কোনো সংখ্যার ওপর ভরসা করার আগে pricing page বা AWS Pricing Calculator দেখে নিও।

AWS-এর bill কী কী গোনে

একটা web app দুইটা Availability Zone-এ চলছে, file রাখে S3-এ। data এদিক-ওদিক পাঠাও, দেখো কোনটা bill-এ ওঠে আর কোনটা ওঠে না।

পরিস্থিতি

Internet থেকে AWS-এ পাঠানো।

us-east-1
us-east-1a
us-east-1b
Internet-এর user
app-a
EBS 100 GB
worker-a
app-b
S3 bucket
50 GB

এই মাসের data transfer

কোথা থেকে কোথায়GBদামখরচ
Internet → EC2 (ভেতরে)50$0$0
ধাপ 1 / 2
1

এই মাসে user-রা app-a-তে ৫০ GB ছবি upload করল।

#AWS দাম কমানোর তিনটা উপায় দেয়

  1. Pay as you go: default উপায়। নতুন, হঠাৎ ওঠানামা করা বা অল্পদিনের কাজের জন্য সবচেয়ে ভালো।
  2. কথা দিলে সাশ্রয়: এক বা তিন বছর একটা নির্দিষ্ট পরিমাণ ব্যবহারের কথা দাও (Savings Plans, Reserved Instances), On-Demand-এর চেয়ে প্রায় ৭২% পর্যন্ত কম দাম। লেসন ৪.৪-এ বিস্তারিত।
  3. বেশি ব্যবহারে কম দাম: ধাপে ধাপে দাম, পরিমাণ যত বাড়ে প্রতি ইউনিটের দাম তত কমে (যেমন data transfer out আর S3 storage-এ বেশি পরিমাণে GB প্রতি দাম কমে যায়)।

#CapEx, OpEx আর মোট খরচ (TCO)

CapEx (capital expenditure)OpEx (operational expenditure)

  • নিজের মালিকানার সম্পদে আগেই টাকা ঢালা: server, storage-এর যন্ত্র, data center।
  • কতটা কাজে লাগবে জানার আগেই দাম দেওয়া।
  • হিসাবের খাতায় কয়েক বছর ধরে ভাগ করে দেখানো হয় (depreciation)।
  • ফেরানো কঠিন: ব্যবহার না হলেও server-এর দাম তো দেওয়া হয়ে গেছে।
  • এটাই on-premises-এর ধরন।
  • যা ব্যবহার করছ সেই service-এর জন্য চলতে চলতে টাকা দেওয়া: ঘণ্টা ধরে instance, GB-মাস ধরে storage।
  • ব্যবহারের পরে দাম, সত্যিকারের চাহিদার সাথে মিলিয়ে।
  • প্রতি মাসের সাধারণ চলতি খরচ।
  • থামানো সহজ: resource মুছে দিলেই খরচ বন্ধ।
  • এটাই cloud-এর ধরন (Savings Plans-এর মতো চুক্তি দুইয়ের মাঝামাঝি)।

একটা server-এর দামের সাথে একটা instance-এর ঘণ্টার দাম মেলানো ঠিক তুলনা না। TCO (total cost of ownership) একটা system-এর পুরো জীবনে আসলে যত খরচ হয়, সব গোনে:

  • On-premises: hardware, software license, data center-এর জায়গা, বিদ্যুৎ আর ঠান্ডা রাখা, network সংযোগ, বাড়তি যন্ত্রাংশ, চালানোর লোকজন, আর peak-এর জন্য কিনে রাখা অলস capacity-র দাম।
  • Cloud: service-এর দাম, data transfer, support plan, design আর চালানোর লোকজন, আর migration-এর খরচ।

অনেক সময় TCO-তে cloud জেতে, কারণ অলস capacity আর data center-এর লোকবলের খরচ উধাও হয়ে যায়। আবার সবসময় জেতে না: বিশাল, একদম স্থির একটা কাজ, যার hardware-এর দাম আগেই উঠে গেছে, সেটা on-premises-এ সস্তা হতে পারে। Solutions Architect-এর কাজ হলো হিসাবটা করা, ধরে নেওয়া না।

#Economies of scale

AWS server, disk, network-এর যন্ত্র আর বিদ্যুৎ কেনে এমন পরিমাণে, যা কোনো একক customer-এর পক্ষে সম্ভব না। নিজের hardware নিজেই design করে (যেমন Nitro system আর Graviton processor), আর প্রচুর automation দিয়ে চালায়। এতে প্রতি ইউনিটের খরচ কমে। ২০০৬ থেকে AWS এই সাশ্রয়ের একটা অংশ একশোবারেরও বেশি দাম কমিয়ে customer-দের ফেরত দিয়েছে। এটাই "বিশাল economies of scale-এর সুবিধা"।

নিজেকে যাচাই করোপ্রশ্ন

us-east-1-এর একটা application এই মাসে internet-এর user-দের ১,১০০ GB download দিয়েছে, account-এর আর কিছুই বাইরে data পাঠায়নি। ফ্রি অংশের পর GB প্রতি $0.09 ধরলে data transfer out-এর খরচ মোটামুটি কত?

#System design-এ cloud

এই লেসনের ধারণাগুলো AWS-এ system design করার ধরনটাই বদলে দেয়:

  • ব্যর্থতার কথা ভেবে design করো। AWS-এও hardware নষ্ট হয়। hardware ঠিক করে AWS; user টের পাবে কি না, সেটা ঠিক করে তোমার design। একের বেশি কপি চালাও, একের বেশি Availability Zone-এ (লেসন ১.২), load balancer-এর পেছনে (অধ্যায় ৬)।
  • server-কে বদলযোগ্য ভাবো। নতুন instance যেহেতু একটা API call দূরে, নষ্ট বা পুরনো server সারানোর বদলে বদলে ফেলো। golden AMI আর launch template (লেসন ৪.৩) এই কাজটাকে রোজকার ব্যাপার বানিয়ে দেয়।
  • চাহিদার সাথে বাড়াও-কমাও। elasticity কাজে লাগাও: instance-এর জন্য Auto Scaling, নিজে থেকে বাড়ে-কমে এমন serverless service, আর অলস জিনিস বন্ধ রাখা (রাতে development environment)।
  • খরচকে design-এর অংশ বানাও। data transfer, অলস resource আর ভুলে যাওয়া storage, এগুলো architecture-এরই সিদ্ধান্ত। নিরাপদ হলে অনবরত কথা বলা অংশগুলো একই AZ-এ রাখো, download দাও CDN দিয়ে (অধ্যায় ১১), আর resource-এ tag দাও যাতে বোঝা যায় কে কত খরচ করছে।
  • মানানসই হলে managed service বেছে নাও। প্রতিটা managed service shared responsibility-র সীমারেখার একটা অংশ AWS-এর দিকে সরিয়ে দেয়: patch দেওয়ার server কমে, রাত ৩টায় ভাঙার জিনিসও কমে।
  • Well-Architected Framework চেনো। ভালো cloud design-এর জন্য AWS-এর নির্দেশনা ছয়টা স্তম্ভের ওপর দাঁড়িয়ে: operational excellence, security, reliability, performance efficiency, cost optimization আর sustainability। অধ্যায় ২৬-এ এগুলো ধরে ধরে দেখবে; এই course-এর প্রতিটা অধ্যায়ই এগুলো ছুঁয়ে যায়।

#নিজে করে দেখো

#AWS Pricing Calculator দিয়ে একটা ছোট bill আন্দাজ করো

  1. Calculator খোলো

    calculator.aws-এ যাও (account লাগে না), তারপর Create estimate বেছে নাও।

  2. একটা ছোট web server যোগ করো

    Amazon EC2 যোগ করো, Region US East (N. Virginia), একটা Linux t3.micro, মাসে ৭৩০ ঘণ্টা চলবে (সবসময় চালু), সঙ্গে ২০ GB-র একটা gp3 EBS volume।

  3. Storage আর traffic যোগ করো

    Amazon S3 Standard যোগ করো, ৫০ GB রাখা থাকবে; আর EC2-এর entry-তে internet-এ data transfer out দাও মাসে ২০০ GB।

  4. ফলাফল পড়ো

    দেখো কোন লাইনটা সবচেয়ে বড়। তারপর instance-এর ঘণ্টা বদলে ২০০ করো (শুধু অফিসের সময়), দেখো compute-এর লাইন কতটা কমে, অথচ storage-এর লাইন একটুও নড়ে না। ওই পার্থক্যটাই হাতে-কলমে pay-as-you-go।

#কাঁচা price list দেখো

AWS প্রতিটা দাম machine-এ পড়ার মতো file হিসেবে প্রকাশ করে। এই command সেই service-গুলোর তালিকা দেখায়, যাদের price list আছে:

curl -s https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/index.json | head -c 600

CLI ঠিকমতো ব্যবহার করবে লেসন ১.৩-এ; aws pricing get-products একই data filter দিয়ে পড়ে।

#হাতে-কলমে TCO-র হিসাব

একটা কোম্পানির পরিকল্পনা: ৪টা server, প্রতিটা $6,000, ৩ বছর পরপর বদলাতে হবে। সঙ্গে rack-এর জায়গা আর বিদ্যুতের জন্য মাসে $300, আর একজন engineer-এর সময়ের চার ভাগের এক ভাগ, মাসে $2,000 ধরে। হিসাব: $24,000 / ৩৬ মাস ≈ $667 + $300 + $500 ≈ মাসে $1,467, server ব্যস্ত থাকুক বা না থাকুক। এবার calculator-এ সমান চারটা instance-এর দাম দেখো, শুধু দরকারের সময় চালিয়ে, তারপর তুলনা করো। শেষে নিজেকে জিজ্ঞেস করো, দুই দিকেই এই তুলনায় কী কী বাদ পড়ে গেল।

#সারসংক্ষেপ

মূল কথা

  • Cloud computing মানে internet দিয়ে, দরকারের সময়, IT resource পাওয়া, আর যতটুকু ব্যবহার ততটুকুর দাম। hardware-এর মালিক আর চালক provider; তুমি তার টুকরা ভাড়া নাও।
  • পাঁচটা বৈশিষ্ট্য: on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service। Elasticity মানে চাহিদা বাড়লে-কমলে capacity নিজে থেকেই তার পিছু নেয়।
  • AWS-এর ছয়টা সুবিধা: নির্দিষ্টের বদলে পরিবর্তনশীল খরচ, economies of scale, capacity আন্দাজ বন্ধ, গতি আর চটপটে ভাব, data center চালানোর ঝামেলা নেই, কয়েক মিনিটে সারা বিশ্বে।
  • IaaS (EC2): OS থেকে ওপরে তুমি চালাও। PaaS (Beanstalk, RDS): code আর data তোমার। FaaS (Lambda): তুমি চালাও একটা function। SaaS (Gmail, Rekognition): তোমার শুধু data আর user।
  • Public, private, hybrid: hybrid on-premises আর public cloud-কে জোড়া লাগায়; কিছু data জায়গাতেই রাখতে হলে এটাই উত্তর।
  • Shared responsibility: AWS দেখে cloud-এর নিরাপত্তা (ভবন, hardware, network, hypervisor); তুমি দেখো cloud-এর ভেতরের নিরাপত্তা (data, IAM, network rule, encryption, আর EC2-এর OS)। service যত managed, AWS তত বেশি নেয়, কিন্তু তোমার data আর permission সবসময় তোমার।
  • AWS টাকা নেয় compute, storage আর data transfer out-এর জন্য। ভেতরে আসা data ফ্রি; প্রতি মাসে বাইরে যাওয়া প্রথম ১০০ GB ফ্রি; এক AZ থেকে আরেক AZ-এ প্রতি দিকে GB প্রতি প্রায় $0.01।
  • CapEx হলো নিজের সম্পদের জন্য আগেই টাকা দেওয়া; OpEx হলো চলতে চলতে দেওয়া। গায়ের দাম না, তুলনা করো TCO দিয়ে। instance বন্ধ করার পরও storage, IP আর কিছু managed resource-এর bill চলে: আগে budget সেট করো (লেসন ১.৪)।