Architektura aplikacji w chmurze - kurs 44 900 RUB. z Centrum Szkoleniowego IBS, szkolenie 25 godz., termin 26.11.2023.
Miscellanea / / December 05, 2023
Ten kurs jest punktem wyjścia do nauki projektowania systemów chmurowych. Głównym celem jest zapoznanie słuchacza z możliwościami i wyzwaniami chmury, a także pokazanie, jak korzystać z podstawowych narzędzi chmurowych. To wszystko – zarówno w teorii, jak i poparte praktyką projektowania aplikacji w zespołach.
Po wykładzie wprowadzającym na temat „gdzie znaleźć chmurę” i jakie są jej rodzaje oraz krótkim przeglądzie głównych technologii leżących u podstaw przetwarzania w chmurze, przejdziemy do projektowania systemu.
Planowanie punktów obecności, organizacja ruchu przychodzącego i wychodzącego, dostarczanie treści - tematy modułów dotyczą budowania wirtualnych sieci chmurowych i obsługi użytkowników. Następnie przeanalizujemy, w jaki sposób wdrażane są elementy funkcjonalne: opcje serwerowe i bezserwerowe. Rozważmy opcje pracy ze stałymi danymi i który system DBMS ma zastosowanie w takim przypadku. Zakończmy nasze wprowadzenie do elementów składowych rozwiązując problemy integracyjne.
Skalowalność, wydajność, bezpieczeństwo i odporność na awarie - przestudiujemy i zastosujemy podstawowe taktyki osiągnięcia tych cech systemu.
Automatyzacja jest ważna dla wydajnego działania systemów chmurowych. Dostawcy IaaS/PaaS pozwalają nam na automatyczną alokację i utrzymanie zasobów, organizowanie monitoringu i reagowanie na zmiany w aplikacji oraz awarie. Przyjrzymy się najważniejszym scenariuszom.
Omawiane tematy:
1. Podstawy przetwarzania w chmurze
Co to jest „chmura” i gdzie się znajduje?
Rodzaje „chmur”.
Technologie stojące za chmurą obliczeniową.
Nowe modele usług: IaaS, PaaS, SaaS.
Gospodarka w chmurze.
2. Zasady projektowania aplikacji w chmurze
Minimalna aplikacja w chmurze.
Bloki konstrukcyjne aplikacji w chmurze.
Rodzaje „elementów składowych”: obliczenia, pamięć masowa, infrastruktura sieciowa, usługi zarządzane.
Aplikacje natywne w chmurze.
Wielodostępność.
Wyzwania projektowe: komunikacja, skalowanie, praca ze stanem.
3. Projektowanie granic aplikacji
Rodzaje ruchu, sieci wirtualne.
Routing z wirtualnymi sieciami prywatnymi i bez nich.
Regiony i obszary obecności.
Przetwarzanie żądań zewnętrznych: treść dynamiczna i statyczna.
Przetwarzanie żądań od klientów wewnętrznych.
Modele płatności za ruch. Struktura rozliczeń.
4. Projekt obliczeniowy
Serwery „klasyczne”, serwery „elastyczne”, środowiska wykonawcze aplikacji, konteneryzacja, przetwarzanie bezserwerowe.
Podstawowe wzorce: skalowalny monolit, aplikacja kompozytowa.
5. Trwałe projektowanie danych
Podstawowe możliwości przechowywania: przechowywanie bloków, obiektów i plików.
Kluczowe czynniki oceny metod przechowywania danych: model prezentacji, spójność, odporność na błędy i dostępność, obciążenie.
Dostępne opcje baz danych: relacyjna, klucz-wartość, dokument, rodziny kolumn i inne.
Opcje przechowywania.
6. Rozwiązywanie problemów koordynacji i integracji
Połączenia zdalne.
Komunikacja synchroniczna i asynchroniczna.
Brokerzy, kolejki, Kafka, bramy API i Service Mesh.
7. Automatyzacja
Krótko o możliwościach automatyzacji w rozwoju i działaniu.
Wybór metryk.
8. Adresowanie cech systemu
Wydajność sieci, lokalizacja ruchu.
Bezpieczeństwo, odporność na błędy.
Zapobiegaj kaskadowym awariom.
9. Niektóre metody architektoniczne projektowania aplikacji chmurowych
Aplikacja dwunastu czynników, dobrze zaprojektowana struktura.