Kod: ARC-016
Czas trwania: 25 godzin
Czas trwania: 25 godzin
Opis szkolenia
Nasze szkolenie jest punktem wyjścia do nauki projektowania systemów chmurowych. Jego głównym celem jest wprowadzenie do specyfiki i wyzwań związanych z chmurą oraz sposobu korzystania z podstawowego zestawu narzędzi w chmurze. Zaczniemy od pochodzenia i typów chmury oraz przeglądu głównych technologii umożliwiających przetwarzanie w chmurze, a następnie przejdziemy do projektowania aplikacji w chmurze.Przyjrzymy się tworzeniu wirtualnych sieci w chmurze, w których omówimy planowanie punktów obecności, organizację ruchu przychodzącego i wychodzącego oraz dostarczania treści. Dowiesz się, jak wdrożyć elementy funkcjonalne aplikacji - zarówno opcje serwerowe, jak i bezserwerowe. Przeanalizujemy możliwości pracy z trwałymi danymi, wybierając DBMS dla różnych przypadków i dokończymy wprowadzenie do bloków konstrukcyjnych aplikacji w chmurze (rozwiązując zadania integracyjne).
Omówimy również, jak badać i stosować główne taktyki, aby osiągnąć takie cechy systemu, jak skalowalność, wydajność, bezpieczeństwo i odporność na awarie. Automatyzacja jest niezwykle ważna dla wydajnego działania systemów chmurowych. Dostawcy IaaS / PaaS umożliwiają nam automatyczne udostępnianie i zarządzanie zasobami w chmurze, konfigurowanie monitorowania oraz reagowanie na zmiany i awarie w naszej aplikacji. Omówimy najważniejsze scenariusze automatyzacji.
Plan szkolenia
Podstawy przetwarzania w chmurze- Co to jest chmura i gdzie się znajduje?
- Technologie umożliwiające przetwarzanie w chmurze
- Rodzaje chmur
- Nowe modele usług: IaaS, PaaS, SaaS
- Gospodarka chmurowa
Zasady projektowania aplikacji chmurowych
- Minimalna aplikacja w chmurze
- Bloki konstrukcyjne aplikacji w chmurze
- Rodzaje bloków: zasoby obliczeniowe, pamięć masowa, infrastruktura sieciowa, usługi zarządzane
- Aplikacje natywne dla chmury
- Wielodostępność
- Wyzwania projektowe: komunikacja, skalowalność, obsługa stanu
Projektowanie granic aplikacji
- Rodzaje ruchu, sieci wirtualne
- Routing z i bez wirtualnych sieci w chmurze prywatnej
- Regiony i punkty obecności
- Obsługa żądań zewnętrznych: zawartość dynamiczna i statyczna
- Obsługa zgłoszeń wewnętrznych
- Modele płatności za ruch
- Struktura rozliczeń
Projektowanie obliczeń
- Serwery "klasyczne", serwery "elastyczne", środowiska wykonawcze aplikacji, konteneryzacja, obliczenia bezserwerowe
- Główne wzorce: skalowalny monolith, aplikacja kompozytowa
Projektowanie trwałych magazynów danych
- Podstawowe możliwości przechowywania: przechowywanie bloków, obiektów i plików
- Kluczowe czynniki oceny metod przechowywania danych: data model, consistency, fault tolerance i availability, load
- Dostępne opcje bazy danych: relacyjne, klucz-wartość, rodziny kolumn itp
Rozwiązywanie zadań koordynacyjnych i integracyjnych
- Wyzwania zdalnej komunikacji
- Komunikacja synchroniczna i asynchroniczna. Brokers, kolejki, Kafka, bramy API i Service Mesh
Automatyzacja
- Przegląd możliwości automatyzacji w zakresie projektowania i operation
- Wybór wskaźników
Adresowanie jakości systemu
- Wydajność sieci, lokalność ruchu
- Bezpieczeństwo, tolerancja błędów
- Zapobieganie kaskadowym awariom
Metody projektowania aplikacji chmurowych
- The Twelve-factor App, Well-Architected Framework
Cele
- Zrozumienie przetwarzanie w chmurze, jej ekonomicznych podstawy i technologii
- Nauczenie się, jak zaplanować wysokopoziomową strukturę aplikacji w chmurze (sieć, zasoby obliczeniowe i pamięć masową), znajdując równowagę między kosztami a czasem wdrożenia
- Nauczenie się, jak budować niezawodne, elastyczne i skalowalne systemy
- Identyfikacja potencjalnych bottlenecks i punktów awarii
- Przygotowanie się na dalsze szkolenia specjalistyczne i pokrewne (systemy o dużym obciążeniu, Big Data, rozproszone bazy danych)
Grupa docelowa
- Architekci oprogramowania
- Projektanci systemów
- Kierownicy techniczni / starsi programiści
- Kierownicy projektów w chmurze
- Analitycy biznesowi
- Analitycy
Wymagania
- Podstawy architektury aplikacji
- Podstawowa wiedza o sieciach TCP / IP, zasady wirtualizacji