Wyzwanie
Zadaniem naszego zespołu było dostarczenie projektu w formie Proof of Concept.
Google Anthos jest obecnie we wczesnej fazie rozwoju beta. Niektóre z weryfikowanych rozwiązań są w tej chwili dostępne tylko dla klastrów opartych na Google Cloud Platform lub klastrów Anthos opartych na rozwiązaniach chmurowych AWS lub VMware.
Gdyby uzyskanie kompleksowego rozwiązania z Google Anthos okazało się niemożliwe, zespół dostarczy integrację z zewnętrznymi narzędziami oferującymi tak specyficzne rozwiązania. Przykładem tego jest Datadog do monitorowania i alarmowania o nieprawidłowościach.
Aby lepiej zrozumieć metodologię działania danej funkcji, nasz zespół przeprowadził inżynierię wsteczną procesu i zaimplementował go w środowisku testowym.
Rozwiązanie
Zaprezentowaliśmy rezultat naszej pracy jako działające środowisko testowe zarządzane przez platformę Google Anthos w sposób, który spełnił wymagania klienta.
Nasz zespół przygotował również dodatkową dokumentację projektową w formie opisowej, podsumowującą w jakim stopniu rozwiązania oferowane przez Google Anthos spełniały każde z tych wymagań.
Zakres projektu polegał na wykorzystaniu Google Anthos do zarządzania:
Klastry wykorzystujące dystrybucje Kubernetes opracowane przez Google:
- Klastry Google Cloud Platform
- Klastry Anthos w AWS
- Klastry Anthos na VMware on-premise
Natywne dystrybucje Kubernetes oferowane przez zewnętrznych dostawców chmury:
- Elastic Kubernetes Service (AWS)
- Azure Kubernetes Service (Microsoft Azure)
- Container Service for Kubernetes (Alibaba Cloud)
Ponadto, zakres projektu obejmował również weryfikację zgodności Google Anthos z wymogami regulacyjnymi takimi jak CIS, NIST i SOX.
Nasz zespół sprawdza również możliwości wykorzystania platformy do scentralizowanej konfiguracji następujących aspektów:
- sieć (w tym zarządzanie adresami IP i DNS, Firewall, Load Balancer),
- bezpieczeństwa (m.in. dostęp RBAC, skanowanie obrazów i kontenerów Docker, stosowanie polityk Open Policy Agent, Kubernetes Secrets, certyfikaty SSL),
- monitoring (m.in. stan klastrów i aplikacji, ruch przychodzący i wychodzący, ostrzeganie o nieprawidłowościach),
- instalacji aplikacji biznesowych z wykorzystaniem narzędzi CI/CD.
Nasz zespół przygotował infrastrukturę środowiska testowego z wykorzystaniem Terraform, wspierając koncepcję Infrastructure as Code (IaC). Po pomyślnym zarejestrowaniu klastrów w Google Anthos instalacja aplikacji biznesowych została przeprowadzona w sposób zautomatyzowany przy użyciu Anthos Config Management.
Uruchomione aplikacje stworzone w architekturze mikroserwisów zostały osadzone w klastrach z wykorzystaniem infrastruktury „service mesh” wspieranej przez platformę z dedykowanym komponentem Anthos Service Mesh opartym na rozwiązaniu Istio. Integracja klastrów i aplikacji z narzędziami firm trzecich została przeprowadzona na poziomie Kubernetes z wykorzystaniem koncepcji „node agent” i „sidecar”.
Technologie, z których korzystamy
- Docker
- Kubernetes
- Google Anthos + Anthos components: Anthos Service Mesh and Anthos Config Management
- Service Mesh with Istio
- GCP, AWS, Azure, Alibaba Cloud z natywnymi usługami Kubernetes (GKE, EKS, AKS, ACK) Klastry Anthos na AWS i VMWare on-prem
- Terraform
- Datadog
- Jenkins
Nasze technologie
Rozwiązanie w liczbach
- Integracja Google Anthos z 5 usługami chmurowymi (Google, AWS, Azure, Alibaba i VMWare on-prem)
- Zarządzanie 5 klastrami Kubernetes z poziomu Anthos
- Uruchomienie 3 aplikacji demonstracyjnych