Utrzymaj widoczność w wykorzystaniu wzorców architektury chmury

29 września 2022

Zespoły zajmujące się platformą chmurową i architekturą korporacyjną wykorzystują wzorce architektury, aby zapewnić wskazówki dotyczące różnych przypadków użycia.

Wzorce architektury chmury to zazwyczaj agregacje wielu zasobów Amazon Web Services (AWS), takich jak Elastic Load Balancing z Amazon Elastic Compute Cloud lub Amazon Relational Database Service z Amazon ElastiCache. W dużej organizacji zespoły zajmujące się platformami chmurowymi często mają ograniczony nadzór nad wdrożeniami chmurowymi. To sprawia, że nie mają kontroli ani wglądu w faktyczne przyjęcie wzorców chmurowych w ich organizacji.

Chociaż zdecentralizowana odpowiedzialność za wdrożenia w chmurze jest niezbędna do skalowania, brak widoczności lub kontroli prowadzi do nieefektywności, takich jak mnożenie się szablonów infrastruktury, błędne konfiguracje i niewystarczające pętle informacji zwrotnych w celu informowania o planach działania platformy w chmurze.

Aby rozwiązać ten problem, autorzy przedstawiają zintegrowane podejście, które umożliwia inżynierom platformy chmury udostępnianie i śledzenie wykorzystania wzorców architektury chmury za pomocą:

  1. Katalogu Usług AWS do publikowania katalogu usług IT skodyfikowanych wzorców architektury chmury, które są wstępnie zatwierdzone do użytku w organizacji.
  2. Amazon QuickSight do śledzenia i wizualizacji rzeczywistego wykorzystania produktów z katalogu usług w całej organizacji.

To rozwiązanie umożliwia zespołom platformy chmury zachowanie wglądu we wdrażaniu wzorców architektury chmury w ich organizacji i zbudowanie wokół nich procesu zarządzania wydaniami.

Opublikuj wzorce architektoniczne w swoim katalogu usług IT

Twórcy używają Katalogu Usług AWS, aby tworzyć portfolio wstępnie zatwierdzonych wzorców architektury chmury i udostępniać je użytkownikom końcowym jako samoobsługowe. Jest to realizowane na koncie usług współdzielonych AWS, na którym inżynierowie platformy chmurowej zarządzają cyklem życia portfolio i publikują nowe produkty (rysunek nr 1). Inżynierowie platformy chmurowej mogą publikować nowe wersje produktów w ramach portfolio i wycofywać starsze wersje bez wpływu na już uruchomione zasoby na kontach AWS użytkowników końcowych. Zalecane jest korzystanie z udostępniania organizacyjnego w celu udostępniania portfeli wielu kontom AWS.

Inżynierowie aplikacji uruchamiają produkty, odwołując się do interfejsu API katalogu usług AWS. Dostęp może odbywać się za pośrednictwem kodu infrastruktury, takiego jak AWS CloudFormation i TerraForm, lub narzędzia do zarządzania usługami IT, takiego jak ServiceNow. Zaleca się korzystanie z konfiguracji wielokontowej do wdrażania aplikacji, z kontem wdrażania aplikacji obsługującym łańcuch narzędzi wdrażania: w omawianym przypadku przy użyciu narzędzi programistycznych AWS.

Chociaż nie jest to wyraźnie zobrazowane, łańcuch narzędzi może zostać uruchomiony jako produkt z katalogu usług AWS i zawierać wstępnie wypełniony kod infrastruktury, aby załadować początkowe wdrożenia produktu, tak jak to opisano w tekście Accelerate deployments on AWS with effective governance na blogu AWS.

Rysunek 1. Uruchamianie wzorców architektury chmury jako produktów AWS Service Catalog

Rysunek 1. Uruchamianie wzorców architektury chmury jako produktów AWS Service Catalog.

Śledź wdrażanie wzorców architektury chmury

Śledź wykorzystanie produktów AWS Service Catalog, analizując odpowiednie logi AWS CloudTrail. Te ostatnie mogą zostać przekazane do reguły Amazon EventBridge z filtrem według następujących zdarzeń: CreateProduct, UpdateProduct, DeleteProduct, ProvisionProduct i TerminateProvisionedProduct.

Dzienniki są generowane bez względu na to, w jaki sposób korzystasz z interfejsu API katalogu usług AWS, na przykład za pośrednictwem usługi ServiceNow lub TerraForm. Raz w EventBridge, Amazon Kinesis Data Firehose dostarcza zdarzenia do Amazon Simple Storage Service (Amazon S3), skąd QuickSight może uzyskać do nich dostęp. Rysunek nr 2 przedstawia przepływ end-to-end.

Rysunek 2. Śledzenie przyjęcia produktów AWS Service Catalog za pomocą Amazon QuickSight

Rysunek 2. Śledzenie przyjęcia produktów AWS Service Catalog za pomocą Amazon QuickSight.

W zależności od konfiguracji strefy docelowej AWS, dzienniki CloudTrail ze wszystkich odpowiednich kont i regionów AWS muszą być przekazywane do centralnego zasobnika S3 na koncie usług współdzielonych lub w przeciwnym razie, do scentralizowanego konta rejestrowania. Rysunek nr 3 przedstawia przegląd tej agregacji dzienników dla wielu kont.

Rysunek 3. Agregacja logów produktów AWS Service Catalog na kontach AWS

Rysunek 3. Agregacja logów produktów AWS Service Catalog na kontach AWS.

Jeśli Twoja strefa docelowa na to pozwala, rozważ przyznanie EventBridge uprawnień na wszystkich kontach do zapisywania do centralnej magistrali zdarzeń na koncie AWS usług współdzielonych. Pozwala to uniknąć konieczności konfigurowania strumieni dostarczania Kinesis Data Firehose na wszystkich uczestniczących kontach AWS i dodatkowo upraszcza rozwiązanie (Rysunek nr 4).

Rysunek 4. Agregacja dzienników produktów AWS Service Catalog na kontach AWS do centralnej magistrali zdarzeń

Rysunek 4. Agregacja dzienników produktów AWS Service Catalog na kontach AWS do centralnej magistrali zdarzeń.

Jeśli korzystasz już z planu organizacji, możesz użyć Amazon Athena lub AWS Lambda, aby odkryć odpowiednie logi na pulpicie QuickSight, bez konieczności integracji z EventBridge i Kinesis Data Firehose.

Raportowanie o przyjęciu produktu można dostosować w QuickSight. Zasobnik S3 przechowujący logi katalogu usług AWS można zdefiniować w QuickSight jako zestawy danych, dla których można utworzyć analizę i opublikować jako pulpit nawigacyjny.

W przeszłości twórcy pisali o dziesięciu najczęściej używanych produktach w organizacji (w stosownych przypadkach, również filtrowanych według wersji produktu lub okresie czasu) oraz o najlepszych kontach pod względem wykorzystania produktu. Poniższy rysunek przedstawia przykładowy pulpit nawigacyjny wizualizujący użycie produktu według typu produktu i liczby zabezpieczeń. Uwaga: liczniki udostępnionych i zakończonych produktów różnią się nieznacznie, ponieważ rejestrowanie zostało aktywowane po utworzeniu i udostępnieniu pierwszych produktów w celach demonstracyjnych.

Rysunek 5. Przykładowy panel kontrolny Amazon QuickSight śledzący przyjęcie produktu AWS Service Catalog

Rysunek 5. Przykładowy panel kontrolny Amazon QuickSight śledzący przyjęcie produktu AWS Service Catalog.

Wnioski

W tym artykule autorzy opisali zintegrowane podejście do śledzenia adopcji wzorców architektury chmury za pomocą Katalogu usług AWS i QuickSight. Rozwiązanie posiada szereg zalet, m.in.:

  • budowanie katalogu usług IT w oparciu o wstępnie zatwierdzone wzorce architektoniczne;
  • utrzymanie wglądu w faktyczne wykorzystanie wzorców, w tym, które wzorce i wersje zostały wdrożone na kontach AWS jednostek organizacyjnych;
  • zgodność ze standardami organizacyjnymi, ponieważ wzorce architektoniczne są skodyfikowane w katalogu.

Z doświadczenia autorów wynika, że model może narazić na szwank sprawność, jeśli wymusisz wysoki poziom standaryzacji i pozwolisz na użycie tylko kilku wzorców. Istnieje jednak możliwość rozprzestrzeniania się produktów, ponieważ wiele szablonów różni się nieznacznie bez centralnego zarządzania katalogiem. Najlepiej byłoby, gdyby inżynierowie platform chmurowych przejęli odpowiedzialność za plan produktów z katalogu usług, z formalnymi mechanizmami przyjmowania i pętlami informacji zwrotnej, aby uwzględnić żądania lokalizacji konstruktorów.

źródło: AWS

 

Case Studies
Referencje

Firma Hostersi pozwoliła nam osadzić ogólne zagadnienia programu Well Architected Framework w kontekście naszej firmy. Oszczędziło nam to wiele czasu i pozwoliło znaleźć lepiej dopasowane rozwiązania do specyfiki naszego biznesu. WAF był świetnym katalizatorem do wprowadzenie szeregu zmian w obszarze niezawodności, szybkości i bezpieczeństwa edrone. 

Piotr Stachowicz
CTO
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.