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

Hostersi odpowiadali za migrację naszej platformy Nsflow do środowiska Amazon Web Services, opartego na klastrach Kubernetes. Proces został przeprowadzony z zachowaniem pryncypiów CI/CD, zapewniających sprawną migrację. Współpracę z Hostersami oceniamy wysoko, ze szczególnym naciskiem na profesjonalizm, elastyczność i zaangażowanie osób biorących udział w procesie. Jesteśmy bardzo zadowoleni ze współpracy i polecamy firmę Hostersi jako rzetelnego i profesjonalnego partnera, o rozbudowanych kompetencjach w obszarze AWS i Kubernetes.

Tomasz Kowalczyk
CEO NeuroSYS Sp. z o.o.
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.