To the Cloud
Czym jest "cloud computing" i jak możemy z niego skorzystać
Bartosz Szczeciński
23.09.2020
@btmpl
medium.com/@baphemot
https://szczecinski.eu
- PHP dev -> JS dev, ponad 15 lat doświadczenia komercyjnego
- Moderator społeczności
- Technical writer, public speaker
- Samozwańczy "react evangelist"
1. Czym jest technologia cloud
2. Co oferuje nam dziś cloud i jak podjąć decyzję czego użyć
3. Usługi najbardziej interesujące JS developerów
4. Jak to wszystko ogarnąć, lepiej i łatwiej
5. Problemy cloud
"W meteorologii, chmura to masa składająca się z widocznych kropel płynów, zamarzniętych form krystalicznych lub innych cząstek zawieszonych w atmosferze ciała niebieskiego lub innej, podobnej przestrzeni."
"W informatyce, chmura to struktura składająca się z pojedynczych urządzeń i usług dostępnych w Internecie lub innej, podobnej sieci komputerowej."
2006, marzec - AWS udostępnia usługę S3 (Simple Storage Service)
2006, lipiec - AWS udostępnia usługę SQS (Simple Queue Service)
2006, sierpień - Podczas konferencji Google pierwszy raz publicznie pojawia się określenie "cloud computing"
2006, sierpień - AWS udostępnia usługę EC2 (Elastic Compute Cloud)
1. Łatwe zarządzanie usługami i infrastrukturą
2. Gwarantowana dostępność usług (business continuity)
4. Uproszczony mechanizm skalowania (ręcznego oraz on-demand)
5. Niski koszt prototypowania, wejściowy oraz modele pay-as-you-go
6. Przyjazny dla środowiska
3. Dostęp z dowolnego* miejsca na ziemi
Źródło: materiał promocyjny Azure
- SaaS - Software as a Service
- PaaS - Platform as a Service
- IaaS - Infrastructure as a Service
- Public - usługa ogólnodostępna dla wszystkich, granice bezpieczeństwa zabezpieczające dostęp do danych
- Private - usługa dostępna tylko jednemu najemcy, zwykle uruchamiana na jego własnej infrastrukturze (alternatywnie hosted private cloud)
- Hybrid - połączenie usługi public i private; używane np. w celu oddzielenia dostępu do zasobów poufnych, w czasie migracji
Źródło: https://geektechstuff.com/2019/06/18/aws-awsomeday-june-2019/
SLA - Service Level Agreement - dostępność usługi w określonej skali czasu
Zabezpieczenie dostępności
Quota - ilość zasobów, które możemy wykorzystać (ogólnie, w danym przedziale czasu, przedziale cenowym)
1. Określenie wymagań
2. Dobranie rozwiązań
3. Określenie mechanizmów komunikacji pomiędzy elementami systemu (włącznie z mechanizmami zabezpieczeń)
4. Zdefiniowanie metryk, analityk i alertów
Object Storage - S3
- przechowuje dowolne typy obiektów, ich metadane oraz unikalny identyfikator
- łatwe współdzielenie pomiędzy wieloma zasobami, także jako zasoby dostępne publicznie
File Storage (NAS) - Elastic File System
- wysoka skalowalność
- dostępna dla wielu klientów jednocześnie; jednoczesny zapis i odczyt
Block Storage - Elastic Block Store
- zabezpieczenie przed utratą danych
- wysoka wydajność, niskie opóźnienia
- dedykowane np. dla relacyjnych baz danych
"Pełen" serwer - EC2
- pełna kontrola nad środowiskiem
Środowisko uruchomieniowe - EBS (Elastic Beanstalk)
- zautomatyzowane tworzenie środowiska wykonywania dla popularnych rozwiązań (Java, PHP, Node, Ruby, Docker)
- automatyczne zarządzanie zasobami, load balancing, skalowanie, monitorowanie
Serverless - Lambda
- wywoływanie "prostych" operacji na żądanie
- brak "infrastruktury"
Relacyjne - Aurora, RDS
- dedykowane dla aplikacji T-SQL
Key-value - DynamoDB
- dedykowane dla aplikacji wymagających szybkiego obsłużenia zapisywania danych
- wyszukiwanie, aktualizowanie i usuwanie nie jest priorytetem
Dzienniki - Amazon Quantum Ledger Database
- dedykowane np. dla systemów bankowych
- odporne na modyfikacje, kryptografia, pełna historia zmian
- two-factor-authentication
- potwierdzanie tożsamości
- informacja o zmianie statusu zamówienia
- subskrypcje faktów o kotach
AWS Command Line Interface - narzędzie pozwalające na praktycznie pełną pracę z usługami AWS za pomocą wiersza poleceń.
1. Always online
2. Utrata kontroli nad danymi / infrastrukturą
3. Security i compliance
4. Wsparcie techniczne (lub jego brak)
5. Vendor lock-in / data mobility
Dzięki :)
Bartosz Szczeciński
23.09.2020
@btmpl
medium.com/@baphemot
https://szczecinski.eu