Amazon Web Services w akcji
Platforma
Amazon Web Services jest uważana za największą i najdojrzalszą chmurę
obliczeniową. Oferuje ponad setkę gotowych usług, praktycznie
niewyczerpywalne zasoby mocy obliczeniowej, nieograniczone bezpieczne
magazynowanie oraz pierwszorzędne możliwości automatyzacji. Jest przy
tym nieustannie unowocześniana i udostępnia coraz to nowsze możliwości.
Pozwala na tworzenie i utrzymanie aplikacji w elastyczny i niezawodny
sposób. Dla wielu organizacji decyzja o migracji
infrastruktury informatycznej na platformę AWS okazała się strzałem w
dziesiątkę. Aby z powodzeniem przeprowadzić taką transformację,
konieczne jest uzyskanie wiedzy na temat platformy Amazon Web Services
i zrozumienie związanych z nią koncepcji.
To
drugie, uaktualnione wydanie kompletnego wprowadzenia do wdrażania
aplikacji w chmurze AWS. Dokładnie opisano w nim usługi dostarczające
instancje obliczeniowe, przestrzeń na dane i zapewniające pracę w
sieci. Wyjaśniono koncepcje niezbędne do uruchomienia aplikacji WWW na
platformie AWS: równoważenie obciążenia, maszyny wirtualne,
magazynowanie plików, systemy baz danych i buforowanie w
pamięci. Przedstawiono też zagadnienia wysokiej dostępności, odporności
na błędy oraz dynamicznego skalowania infrastruktury. Dużą zaletą
książki jest omówienie zautomatyzowanego zarządzania
infrastrukturą za pomocą usługi AWS CloudFormation. Sporo uwagi
poświęcono także różnym aspektom bezpieczeństwa w chmurze.
Najciekawsze zagadnienia:
- koncepcje związane z
Amazon Web Services, w tym maszyny wirtualne i EC2
- automatyzacja
infrastruktury i wdrażanie oprogramowania na platformie AWS
- skalowalność i
bezpieczeństwo infrastruktury w chmurze AWS
- najprzydatniejsze usługi
AWS: S3, EBS, EFS, RDS i wiele innych
- wysoka dostępność i
niezawodność infrastruktury
- tworzenie odpornych na
błędy usług sieciowych
Przedmowa
9
Wprowadzenie 11
Podziękowania 13
O książce 15
O autorach 19
CZĘŚĆ I.
PIERWSZE KROKI 21
Rozdział 1.
Czym
jest platforma Amazon Web Services? 23
1.1. Czym jest chmura obliczeniowa? 24
1.2. Co da się zrobić na platformie AWS? 25
1.3. Jakie korzyści płyną z użycia platformy AWS? 30
1.4. Ile to kosztuje? 33
1.5. Porównanie z alternatywnymi rozwiązaniami 36
1.6. Odkrywanie usług AWS 37
1.7. Interakcja z platformą AWS 40
1.8. Tworzenie konta AWS 44
1.9. Tworzenie alarmu dotyczącego płatności w celu kontroli
rachunków z platformy AWS 53
Podsumowanie 57
Rozdział 2.
Prosty przykład: aplikacja WordPress w pięć minut
59
2.1. Tworzenie infrastruktury 60
2.2. Poznawanie infrastruktury 65
2.3. Ile to kosztuje? 74
2.4. Usuwanie infrastruktury 77
Podsumowanie 78
CZĘŚĆ II.
BUDOWANIE WIRTUALNEJ INFRASTRUKTURY KOMPUTERÓW I SIECI
79
Rozdział 3.
Korzystanie
z maszyn wirtualnych - usługa EC2
81
3.1. Badanie maszyny wirtualnej 82
3.2. Monitorowanie i debugowanie maszyny wirtualnej 97
3.3. Wyłączanie maszyny wirtualnej 100
3.4. Zmiana rozmiaru maszyny wirtualnej 101
3.5. Uruchamianie maszyny wirtualnej w innym centrum danych 104
3.6. Przydzielanie publicznego adresu IP 108
3.7. Dodawanie do maszyny wirtualnej dodatkowego interfejsu sieciowego
110
3.8. Optymalizowanie kosztów maszyn wirtualnych 115
Podsumowanie 123
Rozdział 4.
Programowanie
infrastruktury: wiersz poleceń, zestawy SDK i usługa CloudFormation 125
4.1. Infrastruktura jako kod 127
4.2. Korzystanie z interfejsu wiersza poleceń 132
4.3. Programowanie przy użyciu zestawu SDK 140
4.4. Uruchamianie maszyny wirtualnej przy użyciu strategii 145
Podsumowanie 157
Rozdział 5.
Automatyzacja
wdrażania: usługi CloudFormation, Elastic Beanstalk i OpsWorks
159
5.1. Wdrażanie aplikacji w elastycznym środowisku chmury 161
5.2. Porównanie narzędzi do wdrażania 161
5.3. Tworzenie maszyny wirtualnej w usłudze AWS CloudFormation i
uruchamianie podczas rozruchu skryptu wdrożeniowego 163
5.4. Wdrażanie prostej aplikacji internetowej w usłudze AWS Elastic
Beanstalk 169
5.5. Wdrażanie aplikacji wielowarstwowej za pomocą usługi AWS OpsWorks
Stacks 175
Podsumowanie 188
Rozdział 6.
Bezpieczeństwo
systemu: usługa IAM, grupy zabezpieczeń i sieci VPC
189
6.1. Kto odpowiada za bezpieczeństwo? 191
6.2. Utrzymywanie aktualności oprogramowania 192
6.3. Zabezpieczanie konta AWS 195
6.4. Kontrola ruchu sieciowego przychodzącego do maszyny wirtualnej i z
niej wychodzącego 204
6.5. Tworzenie sieci prywatnej w chmurze: usługa Amazon Virtual Private
Cloud (VPC) 213
Podsumowanie 222
Rozdział 7.
Automatyzacja
zadań eksploatacyjnych dzięki usłudze Lambda
223
7.1. Wykonywanie kodu w usłudze AWS Lambda 224
7.2. Budowanie rozwiązania do kontroli kondycji witryny internetowej w
usłudze AWS Lambda 226
7.3. Automatyczne dodawanie tagu z właścicielem instancji EC2 243
7.4. Co jeszcze można zrobić za pomocą usługi AWS Lambda? 251
Podsumowanie 256
CZĘŚĆ III.
PRZECHOWYWANIE DANYCH W
CHMURZE
257
Rozdział 8.
Przechowywanie obiektów: usługi S3 i Glacier 259
8.1. Czym jest magazyn obiektów? 260
8.2. Usługa Amazon S3 261
8.3. Tworzenie kopii zapasowej danych w usłudze S3 za pomocą interfejsu
CLI platformy AWS 262
8.4. Archiwizacja obiektów w celu optymalizacji
kosztów 265
8.5. Magazynowanie obiektów w sposób programowy
272
8.6. Użycie usługi S3 do hostingu statycznej strony WWW 276
8.7. Dobre praktyki przy korzystaniu z usługi S3 279
Podsumowanie 282
Rozdział 9.
Przechowywanie danych na dyskach twardych: usługa EBS i magazyn
instancji 283
9.1. Usługa EBS: trwały magazyn blokowy dołączany za pośrednictwem
sieci 285
9.2. Magazyn instancji: tymczasowy magazyn blokowy 293
Podsumowanie 298
Rozdział 10.
Współdzielenie
woluminów danych przez maszyny wirtualne: usługa EFS
299
10.1. Tworzenie systemu plików 302
10.2. Tworzenie punktu docelowego montowania 303
10.3. Montowanie udziału EFS w instancjach EC2 305
10.4. Współdzielenie plików przez
różne instancje EC2 308
10.5. Poprawianie wydajności 309
10.6. Monitorowanie systemu plików 311
10.7. Tworzenie kopii zapasowych danych 314
Podsumowanie 318
Rozdział 11.
Korzystanie z usługi
relacyjnych baz danych: RDS
319
11.1. Uruchamianie bazy danych MySQL 321
11.2. Importowanie danych do bazy 325
11.3. Tworzenie kopii zapasowej bazy i przywracanie z niej danych 328
11.4. Kontrola dostępu do bazy danych 333
11.5. Opieranie się na bazach danych o wysokiej dostępności 336
11.6. Poprawianie wydajności bazy danych 338
11.7. Monitorowanie bazy danych 342
Podsumowanie 344
Rozdział 12.
Buforowanie danych w
pamięci: usługa Amazon ElastiCache
345
12.1. Tworzenie klastra pamięci podręcznej 351
12.2. Opcje wdrażania pamięci podręcznej 354
12.3. Kontrola dostępu do pamięci podręcznej 358
12.4. Instalacja przykładowej aplikacji Discourse za pomocą usługi
CloudFormation 360
12.5. Monitorowanie pamięci podręcznej 368
12.6. Poprawianie wydajności pamięci podręcznej 370
Podsumowanie 373
Rozdział 13.
Programowanie z użyciem usługi bazy danych NoSQL: DynamoDB
375
13.1. Eksploatacja usługi DynamoDB 378
13.2. Usługa DynamoDB dla programistów 379
13.3. Programowanie aplikacji z listą zadań 382
13.4. Tworzenie tabel 384
13.5. Dodawanie danych 388
13.6. Pobieranie danych 391
13.7. Usuwanie danych 399
13.8. Modyfikowanie danych 400
13.9. Skalowanie wydajności 401
Podsumowanie 405
CZĘŚĆ IV.
ARCHITEKTURA
OPROGRAMOWANIA W CHMURZE AWS
407
Rozdział 14.
Osiąganie wysokiej dostępności: strefy dostępności, skalowanie
automatyczne i usługa CloudWatch
409
14.1. Odzyskiwanie sprawności po awarii instancji EC2 dzięki usłudze
CloudWatch 411
14.2. Przywracanie sprawności po awarii całego centrum danych 418
14.3. Analiza wymogów dotyczących przywracania po awarii 437
Podsumowanie 439
Rozdział 15.
Odłączanie - usługi ELB i
SQS 441
15.1. Odłączanie synchroniczne za pomocą modułów
równoważenia obciążenia 443
15.2. Asynchroniczne odłączanie za pomocą kolejek
komunikatów 448
Podsumowanie 458
Rozdział 16.
Projektowanie pod kątem
odporności na błędy 459
16.1. Wykorzystanie nadmiarowych instancji EC2 w celu poprawy
dostępności 462
16.2. Uwagi dotyczące zapewnienia w kodzie odporności na błędy 465
16.3. Budowa odpornej na błędy aplikacji internetowej: Imagery 469
Podsumowanie 490
Rozdział 17.
Skalowanie w górę i w dół: skalowanie
automatyczne i usługa CloudWatch
491
17.1. Zarządzanie dynamiczną pulą instancji EC2 493
17.2. Wyzwalanie skalowania na podstawie wskaźników lub
harmonogramów 497
17.3. Odłączanie dynamicznej puli instancji EC2 502
Podsumowanie 513
520
stron, Format: 16.5x24.0cm, oprawa miękka