Browsed by
Tag: Dev

AWS Lambda i kontenery – Cold Start

AWS Lambda i kontenery – Cold Start

Jak pisałem ostatnio AWS umożliwił uruchamianie za pomocą funkcji Lambda skonteneryzowancyh aplikacji. Sprawdziłem jak wygląda czas inicjalizacji takiej funkcji. Czyli tak zwany cold start. A właściwie, jak upomniał mnie Paweł Zubkiewicz, część cold startu. Nie robiłem wielkich badań. Każda funkcja była uruchomiona tylko kilka razy. Nie jest to więc opracowanie naukowe, ale jakieś wnioski można wysnuć. Uruchomiłem też taki sam kod, albo taką samą funkcjonalność, bez użycia Dockera. Próby przeprowadziłem dla Go i .Net Core 3.1. Testowaną aplikacją, w obu…

Read More Read More

Jak dobrać zasoby dla funkcji Lambda

Jak dobrać zasoby dla funkcji Lambda

Często na szkoleniach, które prowadzę, pada pytanie jak dobrać zasoby dla funkcji Lambda. To ważna kwestia. Przydzielona do funkcji pamięć, a wraz z nią, w proporcjonalnej wielkości zasoby CPU, mają wpływ na wydajność naszych aplikacji. Jednak im więcej zasobów wykorzystamy, tym większy będzie nasz rachunek w AWS. Poza ilością uruchomienia naszej funkcji płacimy przecież także za zasoby. Dokładny i aktualny cennik Lambdy znajdziesz tutaj. Korzystając z funkcji Lambda płacimy za okresy czasu w wielkości 100ms. W chwili gdy to piszę,…

Read More Read More

Kubernetes, canary deployment i Istio

Kubernetes, canary deployment i Istio

Nie ważne czy wdrażasz aplikacje monolityczne czy mikroserwisy. Na pewno przed wypuszczeniem nowej wersji chciałbyś ją przetestować na jakiejś próbce swoich użytkowników. Powiedzmy na 10 procentach. Na czystym Kubernetesie będzie ciężko. Możesz zarządzać liczbą podów w konkretnym deploymencie. Pody podpinasz pod serwis. I to chyba tyle. Pokażę jak zrobić canary deployment w Kubernetes za pomocą Istio. Deployment W przykładzie będę używał swojego obrazu dockerowego. Serwis w nim zawarty potrafi między innymi zwracać tekst zdefiniowany w zmiennej środowiskowej RETURN_TEXT. W ten…

Read More Read More

Certified Kubernetes Application Developer

Certified Kubernetes Application Developer

Nie można żyć samym serverless i AWS. W zeszłą sobotę zdałem egzamin na certyfikat CKAD: Certified Kubernetes Application Developer. Certyfikat Jeżeli interesuje Cię jak wygląda taki egzamin to na blogu Chmurowiska opisałem sam proces oraz zawarłem kilka rad dla chętnych. Zapraszam. Certified Kubernetes Application Developer minuta po minucie⏰ Jak zdawać CKAD, żeby zdać?

Jak mikroserwisy dockerowe dogadują się w AWS

Jak mikroserwisy dockerowe dogadują się w AWS

Artykuł ukazał się pierwotnie na blogu Chmurowiska. Chmura publiczna jest bardzo dobrym środowiskiem dla aplikacji opartych o mikroserwisy. O mikroserwisy, które pracują asynchronicznie. Ale asynchroniczność nie jest niezbędna. Mikroserwisy, napisane w odpowiedni sposób, mogą być w każdym momencie zastopowane, skalowane horyzontalnie, uruchamiane od nowa. Uruchamiane w różnych miejscach, na wielu maszynach wirtualnych. Możemy mieć wiele instancji każdego z nich. A wszystko dzieje się automatycznie, bez naszego udziału. Jak więc mikroserwisy dockerowe dogadują się w AWS? Skąd wiedzą, gdzie który jest?…

Read More Read More

W jaki sposób zapisać i odczytać dane z DynamoDB bezpośrednio przy pomocy API Gateway

W jaki sposób zapisać i odczytać dane z DynamoDB bezpośrednio przy pomocy API Gateway

Artykuł ukazał się pierwotnie na blogu Chmurowiska. Cały świat mówi i pisze o serverless. Wiele osób kojarzy ten termin z takimi usługami jak AWS Lambda lub Azure Functions. A serverless to nie tylko usługi FaaS. To „sposób myślenia” i masa innych usług, z których możemy korzystać w chmurach bez konieczności konfigurowania, zarządzania i dbania o infrastrukturę, która jest pod spodem. W tym artykule pokażę w jaki sposób zapisać i odczytać dane z DynamoDB bezpośrednio przy pomocy API Gateway. Bez pośrednictwa…

Read More Read More

AWS Toolkit dla Visual Studio Code

AWS Toolkit dla Visual Studio Code

Przed chwilą udostępniony został AWS Toolkit dla Visual Studio Code w wersji Developer Preview. Można go już zainstlować bezpośrednio z Marketplace. Nie jest to jeszcze poziom, który oferuje wtyczka dla Azure, ale warto się z tym rozszerzeniem zapoznać. Do tej pory, wtyczka potrafiła prawie nic. Tak rzadko jej używałem, że nawet nie pamiętam dokładnie co to było. Od teraz możliwości jest o wiele więcej. Dziś zainstalowałem. Zrobiłem aplikację serverless i zdeployowałem ją na AWS. Działa. Są templaty do tworzenia SAM….

Read More Read More

Jak przekazać dane z funkcji Lambda do… funkcji Lambda

Jak przekazać dane z funkcji Lambda do… funkcji Lambda

W czasach gdy zewsząd dociera do nas słowo serverless, w końcu zdamy sobie sprawę co tak naprawdę ono znaczy i ile może nam oszczędzić pieniędzy (nie tylko w tzw. compute, ale także w tworzeniu naszych rozwiązań). Sercem serverless w AWS jest Lambda. W żywych organizmach nie występują dwa serca, ale w naszej programistycznej praktyce szybko spotkamy się z tym problemem. Będziemy mieli dwa lub więcej serc i będziemy chcieli je połączyć. Staniemy wtedy przed kilkoma problememi, między innymi tym, jak…

Read More Read More

Lambda@Edge

Lambda@Edge

Artykuł ukazał się pierwotnie na blogu Chmurowiska. Serverless to w minionym, 2018 roku słowo, o którym słyszał chyba każdy programista lub architekt systemów IT. Wszystko wskazuje na to, że rok 2019 będzie pod tym względem jeszcze ciekawszy. Wielu sądzi, że właśnie ten rok, to będzie czas, w którym rozwiązania serverless będą rozwijały się szybciej niż cokolwiek innego. No, może poza kolejnymi frameworkami Node.Js 😉 Jeżeli mowa o serverless, pierwsze co przychodzi do głowy to usługa AWS Lambda. Chyba każdy o…

Read More Read More

AWS Lambda Layers. Nowość na re:Invent 2018

AWS Lambda Layers. Nowość na re:Invent 2018

Artykuł ukazał się pierwotnie na blogu Chmurowiska. Można chyba śmiało powiedzieć, iż udostępniona światu w listopadzie 2014 roku usługa AWS Lambda zmienia podejście do cloud computingu. Za jej pomocą możemy uruchamiać kod naszych aplikacji bez „zabawy” w zarządzanie infrastrukturą pod spodem. Utworzenie Lambdy jest prost. Tworzymy nasz kod, dodajemy wszystkie niezbędne zależności, pakujemy to w zip-a i wrzucamy bezpośrednio lub poprzez S3 do usługi. Kluczowe w poprzednim zdaniu jest sformułowanie wszystkie niezbędne zależności. Tak, zawsze konieczne było uploadowanie wszystkich zależności….

Read More Read More