Projekt nowej infrastruktury w Amazon Web Services dla Nopio

13 stycznia 2020

Projekt nowej infrastruktury w Amazon Web Services dla Nopio

Projekt nowej infrastruktury w Amazon Web Services dla Nopio okazał się najlepszym rozwiązaniem, aby zapewnić odpowiednią dostępność aplikacji ich klienta i rozwiązać problemy z wydawaniem kolejnych wersji wspomnianej aplikacji.

 

Wprowadzenie

Nopio jest krakowską firmą deweloperską z ponad 8-letnim doświadczeniem w dostarczaniu stron i aplikacji internetowych dla firm i startupów na całym świecie. Poza produkcją wysokiej jakości kodu są również proaktywnymi konsultantami. Firma Nopio zwróciła się do Hostersów z projektem swojego klienta, dla którego przygotowywali część programistyczną serwisu online. Zadaniem Hostersów miało być zaprojektowanie i uporządkowanie infrastruktury w Amazon Web Services.

 

Problem

Dotychczasowy projekt infrastruktury chmurowej klienta w AWS zawierał komponenty nieadekwatne  do jego potrzeb i skali działania. Powodowało to dwie poważne konsekwencje: czasową niedostępność aplikacji dla użytkownika końcowego oraz problemy z wydawaniem kolejnych wersji aplikacji. Źle zaprojektowane CI/CD opierało się na AWS Beanstalk (usługa automatycznego wdrażania aplikacji), przez co nie było dopasowane do wymogów klienta i wymagało zastąpienia go usługą autoskalowania. Natomiast problemy związane z wydawaniem kolejnych wersji aplikacji zostały rozwiązane poprzez wdrożenie usług AWS CodeBuild, AWS CodePipline i AWS CodeDeploy.

 

Rozwiązanie

W pierwszym etapie projektu dokonaliśmy analizy istniejącej architektury. Okazało się, że najlepszym rozwiązaniem będzie stworzenie i wdrożenie nowego projektu wysoce skalowalnej i niezawodnej infrastruktury, opartej o Amazon Web Services.  Aby zapewnić odpowiedni poziom niezawodności, Hostersi zarządzają również stworzonym rozwiązaniem w Amazon Web Services, co pozwala zachować wysoką dostępność zasobów (HA), ich łatwą skalowalność i wysoki poziom bezpieczeństwa. W ramach prac, usprawniono również proces deploymentu i wdrażania kolejnej wersji aplikacji.

 

Usługi AWS:

RDS – infrastruktura korzysta z silnika baz danych MySQL

EC2 – podstawą infrastruktury są instancje WEB, serwujące aplikację

QuickSight – dodatkowa usługa BI

ElastiCache – infrastruktura korzysta z Redis'a jako system kolejek zadań dla workera oraz storage dla sesji

ElasticSearch – niezależna baza danych, wykorzystywana do przechowywania dużej liczby danych

Load Balancer – Kieruje on ruch do aplikacyjnej grupy auto skalującej

S3 – używane do przechowywania plików statycznych

CodeBuild – jest narzędziem, które przygotowuje paczkę z aplikacją (instaluje zależności) W celu odciążenia CodeDeploy i skrócienia czasu deploymentu

CodeDeploy – zarządzany jest przez terraform. Tworzy on jedną aplikację dla danego środowiska i kilka deployment grup w zależności od liczby stacków

Code Pipeline – jest punktem wejściowym i łączy ze sobą build oraz deployment

CloudWatch – w ramach Terraforma tworzone są alarmy w CloudWatch, które z kolei integrowane są z naszym Nagiosem, aby monitorować kluczowe metryki

ASG – auto skalująca grupa została wykonana w podejściu IaC z wykorzystaniem Ansible/Packer/Terraform

 

Usługi dodatkowe:

Jenkins - wykorzystywany jest jako mechanizm zadań wykonywanych bezpośrednio na warstwie worker danego środowiska

Packer - przygotowuje obraz dockerowy używany przy budowie aplikacji

CloudFlare -  warstwa CDN dla infrastruktury

MongoDB – klient korzysta z NoSQL'owej bazy MongoDB

 

Rezultaty

Klient zyskał elastyczność – zarówno w skalowaniu serwerów produkcyjnych, jak i w kontekście testowania aplikacji i nowych rozwiązań. Teraz, możliwe jest szybkie i wygodne skalowanie na wielu poziomach – od uruchomienia nowych serwerów wirtualnych, zmiany ich parametrów, dostosowywaniu konfiguracji usług AWS do bieżącego obciążenia, czy wreszcie gotowości do skalowania geograficznego do innych regionów świata. Dzięki wdrożonym narzędziom, związanym z deploymentem, proces publikacji nowej wersji aplikacji jest szybszy i bardziej bezpieczny.

 

 

Pytania? Skontaktuj się z nami

 

 

Zobacz również:

Infrastruktura hybrydowa dla Open’er Festival

Projekt infrastruktury chmurowej i migracja do AWS Livespace CRM

Opieka administracyjna i zwiększenie wydajności platformy Webankieta.pl

Testy wydajnościowe i opieka administracyjna dla AleRabat.com

Nowa infrastruktura AWS dla Geek Soft

Projekt i wdrożenie infrastruktury chmurowej AWS dla Cleeng

Chmura AWS na czas sprzedaży biletów na koncert Justina Biebera

Case Studies
Referencje

Bardzo profesjonalne podejście, niesamowicie szybki czas reakcji i bardzo miła obsługa sprawiły, że na pewno podejmiemy jeszcze współpracę. 

Marcin Krzaczkowski
Założyciel Automa.Net
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.