AWS Global Infrastructure je naziv za AWS-ovu svjetsku mrežu data centara – servera, međusobno povezanih i dostupnih preko interneta, na kojima rade cloud servisi poput servisa za računanje (EC2 – virtuelni serveri), baza podataka (RDS), servisa za skladištenje (S3) i drugih. Ova mreža rasprostranjena je na svim kontinentima i omogućava da naše aplikacije budu hostovane na više različitih lokacija širom svijeta čime se omogućava brža interakcija aplikacije sa krajnjim korisnicima.
Ukoliko želite da radite sa AWS cloud servisima, morate jasno razlikovati komponente AWS-ove globalne infrastrukture, znati kako su one povezane i kako funkcionišu kako biste izvukli najbolju konfiguraciju za potrebe vaše aplikacije u cloud-u. Komponente su:
- Regions
- Availability Zones (AZs)
- Edge Locations
- Regional Edge Caches
- Local Zones (LZs)
Regions
Region je najširi pojam u AWS globalnoj infrastrukturi, sastoji se iz više međusobno povezanih Availability Zona, drugim riječima region je klaster više AZ-eva. Svaki region se sastoji od najmanje dvije a najčešće tri Availability zone, međusobno udaljene jedna od druge oko 100km, sa različitim izvorima napajanja struje, dotoka interneta i slično, a sve to radi visoke dostupnosti (Hight availability) i bržeg oporavka od katastrofe (Disaster recovery).
Raspoređeni su širom svijeta i trenutno ih ima 24, dok su u pripremi još dva. Zahvaljujući gustoći i dobrom rasporedu globalne infrastrukutre AWS svojim klijentima i njihovim krajnjim korisnicima omogućava nisku latenciju (low latency) odnosno brži odziv aplikacije, kroz korištenje jednog ili više regiona (Multi Region), odnosno jednog ili više VPC-eva (Virtual Private Cloud).
Primjer: Bez obzira odakle je razvojni tim, region birate na osnovu lokaliteta korisnika. Pa stoga ako su krajnji korisnici vaše aplikacije u Njemačkoj, nema logike da koristite AWS region u Tokiju (ap-northeast-1) zbog prevelikog latency-a ali i zbog olakšanog rada u okviru pravne regulative. Pa tako je najbolje da za vaše korisnike iz Njemačke koristite AWS region u Frankfurtu (eu-central-1) kako biste omogućili najbolji odziv aplikacije prema korisnicima, a uz sve to ukoliko na bilo koji način prikupljate i obrađujete lične podatke ili posebnu grupu podataka građana EU, znatno lakše ćete ispoštovati GDPR regulativu ako iste skladištite i obrađujete na serverima unutar EU kakav je AWS-ov region u Frankfurtu.
Važno je napomenuti da nisu svi AWS servisi dostupni u svim regionima, o čemu se treba voditi računa prilikom izrade arhitekture cloud-a. S tim da su neki servisi klasifikovani kao globalni servisi, poput AWS IAM-a i AWS CloudFront-a što znači da ovi servisi nisu direktno vezani za specifični region. Konačna i uvijek ažurirana lista dostupnih servisa po regionima nalazi se na sledećem link-u: AWS Regional Services.
Nazivi i spisak regiona
AWS ima posebnu konvenciju za davanje imena regionima. Za svaki region postoje dva naziva, a to su obični naziv i kodni naziv regiona. Oni se koriste i prikazuju u zavisnosti gdje ih gledamo i koristimo, pa tako u menadžment konzoli dominiraće obični naziv dok ukoliko upravljamo cloud-om putem CLI-a onda će dominirati kodni naziv regiona.
Obični naziv | Kodni naziv |
US East – N. Virginia | us-east-1 |
US East – Ohio | us-east-2 |
US West – N. California | us-west-1 |
US West – Oregon | us-west-2 |
Africa – Cape Town | af-south-1 |
Asia Pacific – Hong Kong | ap-east-1 |
Asia Pacific – Mumbai | ap-south-1 |
Asia Pacific – Seoul | ap-northeast-2 |
Asia Pacific – Singapore | ap-southeast-1 |
Asia Pacific – Sydney | ap-southeast-2 |
Asia Pacific – Tokyo | ap-northeast-1 |
Canada – Central | ca-central-1 |
Europe – Frankfurt | eu-central-1 |
Europe – Ireland | eu-west-1 |
Europe – London | eu-west-2 |
Europe – Milan | eu-south-1 |
Europe – Paris | eu-west-3 |
Europe – Stockholm | eu-north-1 |
Middle East – Bahrain | me-south-1 |
South America – San Paulo | sa-east-1 |
Availability Zones (AZs)
AWS više svojih fizičkih data centra naziva Availability Zone (zona dostupnosti) ili skrećeno AZ. AZ je zapravo lokacija koja sadrži više objekata u kojima se nalazi hardverska infrastruktura za računanje, skladištenje, mreže i baze podataka, kojima se upravlja putem internet konekcije. Više AZ-eva čini jedan region, što ga čini užim pojmom od Regiona. Trenutno unutar 24 regiona egzistira 77 AZ-eva.
Geografska izolovanost AZ-eva se ne odnosi samo na njihovu međusobnu udaljenost (100km) nego i korištenje različitih izvora struje i interneta kako bi se minimizovao rizik od greške ili katastrofe jedne AZ, pa tako i cijelog regiona. AZ-evi su međusobno direktno povezani sa visoko izdržljivim fiber optičkim kablovima sa veoma malom latencijom. Ovakva međusobna povezanost omogućava da mnogi AWS servisi repliciraju podatke radi visoke dostupnosti, otpornosti na grešku i oporavka od katastrofe, što se postiže korištenjem više AZ-eva (Multiple AZs) unutar jednog regiona. Pa takva arhitektura (sa više AZ-eva) omogućava da ukoliko dođe do greške uticaj na rad aplikacije bude minimalan ili skoro nikakav. Pa je tako preporuka najbolje prakse da se koriste najmanje dvije AZ ukoliko želimo da postignemo visoku dostupnost, otpornost na grešku i oporavak od katastrofe.
Primjer: Vaša aplikacija koristi AWS RDS (neku relacionu bazu podataka), kako biste dostigli visoku dostupnost i otpornost na grešku, vašu bazu podataka konfigurišete za “Multi-AZ” deployment (primjenu) kreirajući primarnu bazu u jednoj i sekudarnu bazu u drugoj AZ. Na taj način AWS će kontinuirano raditi sinhronizaciju između ove dvije baze odnosno sinhronizovanu replikaciju, tako da ako dođe do velikog zemljotresa u jednoj AZ i baza bude uništena, aplikacija će nastaviti normalno raditi ni uz kakve ili uz minimalne gubitke podataka iz baze.
U odnosu na nazive regiona koji imaju dva naziva, AZ imaju samo jedan naziv odnosno samo kodni naziv. Kodni naziv AZ-a sastoji se od kodnog naziva regiona i dodanog slova koji iznačava AZ u datom regionu.
Pa tako za AZ-evi u AWS regionu u Frankfurtu imaju sledeće nazive:
- eu-central-1a
- eu-central-1b
- eu-central-1c
Edge locations
Edge lokacije su AWS objekti – lokacije raspoređeni u većim gradovima i visoko naseljenim područjima širom svijeta. Broj Edge lokacija daleko premašuje broj AZ-eva. Edge lokacije se ne koriste za infrastrukturne servise poput EC2 instanci, EBS-a, VPC-eva ili baza, nego se koriste za AWS servise poput CloudFront-a i AWS Lambda@Edge kako bi keširali podatke i smanjili brzinu odgovora-učitavanja sadržaja aplikacije za krajnje korisnike. Tako da Edge lokacije predstavljaju globalni CDN (Content Delivery Network) u AWS-u.
Primjer: Recimo da imate aplikaciju kao što je Instagram i ista radi preko EC2 (compute) i S3 (skladištenje) servisa u AWS regionu u Ohio (us-east-2), međutim budući da je ista globalno popularna vi možete konfigurisati AWS CloudFormation distribuciju kako biste smanjili vrijeme učitavanja sadržaja. Pa tako će vaši korisnici iz Evrope biti preusmjereni da preuzmu već keširani sadržaj sa njima najbliže AWS Edge lokacije čime smanjuju putanju učitavanja sadržaja i ujedno time skraćuju vrijeme učitavanja sadržaja odnosno fotografija.
Regional Edge Cache
U novembru 2016. godine AWS je predstavio novi tip Edge lokacija po imenu Regional Edge Cache koji dodatno poboljšava performanse korištenja aplikacije od strane krajnjih korisnika. Regional Edge Cache ima veću memoriju od svake pojedinačno Edge lokacije, te nova Regional Edge Cache lokacija duže čuva keširane podatke u odnosu na Edge lokaciju, a njena pozicija u mreži je između Edge lokacije i vašeg VPC-a. Time su Edge lokacije kao krajnje tačke u cloud infrastrukturi rasterećene, a kako bi keširale nove podatke ne moraju iste preuzimati iz vašeg VPC-a nego to mogu još brže i njima bliže uzeti sa Regional Edge Ceche lokacijama.
AWS Local Zones
LZ-evi su “mini AZ” bliži krajnjim korisnicima, kao što su područja sa velikom populacijom, industrijom ili IT centrima. LZ-evi služe kako bi se pokrenule aplikacije koje imaju potrebu za latencijom u jednoj milisekundi. LZ sadrži infrastrukturu poput servisa za računanje, servisa za skladištenje, baze podataka i drugo.
Ukoliko želite detaljnije da istražite AWS globalnu infrastrukturu to možete uraditi putem vrlo zanimljive 3D prezentacije AWS-a: https://www.infrastructure.aws/.