Oprócz narzędzi open source, różni dostawcy usług w chmurze zapewniają swoje narzędzia rodowe w chmurze do wdrażania praktyk DevOps w chmurze. W tym artykule opisano różne narzędzia i technologie dostarczone przez AWS do wdrożenia DevOps na AWS.
AWS CodeCommit
AWS CodeCommit to usługa używana do kontroli wersji i hostowana przez AWS. Podobnie jak inne usługi kontroli wersji, takie jak GitHub, Bitbucket i Gitlab, kod źródłowy można przesunąć do prywatnych repozytoriów w CodeCommit. Nie ma publicznych repozytoriów na AWS CodeCommit.
AWS CodeCommit to wysoce dostępna, bezpieczna i skalowalna usługa używana do hostowania prywatnych repozytoriów kodu. Korzystając z AWS CodeCommit, nie musisz zaktualizować usługi, jeśli repozytoria wzrośnie przekraczają limit. Automatycznie skaluje się wraz ze wzrostem liczby repozytoriów lub wielkości repozytorium.
Poniżej znajduje się lista pewnych świadczeń zapewnianych przez usługę AWS CodeCommit.
Konsola AWS CodeCommit zapewnia przyjazny graficzny interfejs użytkownika do wizualizacji żądań, zatrudnienia, gałęzi i tagów GIT. Repozytoria z CodeCommit można klonować za pomocą adresów URL SSH i HTTPS.
W ustawieniach repozytorium CodeCommit możesz włączyć powiadomienia i wyzwalacze, aby powiadomić, kiedy nastąpi konkretne zdarzenie, takie jak (Utwórz gałąź, usuń gałąź, na żądanie Pull).
AWS CodeBuild
AWS CodeBuild to w pełni zarządzana usługa używana do uruchamiania testów, zbudowania kodu i generowania artefaktów kompilacji z kodu. Korzystając z AWS CodeBuild, nie musisz dostarczać dodatkowego serwera kompilacji, aby zbudować kod źródłowy. Zapewnia wstępnie skonfigurowane środowiska dla większości popularnych języków programowania, takich jak Python, Java, Nodejs i Builds Tools. Możesz także tworzyć własne niestandardowe środowiska, aby zbudować projekt za pomocą AWS CodeBuild.
AWS CodeBuild to usługa bez serwera, a ty jesteś obciążony tylko wtedy, gdy uruchomi się kompilacja. W ten sposób możesz zaoszczędzić pieniądze na dodatkowy serwer do budowania projektów. Poniżej znajdują się korzyści z korzystania z usługi kodowej od AWS.
AWS CodeBuild można zintegrować z różnymi usługami dostawcy kodu źródłowego, aby pobrać kod. Możesz pobrać kod z GitHub, Bitbucket, Github Enterprise, CodeCommit i S3. Możesz także skonfigurować usługę kodu, aby wysłać dzienniki kompilacji do dzienników CloudWatch, które mogą pomóc zdiagnozować awarie kompilacji. Aby komunikować się z CloudWatch, AWS CodeBuild potrzebuje roli IAM z określonymi uprawnieniami.
AWS CODEDEPLOY
AWS CodeDePloy to w pełni zarządzana usługa świadczona przez AWS w celu wdrożenia wstępnie zbudowanej aplikacji do różnych usług obliczeniowych, takich jak EC2, AWS Lambda, AWS ECS i serwery lokalne. Usługa AWS CODEDEPLOY może automatycznie wdrażać następujący rodzaj treści.
AWS CodeDePloy to usługa bez serwera, a ty jesteś naliczany tylko wtedy, gdy uruchomi się wdrożenie, a przez resztę czasu nie jesteś naliczany. Podobnie jak AWS CodeBuild, AWS CodEdeploy eliminuje również potrzebę zapewnienia dodatkowego serwera do celów wdrażania. Poniżej znajdują się korzyści z korzystania z usługi AWS CodedoPloy.
AWS CodePipeline
AWS CodePipeline to usługa używana do wizualizacji kompletnego rurociągu CICD za pomocą przyjaznego graficznego interfejsu użytkownika. Tworzy ładny GUI rurociągu, łącząc różne usługi, takie jak AWS CodeCommit, AWS CodeBuild, AWS CodedoPloy. Ułatwia to proces uwalniania oprogramowania poprzez wizualizację każdego etapu rurociągu.
Gdy programista popycha kod do kodeCommit, CodePipeline, jeśli odpowiednio skonfigurowana, datuje nowy kod i przekazuje najnowszy kod do usługi AWS CodeBuild, aby uruchomić testy i budować artefakty kodu. Po zbudowaniu artefaktów te artefakty są przekazywane do usługi AWS CODEDEPLOY, aby wdrożyć najnowszą wersję aplikacji na serwerze.
Wszystkie te kroki można wizualizować i zintegrować ze sobą w usłudze CodePIPeline. Podczas wdrażania kodu od inscenizacji do środowiska produkcyjnego można dodać krok do zatwierdzenia za pomocą AWS CodePIPeline. Aby wdrożyć kod w środowisku produkcyjnym, osoba z określonymi uprawnieniami musi zatwierdzić wdrożenie. Unika wdrażania nieautentycznego zobowiązania do produkcji, co może złamać środowisko produkcyjne.
AWS CODEGURU
Amazon Codeguru to usługa świadczona przez AWS w celu przeglądu kodu źródłowego. AWS Codeguru używa uczenia maszynowego i analizy programów do przeglądu kodu źródłowego i znalezienia potencjalnych wad w kodzie. Po znalezieniu wad w kodzie źródłowym AWS Coduru sugestie dotyczące rozwiązania tych wad języków programowania Java i Python.
Obecnie AWS Coduru obsługuje tylko języki programowania Java i Python i może odczytać kod źródłowy od następujących dostawców źródeł.
Wniosek
Istnieją różne usługi natywne w chmurze AWS, które można wykorzystać do zbudowania kompletnego rurociągu CICD. Główną zaletą korzystania z usług zastrzeżonych AWS jest to, że usługi te są w pełni zarządzanymi usługami bez serwera i współdziałają ze sobą prywatnie. Istnieją różne usługi przechowywania kodu źródłowego (AWS CodeCommit), budowania i uruchamiania testów kodu (AWS CodeBuild), wdrażania kodu na serwerach (AWS CodedoPloy) na AWS. Te wszystkie usługi można ze sobą zintegrować, aby utworzyć kompletny rurociąg za pomocą AWS CodePipeline Service. Ten artykuł zawiera krótkie zrozumienie wszystkich tych usług AWS w celu wdrożenia praktyk DevOps na AWS.