Browsed by
Kategoria: CloudNative

Jak utworzyć Lambda Layer w Pythonie

Jak utworzyć Lambda Layer w Pythonie

W krótkim czasie dwa razy pokazywałem jak utworzyć Lambda Layer w Pythonie, postanowiłem więc utworzyć krótki tutorial. Mało tekstu, trochę kodu i mamy działające rozwiązanie. Więcej pisałem o tym już wcześniej. Jak utworzyć Lambda Layer w Pythonie Tym razem nie dane CI/CD, jak najszybciej i najłatwiej dążymy do celu. Na początek tworzymy dwie rzeczy. Pierwszą jest katalog, w którym umieścimy nasze „rzeczy”, które chcemy udostępnić w warstwie. Tworzymy go więc mkdir python Drugą jest plik requirements.txt touch requirements.txt, do którego…

Read More Read More

AWS Lambda – Golang – Custom Runtime

AWS Lambda – Golang – Custom Runtime

Natywny runtime funkcji Lambda dla języka GO oparty jest o Amazon Linux 1, który „chyli się ku upadkowi„. ;-). Pociąga to za sobą między innymi brak możliwości korzystania z Lambda Extensions oraz uruchamianie kodu tylko w środowisku x86_64. Możemy zapomnieć o arm64, czyli procesorach Graviton. W przypadku innych języków większość natywnych środowisk uruchomieniowych została zmigrowana do Amazon Lunux 2, w przypadku Go jednak tak nie jest. Jak, w łatwy sposób wykorzystać custom runtime dla funkcji Lambda napisanej w języku Go? Pokażę…

Read More Read More

AWS Lambda i idempotentność

AWS Lambda i idempotentność

Czym jest idempotentność? Według Wikipedii to właściwość pewnych operacji, która pozwala na ich wielokrotne stosowanie bez zmiany wyniku. Jaki to ma związek z nami? W tym artykule pokażę jak mają się do siebie AWS Lambda i idempotentność. W świecie aplikacji, szczególnie tych opartych o mikrosierwisy może wystąpić sytuacja, że np. jakaś wiadomość z kolejki zostanie przekazana do serwisu więcej niż jeden raz. To na nas spoczywa odpowiedzialność, żeby takie wielokrotne wywołanie np. funkcji Lambda poprzez takie samo zdarzenie przynosiło za każdym…

Read More Read More

Jak skasować pliki w S3 przy usuwaniu stacka Cloudformation

Jak skasować pliki w S3 przy usuwaniu stacka Cloudformation

Często, a właściwie prawie zawsze, jeżeli tworzymy buckety S3 za pomocą CloudFormation, to przy usuwaniu stacka mamy problem. AWS nie usunie bucketa, jeżeli są w nim jakieś pliki. A przewaznie są, bo po coś go w końcu tworzyliśmy. Dziś pokażę, jak skasować pliki w S3 przy usuwaniu stacka Cloudformation. Jeżeli ktoś nie napotkał jeszcze tego problemu, to szybko go zobrazujemy. Utworzymy bucket za pomocą poniższego template: AWSTemplateFormatVersion: 2010-09-0920 Description: — Resources: Bucket: Type: 'AWS::S3::Bucket’ Properties: LifecycleConfiguration: Rules: – Id: expiration…

Read More Read More

CI/CD za pomocą AWS Copilot

CI/CD za pomocą AWS Copilot

W poprzednim artykule o AppRunner pokazałem w jaki sposób łatwo wdrożyć w AWS skalowalną aplikację opartą o kontenery. Dziś zajmiemy się zbudowaniem procesu CI/CD za pomocą AWS Copilot. Zakładam, że mamy nasze źródła w repozytorium na GitHubie. Możecie zrobić forka z mojego lub utworzyć nowe. Mamy więc działającą aplikację w AWS App Runner, źródła w repozytorium. Przechodzimy do działania. CI/CD za pomocą AWS Copilot AWS Copilot potrafi utworzyć dla nas proces CI/CD. Cały proces deploymentu aplikacji będzie mógł być dzięki…

Read More Read More

Filtrowanie zdarzeń wyzwalających Lambdę

Filtrowanie zdarzeń wyzwalających Lambdę

Wczoraj AWS umożliwił filtrowanie zdarzeń pochodzących z usług SQS, DynamoDB oraz Kinesis, które wyzwalają wykonanie funkcji Lambda. Szkoda, że nie jakieś dwa tygodnie temu. Przydałoby się w jednym rozwiązaniu wdrożonym u klienta, gdzie filtrowanie zdarzeń wyzwalających Lambdę, a właściwie filtrowanie samych wiadomości, które były procesowane zaimplementowaliśmy wewnątrz funkcji. To bardzo fajna możliwość. Pozwoli, w niektórych przypadkach dość znacząco, zmniejszyć koszty. Ponad to uprości implementację samych funkcji. Będzie w nich mniej warunków. Przetestowałem to sobie, zobaczmy więc jak to wygląda. Filtrowanie…

Read More Read More

AWS Copilot CLI i AWS App Runner

AWS Copilot CLI i AWS App Runner

Pisałem już kilka razy o różnych usługach AWS umożliwiających wdrażanie skonteneryzowanych aplikacji. Było między innymi o tym, jak skalować aplikacje w usłudze ECS. Jednak kontenery można wdrożyć w AWS o wiele łatwiej. W tym artykule pokażę jak za pomocą AWS Copilot CLI i AWS App Runner uruchomić aplikację w chmurze AWS. Co to jest AWS App Runner AWS App Runner to usługa, która umożliwia uruchamianie w AWS skonteneryzowanych aplikacji typu response-request bez konieczności budowania całej infrastruktury pod spodem. Korzystanie z…

Read More Read More

Jak na bieżąco monitorować koszty w AWS

Jak na bieżąco monitorować koszty w AWS

Często pracując z chmurą AWS korzystamy więcej niż z jednego konta. Więcej, prawie zawsze korzystamy więcej niż z jednego konta. Podejść do tematu jest dużo. O użyciu AWS Organizations i wielu kontach pisał już Łukasz Dorosz. W dużych organizacjach istotna jest bieżąca kontrola kosztów na kontach w AWS. A przyda się nawet w tych mniejszych. Pisałem już o tym za co tak naprawdę płacimy w chmurze. Dałem też kilka wskazówek jak oszczędzać w chmurze.  A jeżeli chcesz wiedzieć jak na…

Read More Read More

Izolacja namespaces za pomocą Istio

Izolacja namespaces za pomocą Istio

Jakiś czas temu potrzebowałem odseparować od siebie trzy instancje aplikacji uruchamianej na jednym klastrze. W tym przypadku chodziło o OpenShift, ale nie to jest najważniejsze. Miałem do dyspozycji Istio. Każda z instancji aplikacji byłą zainstalowana w osobnej przestrzeni nazw klastra. Pokażę więc jak wygląda izolacja namespaces za pomocą Istio. Klaster i instlacja Istio Na nasze potrzeby utworzyłem klaster Kubernetes w usłudze GKE na platformie Google. Ale nie ma to większego znaczenia. Wszystko powinno zadziałać w każdym klastrze. Instalację Istio wykonałem…

Read More Read More

Łączymy Amazon GuardDuty z MS Teams i Slackiem

Łączymy Amazon GuardDuty z MS Teams i Slackiem

Nie będę się rozpisywał o usłudze GuardDuty. W dużym skrócie, na podstawie różnych danych potrafi wykryć na naszych kontach rzeczy, które nie powinny mieć miejsca. Ktoś na przykład zacznie kopać bitcoiny, to usługa powinna to wykryć i nas o tym powiadomić. No właśnie, powiadomić. Domyślnie dostajemy w konsoli tak zwane znaleziska   Tylko trzeba tam zaglądać. A to nie zawsze będzie miało miejsce. Jest tyle rzeczy, które mogą nam w tym przeszkodzić. Sporo z nas używa dziś MS Teams. Pokażę…

Read More Read More