Nowość – Deployment Pipelines Reference Architecture i Reference Implementations

30 stycznia 2023

Dzisiaj autorzy uruchamiają nową architekturę referencyjną i zestaw implementacji referencyjnych dla potoków wdrażania klasy korporacyjnej. Potok wdrażania automatyzuje budowanie, testowanie i wdrażanie aplikacji lub infrastruktur w środowiskach AWS. Podczas wdrażania obciążeń w chmurze posiadanie potoków wdrażania jest kluczem do uzyskania elastyczności i skrócenia czasu wprowadzenia na rynek.

Kiedy twórcy rozmawiają z użytkownikami na konferencjach lub w mediach społecznościowych, często słyszą, że ich dokumentacja i samouczki są dobrym źródłem do rozpoczęcia pracy z nową usługą lub nową koncepcją. Jednak, gdy chcesz skalować zużycie lub gdy masz złożone przypadki użycia czy też przypadki użycia klasy korporacyjnej, często może brakować Ci zasobów, aby zagłębić się w tematykę.

Właśnie dlatego autorzy przez lata stworzyli setki architektur referencyjnych opartych na rzeczywistych przypadkach użycia, a także referencyjną architekturę bezpieczeństwa. Dzisiaj do tej kolekcji mogą dodać nową architekturę referencyjną.

Wykorzystali najlepsze praktyki i wnioski wyciągnięte z firmy Amazon oraz z wielu projektów klientów, aby stworzyć architekturę referencyjną potoku wdrażania i implementacje. Wykraczają znacznie poza typowy przykład „Hello World”: dokumentują, jak zaprojektować i jak wdrożyć złożone potoki wdrożeniowe z wieloma środowiskami, wieloma kontami AWS, wieloma regionami, ręcznym zatwierdzaniem, automatycznymi testami, automatyczną analizą kodu itp. Kiedy chcesz, aby zwiększyć szybkość dostarczania oprogramowania swoim klientom za pośrednictwem DevOps i ciągłych dostaw, ta nowa architektura referencyjna pokazuje, jak łączyć usługi AWS, aby ze sobą współpracowały. Dokumentują one obowiązkowe i opcjonalne komponenty architektury.

Posiadanie dokumentu architektury i diagramu jest świetne, ale posiadanie implementacji jest jeszcze lepsze. Każdy typ potoku w architekturze referencyjnej posiada co najmniej jedną implementację referencyjną. Jedna z implementacji referencyjnych wykorzystuje aplikację AWS Cloud Development Kit (AWS CDK) do wdrożenia architektury referencyjnej na Twoich kontach. Jest to dobry punkt wyjścia do przestudiowania lub dostosowania architektury referencyjnej do konkretnych wymagań.

Referencje architektury i wdrożenia znajdziesz pod tym linkiem: https://pipelines.devops.aws.dev.

Nowość – Deployment Pipelines Reference Architecture i Reference Implementations

Pora wdrożyć Reference Implementation

Nowa architektura referencyjna potoku wdrażania pokazuje, jak zbudować potok w celu wdrożenia konteneryzowanej aplikacji Java i bazy danych. Zawiera dwie implementacje referencyjne. Twórcy pracują nad dodatkowymi typami potoków, aby wdrożyć Amazon EC2 AMI, zarządzać flotą kont i dynamiczną konfiguracją Twoich aplikacji.

Przykładowa aplikacja jest rozwijana za pomocą SpringBoot. Działa na Corretto, dostarczanej przez Amazon dystrybucji OpenJDK. Aplikacja jest spakowana z CDK i jest wdrażana na AWS Fargate. Ale aplikacja nie jest tutaj ważna; możesz zastąpić własną aplikację. Ważnymi częściami są komponenty infrastruktury i potok wdrażania aplikacji. W przypadku tego typu potoku udostępniane są dwie implementacje referencyjne. Jeden wdraża aplikację za pomocą Amazon CodeCatalyst, nowej usługi, którą ogłoszono na re:Invent 2022, a drugi korzysta z AWS CodePipeline. To właśnie ten, który autorzy zdecydowali się wdrożyć w czytanym przez Ciebie artykule.

Potok rozpoczyna budowanie aplikacji za pomocą AWS CodeBuild. Przeprowadza testy jednostkowe, a także uruchamia Amazon CodeGuru, aby sprawdzić jakość i bezpieczeństwo kodu. Na koniec uruchamia Trivy w celu wykrycia dodatkowych problemów związanych z bezpieczeństwem, takich jak znane luki w zależnościach aplikacji. Gdy kompilacja zakończy się pomyślnie, potok wdraża aplikację w trzech środowiskach: beta, gamma i produkcyjnym. Wdraża aplikację w środowisku beta w jednym Regionie. Potok przeprowadza kompleksowe testy w środowisku beta. Wszystkie testy muszą zakończyć się pomyślnie, zanim wdrożenie będzie kontynuowane w środowisku gamma. Środowisko gamma używa natomiast dwóch regionów do hostowania aplikacji. Po wdrożeniu w środowisku gamma wdrożenie do produkcji podlega ręcznemu zatwierdzeniu. Wreszcie potok wdraża aplikację w środowisku produkcyjnym w sześciu regionach, z trzema falami wdrożeń składających się z dwóch regionów każdy.

pipeline

Potrzebujesz czterech kont AWS, aby wdrożyć tę implementację referencyjną: jedno do wdrożenia potoku i narzędzi oraz jedno dla każdego środowiska (beta, gamma i produkcyjne). Na wysokim poziomie istnieją dwa etapy wdrażania: najpierw uruchomisz CDK dla wszystkich czterech kont, a następnie tworzysz sam potok na koncie łańcucha narzędzi. Musisz zaplanować 2-3 godziny swojego czasu na przygotowanie kont, utworzenie potoku i przejście przez pierwsze wdrożenie.

Po utworzeniu potoku budujesz testujesz i wdrażasz przykładową aplikację ze źródła w AWS CodeCommit. Możesz zatwierdzić i „wypchnąć” zmiany w kodzie źródłowym aplikacji by zobaczyć, jak ponownie przechodzi przez kolejne etapy potoku.

Jeden z twórców AWS, Irshad Buchh pomógł im wypróbować potok na wybranym koncie. Napisał szczegółowy plik README z instrukcjami krok po kroku, aby umożliwić ci zrobienie tego samego po twojej stronie. Architektura referencyjna, która szczegółowo opisuje tę implementację, jest dostępna na nowej stronie internetowej. Kod źródłowy aplikacji, skrypty AWS CDK do wdrażania aplikacji oraz skrypty AWS CDK do tworzenia samego potoku są dostępne w serwisie GitHub AWS. Autorzy zachęcają do zwiększania wkładu, zgłaszania problemów lub sugerowania możliwych ulepszeń.

Już dostępne

Architektura referencyjna potoku wdrażania i jej implementacje referencyjne są już dostępne bezpłatnie. Jeśli zdecydujesz się wdrożyć implementację referencyjną, zostaniesz obciążony opłatą za zasoby, które tworzy ona na Twoich kontach. Możesz użyć dostarczonego kodu AWS CDK i szczegółowych instrukcji, aby wdrożyć ten potok na swoich kontach AWS. Wypróbuj je już dziś!

ź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.