Ustawienia dostępności

Rozmiar tekstu

100%

Tworzenie aplikacji chmurowych na AWS

Budujemy aplikacje cloud-native działające na AWS, w całości tworzone przez Terraform. Dzięki temu środowisko odtwarza się z kodu, a nie ze zgłoszenia do supportu, a każdy nowy region czy konto startuje z tego samego, przetestowanego fundamentu.

Tworzenie aplikacji cloud-native, za każdym razem tak samo

Stawiamy na jeden standard - AWS: obliczenia na ECS, dane w RDS lub S3, zadania w tle w Lambda, logowanie przez Cognito. Każdy element tworzymy w Terraform. Ta standaryzacja jest celowa: jedna chmura, cztery platformy produkcyjne i ten sam wzorzec operacyjny, niezależnie od tego, czy stawiamy nowe konto, czy utrzymujemy takie, które działa od dwóch lat. Dostajesz skalowalne, bezpieczne środowisko, które reaguje na skoki ruchu, opiera się próbom ataku i zmniejsza się, gdy ruch spada - więc płacisz mniej.

Prawdziwa produkcyjna praca na AWS, od początku do końca.

Co naprawdę zbudowaliśmy na AWS

Platforma energetyczna Zeronest działa na AWS

Platforma energetyczna Zeronest działa na AWS

Platforma Zeronest do zarządzania fotowoltaiką i magazynami energii działa na AWS od stycznia 2024 r., czyli już ponad dwa lata na produkcji. Kontenery działają na ECS, a dane za nimi trzymają RDS i S3. Zadania sterowane zdarzeniami obsługuje Lambda, a Cognito zarządza tożsamością użytkowników, uwierzytelnianiem i resetem haseł, więc nikt w zespole nie trzyma arkusza z danymi logowania. Komunikacja między usługami idzie przez SNS, a każda zmiana w tym stacku wdraża się przez GitHub Actions. Pod spodem Python i Django REST Framework obsługują API, a Celery zajmuje się zadaniami cyklicznymi i w tle. Całość tworzy Terraform, więc konfigurację można w każdej chwili audytować i odtworzyć z kodu. Platforma obsługuje dziś kilka tysięcy użytkowników przez trzy połączone aplikacje i 16 zintegrowanych marek falowników. Działa za AWS IoT Core, a ruch z urządzeń jest szyfrowany przez MQTT i TLS 1.2.

Przeczytaj case study Zeronest

Jeden powtarzalny wzorzec na każdym kolejnym koncie

Jeden powtarzalny wzorzec na każdym kolejnym koncie

Centrum Komunikacji (komunikacja w sektorze publicznym), Ticket Club (e-commerce z biletami) i trzecia platforma, zbudowana dla klienta z przemysłowego IoT objętego NDA, działają na tym samym zestawie Terraform plus AWS: trzy różne branże, jeden powtarzalny wzorzec. Każde środowisko jest zdefiniowane w kodzie, więc recenzent może przeczytać zmianę, zanim trafi na produkcję. Każda zmiana w infrastrukturze ma autora i znacznik czasu, a jej powód jest zapisany w tym samym commicie. Stan Terraform jest przechowywany i blokowany centralnie, więc gdy dwóch inżynierów zmienia to samo środowisko naraz, dostają konflikt scalania, a nie dwa konta AWS, które po cichu się rozjeżdżają. Ta dyscyplina obowiązuje niezależnie od tego, na czyim koncie działa: ten sam krok review, ta sama blokada stanu, ten sam ślad audytowy. Żaden element tej konfiguracji nie istnieje wyłącznie w głowie jednego inżyniera - każdy w zespole może otworzyć pliki Terraform i zobaczyć dokładnie, co działa.

W drodze do walidacji AWS Partner

W drodze do walidacji AWS Partner

Pracujemy nad poziomem Validated w AWS Partner Central. Formalizuje on praktykę AWS, którą prowadzimy na co dzień: ten sam wzorzec Terraform i AWS, który już działa na produkcji u wymienionych wyżej klientów, oceniany według własnych standardów AWS pod kątem bezpieczeństwa, zarządzania kosztami i praktyk operacyjnych. Ta ocena dotyczy trzech rzeczy, które ta strona już opisuje: infrastruktury zdefiniowanej w Terraform, środowisk, które można odtworzyć z kodu, oraz zespołu, który prowadził ten wzorzec na czterech produkcyjnych kontach AWS, zaczynając od pierwszego środowiska Zeronest w styczniu 2024 r. Walidacja jest w toku.

Dlaczego warto zbudować z nami aplikację chmurową

Infrastruktura jako kod zamiast klikania w konsoli

Każde środowisko, które stawiamy, powstaje z Terraform, aż po grupy bezpieczeństwa i role IAM, więc staging odpowiada produkcji, bo oba buduje ten sam kod. Nowe środowisko odtwarza się z jednego commita w git, a zmiana w jednym środowisku jest widoczna w pull requeście, zanim trafi do pozostałych. Dzięki tej samej historii commitów możemy po miesiącach pokazać, dlaczego dokładnie zmieniło się ustawienie i kto to zatwierdził. Na koncie AWS Zeronest ta dyscyplina obowiązuje od stycznia 2024 r., we wszystkich dodanych od tego czasu środowiskach.
 

Jedna chmura, głęboka wiedza

AWS to jedyna chmura, na której budujemy systemy produkcyjne - w ponad 50 projektach w całej firmie. Cztery opisane wyżej platformy tworzone przez Terraform (Zeronest, Centrum Komunikacji, Ticket Club i jeszcze jedna platforma objęta NDA) to nasze flagowe przykłady, a nie pełna liczba. Poza tymi czterema nazwane projekty AWS obejmują też platformę energetyczną Enerace i cyfrowego bliźniaka magazynu energii cieplnej dla KYOTO - to osobne projekty, oba opisane w publicznych case studies. Klienci dostają inżynierów, którzy rozwiązywali już problemy AWS tej samej klasy.

Zespoły, które zostają przy projekcie

Inżynierowie, którzy w styczniu 2024 r. postawili infrastrukturę AWS Zeronest, prowadzą ją do dziś, ponad dwa lata później. Długoterminowa odpowiedzialność chroni przed dryfem, który pojawia się, gdy infrastruktura co kilka miesięcy przechodzi z zespołu do zespołu, a każdy kolejny musi od nowa poznać to, co wiedział poprzedni, zanim cokolwiek naprawi. Oznacza to też, że osoba, która o 2 w nocy debuguje problem na produkcji, sama napisała dany moduł Terraform.
 
_savings
34%

Oszczędności deklarowane przez Zeronest dzięki automatycznemu ładowaniu magazynów energii z uwzględnieniem taryf, na AWS

_engineering
11 220 h

Godzin pracy inżynierskiej na platformie AWS Zeronest w pierwszych dwóch latach na produkcji

_deployments
4

Platformy AWS tworzone przez Terraform: Zeronest, Centrum Komunikacji, Ticket Club, klient objęty NDA

_integrations
16

Marek falowników zintegrowanych z silnikiem decyzyjnym Zeronest opartym na Lambda i hostowanym na AWS

_cadence
Co 1 min

Tak często silnik Zeronest na AWS decyduje od nowa, co ma robić magazyn energii

_since
01/2024

Platforma AWS Zeronest działa na produkcji bez przerwy od stycznia 2024 r.

Tworzenie aplikacji chmurowych na AWS - odpowiedzi

Otrzymaj wycenę kosztów, harmonogram i propozycję składu zespołu dla swojego projektu...

Platform & Cloud Engineering
  • Nasze praktyczne, wielokrotnie sprawdzone doświadczenie produkcyjne dotyczy AWS: Zeronest, Centrum Komunikacji, Ticket Club i jeszcze jedna platforma objęta NDA działają tam dziś. Możemy zaprojektować architekturę niezależną od chmury, gdy ograniczenia klienta wymagają innego dostawcy, ale nie twierdzimy, że mamy równie głębokie doświadczenie produkcyjne w innych chmurach - i powiemy to na wstępie.

  • Tak, i zaczynamy od audytu, a nie od przepisywania. Mapujemy to, co istnieje, stabilizujemy to, co kruche, a potem proponujemy zmiany - w tej kolejności. Tak samo działaliśmy, gdy przejęliśmy bieżące prace AWS przy istniejącej platformie z sektora energetycznego.

  • Pracujemy nad poziomem Validated w AWS Partner Central. To status, o który się staramy, a nie taki, który już mamy - i wolimy powiedzieć to wprost, niż zaokrąglać w górę.

  • Autoskalowanie dostrojone do faktycznego obciążenia zamiast stałego rozmiaru instancji oraz alerty, które sygnalizują skok kosztów, póki jest jeszcze mały. Tę samą parę zmian dodaliśmy do konfiguracji RDS w Zeronest: najpierw autoskalowanie, potem alerty, które wyłapują to, czego samo autoskalowanie by nie złapało.

Sprawdźmy, czego naprawdę potrzebuje Twoja platforma AWS

Twoja wiadomość trafi do

Filip Szamborski

Filip Szamborski

Board Member

WSPÓŁPRACOWALIŚMY M.IN. Z MARKAMI:

Dziękujemy za wiadomość.

Każdą wiadomość czytamy sami i odpowiadamy w ciągu 48 godzin w dni robocze.

Coś pilnego? [email protected]

Zbudujmy Twoją aplikację chmurową

Otrzymaj bezpłatną wycenę architektury AWS w ciągu 48 godzin.

Pola oznaczone gwiazdką (*) są wymagane.

Zwykle odpowiadamy w ciągu 48 godzin w dni robocze - człowiek, nie autoresponder.

Korzystasz z asystenta AI? Może wysłać to zapytanie za Ciebie - wskaż mu llms.txt.