AWS Global Infrastructure
AWS Global Infrastructure কেন জানতে হবে?
AWS-এ যা কিছু build করবেন যেমন EC2, RDS, Lambda, S3 সব কিছু এই infrastructure-এর উপর বসে। ভুলভাবে Region বেছে নিলে latency বাড়বে, compliance ভাঙবে, cost বেশি হবে। Production-এ disaster recovery design করতে হলে AZ আর Region-এর boundary সম্পর্কে crystal clear থাকতে হবে।
CloudOps Engineer হিসেবে প্রতিদিন এই concepts দিয়ে কাজ করতে হবে – Multi-AZ deployment, Region failover, Edge caching সব কিছুর ভিত্তি এই AWS Global Infrastructure।
Infrastructure-এর স্তরগুলো – কোনটা কোথায় বসে?
AWS Global Infrastructure চারটা স্তরে ভাগ করা যায়:
┌─────────────────────────────────────────────┐
│ AWS Global Network │
│ ┌───────────────────────────────────────┐ │
│ │ Region (e.g. ap-south-1) │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ AZ-a │ │ AZ-b │ │ │
│ │ │ [DC1][DC2] │ │ [DC1][DC2] │ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ └───────────────────────────────────────┘ │
│ │
│ Edge Location Local Zone │
│ [CloudFront PoP] [Metro-level compute] │
└─────────────────────────────────────────────┘
1. AWS Global Network ← সবার বাইরের layer (backbone fiber network)
2. Region ← ভৌগলিক এলাকা (যেমন ap-south-1)
3. Availability Zone ← Region-এর ভেতরে (AZ-a, AZ-b, AZ-c)
4. Edge Location / ← Region-এর বাইরে, user-এর কাছে
Local Zone
একটু সহজভাবে:
- Global Network – AWS-এর নিজস্ব undersea + terrestrial fiber cable যা সব Region কে connect করে। Public internet use করে না।
- Region – এই network-এর উপর বসানো একটা দেশ/এলাকার পূর্ণ infrastructure (Mumbai, Singapore ইত্যাদি)
- AZ – Region-এর ভেতরে physically আলাদা data center group
- Edge Location / Local Zone – Region-এর বাইরে কিন্তু user-এর আরও কাছে থাকা ছোট outpost
AZ-a আর AZ-b আলাদা স্তর নয় – এরা দুটোই একই স্তরে (AZ layer), শুধু একটা Region-এর দুটো আলাদা AZ।
- Undersea cable – সমুদ্রের তলা দিয়ে যায় (মহাদেশ থেকে মহাদেশে)
- Terrestrial fiber – মাটির নিচে দিয়ে যায় (একই মহাদেশের ভেতরে, শহর থেকে শহরে)
উদাহরণ: Mumbai Region থেকে Singapore Region-এ data যাওয়ার সময় প্রথমে terrestrial fiber দিয়ে Mumbai থেকে ভারতের উপকূলে, তারপর undersea cable দিয়ে Bay of Bengal পার হয়ে Singapore।
AWS এই দুটো মিলিয়ে নিজস্ব private global network তৈরি করেছে। আপনার data public internet-এ যায় না, AWS-এর নিজের wire-এ যায়। এতে speed বেশি, latency কম, security বেশি।
Region – AWS-এর ভৌগলিক ঘাঁটি
Region হলো একটা নির্দিষ্ট ভৌগলিক এলাকায় AWS-এর পূর্ণ infrastructure cluster। বর্তমানে AWS-এর ৩৯টি launched Region আছে, প্রতিটিতে multiple Availability Zones রয়েছে।
Naming convention:
us-east-1 → N. Virginia
ap-south-1 → Mumbai
ap-southeast-1 → Singapore
eu-west-1 → Ireland
Region বাছাইয়ের ৪টা criteria – production-এ এটাই decision framework:
| Criteria | উদাহরণ |
|---|---|
| Latency | Users ঢাকায়? → ap-south-1 (Mumbai) |
| Compliance | GDPR লাগলে → EU Region |
| Cost | us-east-1 সবচেয়ে সস্তা সাধারণত |
| Service availability | নতুন service আগে us-east-1-এ আসে |
গুরুত্বপূর্ণ বিষয়: প্রতিটি Region সম্পূর্ণ isolated। একটা Region-এ failure হলে অন্য Region-এ কোনো প্রভাব পড়ে না। এটাই Multi-Region DR-এর ভিত্তি।
Availability Zone – Fault Tolerance-এর আসল ইউনিট
AZ হলো একটা Region-এর ভেতরে physically আলাদা data center cluster।
প্রতিটি AZ-এর independent power, cooling এবং physical security আছে। AZ গুলো redundant, ultra-low-latency network দিয়ে একে অপরের সাথে connected।
ap-south-1 (Mumbai Region)
├── ap-south-1a ← AZ 1 (আপনার EC2 এখানে)
├── ap-south-1b ← AZ 2 (আপনার RDS standby এখানে)
└── ap-south-1c ← AZ 3
Redundant মানে হলো একাধিক path থাকা। একটা কাটা গেলে অন্যটা দিয়ে data transfer হবে। কখনো connection হারাবে না।
Ultra-low-latency মানে AZ-গুলো physically কাছাকাছি (সাধারণত ১০০ km-এর মধ্যে), তাই data ট্রান্সফার হতে সময় লাগে মাত্র ১-২ millisecond।
মনে করেন ঢাকা থেকে গাজীপুর যাওয়ার জন্য যদি তিনটা আলাদা রাস্তা থাকে আর তার মধ্যে একটা বন্ধ হলে বাকি দুটো দিয়ে যাওয়া যাবে (redundant), আর দূরত্ব কম বলে পৌঁছাতেও কম সময় লাগে (low-latency)।
AZ-গুলোর মধ্যে এই network-এর কারণেই Multi-AZ database replication real-time কাজ করে – Mumbai-এর AZ-a থেকে AZ-b-তে data sync হয় প্রায় instantly।
AZ Code vs AZ ID – এটা অনেকে জানে না:
AZ “a” আপনার account-এ আর আমার account-এ physically same data center নাও হতে পারে। AWS random shuffle করে দেয়। কিন্তু AZ ID (aps1-az1) সব account-এ same physical location বোঝায়। Multi-team বা cross-account architecture-এ এটা গুরুত্বপূর্ণ।
# আপনার account-এ AZ ID দেখুন
aws ec2 describe-availability-zones \
--region ap-south-1 \
--query 'AvailabilityZones[*].[ZoneName,ZoneId]' \
--output table
Production rule: সবসময় minimum ২টা AZ-তে deploy করুন। Single AZ = single point of failure।
Edge Locations – User-এর কাছে Content পৌঁছানোর রাস্তা
Edge Location হলো AWS-এর ছোট ছোট “ডেলিভারি পয়েন্ট” যেগুলো বিশ্বের বড় বড় শহরে ছড়িয়ে আছে।
ধরুন Amazon.com থেকে কিছু order করলেন। Amazon কিন্তু সব product আমেরিকার main warehouse থেকে পাঠায় না। মনে করেন ঢাকার কাছে একটা local delivery hub আছে, সেখান থেকে পাঠায়। তাই দ্রুত পান।
Edge Location ঠিক এভাবেই কাজ করে। আপনার website-এর content মূল server-এ আছে Mumbai-তে, কিন্তু ঢাকার user request করলে সেটা Mumbai থেকে না এসে কাছের Edge Location (যেমন Kolkata বা Chennai) থেকে deliver হয়। ফলে অনেক দ্রুত লোড হয়।
মূল কথা তিনটা:
- Main infrastructure নেই মানে EC2, RDS এখানে চলে না
- শুধু content cache করে রাখে
- CloudFront এই Edge Location-গুলো ব্যবহার করে content দ্রুত পৌঁছে দিতে
বর্তমানে ৪০০+ Edge Location আছে globally।
কীভাবে কাজ করে:
User (ঢাকা)
↓ Request
Edge Location (Kolkata PoP) ← Cache hit? → Content সরাসরি দিয়ে দেয়
↓ Cache miss
Origin Server (ap-south-1, Mumbai)
↓ Response
Edge Location cache করে রাখে
↓
User পায় - কম latency
Edge Location-এ যে services কাজ করে:
- CloudFront – CDN, content caching
- Route 53 – DNS resolution
- AWS Global Accelerator – TCP/UDP traffic optimization
- Lambda@Edge – Request/response manipulation at edge
Local Zones – Metro-level Compute
AWS Local Zones compute, storage, database এবং অন্যান্য AWS services end-user-এর কাছে নিয়ে যায়। Single-digit millisecond latency দরকার হয় এমন applications যেমন media content creation, real-time gaming, reservoir simulation, ML-এর জন্য।
Region vs Local Zone পার্থক্য:
Region (ap-south-1, Mumbai)
└── Full service portfolio
└── Multi-AZ available
└── সব AWS service আছে
Local Zone (e.g. Delhi Local Zone - ap-south-1-del-1)
└── Limited service (EC2, EBS, ELB, VPC)
└── Extension of parent Region
└── Parent Region-এর VPC-এর অংশ হিসেবে কাজ করে
কখন Local Zone দরকার: আপনার app Mumbai Region-এ আছে কিন্তু Delhi-র users-এর জন্য sub-10ms latency চাই তখন Delhi Local Zone-এ compute রাখুন।
Wavelength Zones ও Outposts – একটু জেনে রাখুন
| Component | কী করে | কখন লাগে |
|---|---|---|
| Wavelength Zone | 5G carrier network-এর edge-এ AWS compute | IoT, AR/VR, connected vehicles |
| Outposts | AWS hardware আপনার on-premises data center-এ | Hybrid cloud, data residency strict |
SOA-C03-এ এগুলো deep-এ আসে না, তবে concept জানা দরকার।
Production-এ যে ভুলগুলো সবাই করে
1. Single AZ deployment: Dev/test সার্ভারস একটা AZ-তে চালালেন আবার production-এও same কাজটাই করলেন। কোন কারনে ঐ AZ down হলে পুরো app down। অতএব সবসময় Multi-AZ ব্যবহার করুন।
2. Region selection: App deploy করার পরে দেখলেন compliance বলছে data EU-তে থাকতে হবে। Region migrate করা অনেক কঠিন অতএব শুরুতেই ঠিক করুন।
3. Service availability না দেখে Region বাছাই করা: নতুন service us-east-1-এ আছে, ap-south-1-এ নেই – এটা না জেনে architecture করলে পরে ঝামেলা। সবসময় AWS Regional Services List দেখুন।
4. AZ name আর AZ ID এক নয়: Cross-account resource share করার সময় AZ name নয়, AZ ID use করুন।
5. Edge Location-কে AZ ভাবা: Edge Location-এ EC2 বা RDS deploy হয় না। শুধু CDN/DNS/Accelerator কাজ করে।
SOA-C03-এ এই Topic কীভাবে আসে?
এই topic সাধারণত Reliability and Business Continuity এবং Networking domain-এ scenario question হিসেবে আসে।
Sample Question 1:
একটা কোম্পানির e-commerce application ap-south-1 Region-এ চলছে। তারা চায় কোনো একটা data center failure-এ application unavailable না হোক। সবচেয়ে কম operational overhead-এ এটা নিশ্চিত করতে কী করবেন?
- A) Application একাধিক Region-এ deploy করুন
- B) Application একাধিক AZ-এ deploy করুন এবং ALB ব্যবহার করুন
- C) CloudFront দিয়ে content cache করুন
- D) Reserved Instances ব্যবহার করুন
উত্তর: B Data center failure মানে AZ-level failure। Multiple AZ + ALB = standard HA solution। Region-level replication (A) overkill এবং বেশি cost/overhead। C শুধু static content-এ কাজ করে।
Sample Question 2:
একটা gaming company তাদের real-time multiplayer game-এর জন্য দিল্লির users-এর কাছে 5ms-এর নিচে latency চায়। কোন AWS infrastructure component ব্যবহার করবেন?
- A) Edge Location
- B) AWS Outposts
- C) AWS Local Zone
- D) Regional AZ
উত্তর: C Local Zone = specific metro area-তে low-latency compute। Edge Location শুধু CDN cache। Outposts on-premises।
Trap: অনেকে Edge Location বেছে নেয় কারণ “edge” শব্দটা আছে কিন্তু Edge Location-এ compute হয় না।
Local Zone-এ আছে:
- EC2 (compute)
- EBS (storage)
- ELB (load balancer)
- VPC
- কিছু limited services
Edge Location-এ আছে:
- শুধু cache – content delivery, DNS resolution
পার্থক্যটা এক লাইনে:
Edge Location = content কাছে আনে Local Zone = computation কাছে আনে
কেন Local Zone-এ compute দরকার হয়:
ধরুন একটা real-time multiplayer game। শুধু content cache করলে হবে না। game-এর physics calculation, player position sync এগুলো actual compute করতে হবে। সেটা Mumbai Region থেকে করলে latency বেশি। তাই Delhi-তে Local Zone বসিয়ে সেখানে EC2-তে game server রান করলে Delhi-র users পাবে অনেক কম latency।
তবে মনে রাখবেন Local Zone-এ সব AWS service পাওয়া যায় না, Region-এর তুলনায় অনেক limited।
আজকের সারাংশ ও আগামীকালের প্রস্তুতি
আজকের lesson-এ আমরা শিখলাম AWS infrastructure একটা hierarchy – Region > AZ > Data Center। Fault isolation এই hierarchy ধরেই হয়। Edge Location এবং Local Zone আলাদা concept – compute নয়, proximity optimization।
Next Day: Day 2: IAM deep dive। কেন এই sequence? কারণ IAM ছাড়া AWS-এ কিছুই করতে পারবেন না। Region/AZ বুঝলেন, এখন সেই infrastructure-এ কে কী করতে পারবে সেটা control করা শিখতে হবে আর সেটাই IAM।