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

O mnie

- PHP dev -> JS dev, ponad 15 lat doświadczenia komercyjnego

- Moderator społeczności

- Technical writer, public speaker

- Samozwańczy "react evangelist"

O prezentacji

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

 

Czym jest 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."

(Bardzo) Krótka historia

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)

Czemu 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

Kto oferuje cloud?

Modele cloud

Źródło: materiał promocyjny Azure

- SaaS - Software as a Service

 

- PaaS - Platform as a Service

 

- IaaS - Infrastructure as a Service

Typy usług cloud

- 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

Co w ofercie?

Źródło: https://geektechstuff.com/2019/06/18/aws-awsomeday-june-2019/

Co gwarantuje nam dostawca

SLA - Service Level Agreement - dostępność usługi w określonej skali czasu

 

 

 

 

Co gwarantuje nam dostawca

Zabezpieczenie dostępności

Co gwarantuje nam dostawca

Quota - ilość zasobów, które możemy wykorzystać (ogólnie, w danym przedziale czasu, przedziale cenowym)

Jak zdecydować się na usługę

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

Co najbardziej interesuje JS?

Hosting "plikó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

Hosting usług

"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"

Bazy danych

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

Live coding demo!

Why stop there?!

Wysyłka SMS

- two-factor-authentication

 

- potwierdzanie tożsamości

 

- informacja o zmianie statusu zamówienia

- subskrypcje faktów o kotach

 

 

Rozpoznawanie zdjęć

Rekognition

(musisz posiadać konto AWS!)

 

+

 

Paragon

Jak to ogarnąć "lepiej"?

aws cli

AWS Command Line Interface - narzędzie pozwalające na praktycznie pełną pracę z usługami AWS za pomocą wiersza poleceń.

CloudFormation / Terraform

serverless

Problemy cloud

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

To the Cloud

By btmpl

To the Cloud

  • 242