dot dot dot
Back

Infrastruktura dla warehouse intelligence w PSI

 

PSI Polska jest częścią koncernu PSI AG z siedzibą w Berlinie, który od ponad 50 lat zajmuje się wytwarzaniem oprogramowania dla przemysłu. Poznański oddział PSI osiągnął sukces we wdrożeniach i rozwoju systemu PSIwms, służącego do zarządzania magazynami. 

W ramach rozwoju systemu PSIwms, zespół opracował koncepcję Warehouse Intelligence, czyli wykorzystania sztucznej inteligencji do optymalizacji procesów logistycznych.

Wyzwanie

Zespół PSI poprosił nas o przygotowanie infrastruktury, która będzie intuicyjna w obsłudze, będzie się szybko uruchamiać i będzie zautomatyzowana.

Środowisko miało być przygotowane tak, żeby osoba bez zaawansowanej wiedzy technicznej mogła nim zarządzać, korzystając ze wszystkich dostępnych komponentów.

Bardzo istotne było zoptymalizowanie czasu tworzenia nowych środowisk oraz przeprowadzania testów. Docelowa platforma, miała być wykorzystywana do opracowywania modeli Machine Learningowych w formie eksperymentów z wykorzystaniem oprogramowania PSI i różnych konfiguracji sprzętowych.

Rozwój platformy – krok po kroku

Rozpoczynając pracę musieliśmy przeprowadzić konsultacje, poznać potrzeby i dokładnie zaplanować rozwój środowiska.  Z uwagi na planowane testy na różnych wielkościach maszyn wirtualnych, klient zdecydował się na rozwijanie platformy bezpośrednio w środowisku chmurowym. 

PSI otrzymało bardzo elastyczne środowisko, skalowalne na potrzeby konkretnych zadań.  Dodatkowo firma nie musiała inwestować w zakup sprzętu potrzebnego do rozwoju i weryfikacji oprogramowania, co w przypadku środowisk badawczo rozwojowych nie tylko minimalizuje ryzyka niewłaściwego doboru hardware’u, ale też niweluje problem starzenia się infrastruktury. . 

Przygotowując infrastrukturę dla naszych klientów, praktycznie zawsze używamy technologii IaC. W tym konkretnym przypadku IaC mogło pokazać swoje ogromne zalety i w krótkim czasie umożliwiło zbudowanie wielu kopii środowiska, dając możliwość równoczesnej pracy w różnych konfiguracjach.

Rozwiązanie

Całe środowisko zbudowaliśmy na platformie Amazon Web Services, wykorzystując instancje Amazon Elastic Compute Cloud (EC2) a z uwagi na planowane duże obciążenia wdrożyliśmy Amazon Elastic Kubernetes Service (EKS), co pozwoliło na zwiększenie ilości instancji w momentach dużego zapotrzebowania i zmniejszanie gdy takiej potrzeby nie było.

Proces skalowania instancji EC2 został przez nas zautomatyzowany dla wygody klienta. Jednocześnie nasze rozwiązanie umożliwia wręcz natychmiastowe uruchomienie instancji EC2 z kartami graficznymi umożliwiając przeprowadzanie testów budowania modeli Machine Learning z wykorzystaniem GPU w razie potrzeby deweloperów i specjalistów współpracujących z klientem w tym zakresie.  Uruchomiliśmy GitLab na potrzeby projektu oraz wszystkie procesy opisaliśmy za pomocą CI/CD – GitLab CI stanowi interface do zarządzania całą platformą z poziomu repozytorium kodu i odpowiednio opracowanych procesów (podejście GitOps). Narzędziem GitOps, które wykorzystaliśmy jest ArgoCD, które zostało wdrożone w przestrzeni klastra Kubernetes platformy.

Usługa Network Load Balancer zapewniła nam wygodne i kontrolowane sterowanie ruchem przychodzącym do klastra. Zastosowaliśmy ją celowo, ponieważ zależało nam na tym, aby środowisko było budowane z wykorzystaniem technologii Cloud Native i możliwe do odtworzenia u innych operatorów chmur publicznych lub w zakresie chmury prywatnej. 

Dane wynikowe umieściliśmy w Amazon Simple Storage Service (S3), to usługa obiektowej pamięci masowej, dzięki której uzyskaliśmy skalowalność, dostępność danych, bezpieczeństwo i wydajność. Logi generowane podczas eksperymentów na platformie są wysyłane do usługi ElasticSearch, którą uruchomiliśmy dla klienta wraz z komponentami LogStash oraz Kibana.

Co udało nam się osiągnąć?

 

Stworzona infrastrukturę opisaliśmy za pomocą kodu w Terraform, tak żeby zespół PSI mógł ją szybko uruchamiać w różnych konfiguracjach z wersjonowaniem w narzędziu GitLab. Wprowadzone przez nas rozwiązanie umożliwia przeprowadzanie rozmaitych eksperymentów Machine Learningowych z wykorzystaniem dedykowanego oprogramowania klienta w zależności od wykorzystywanego typu sprzętu. 

 

Dzięki wykorzystaniu mechanizmów skalowania środowisko automatycznie i szybko dostosowuje się do aktualnego zapotrzebowania na moc obliczeniową. Wszelkie elementy infrastruktury zostały umieszczone w kontenerach i zorkierstrowane z wykorzystaniem technologii Kubernetes. W rezultacie PSI otrzymało wysoce odporne na wszelkie przeciążenia środowisko do testowania i bieżącego rozwoju swojego oprogramowania

ZASTOSOWANE TECHNOLOGIE

Terraform
Amazon EC2
Kubernetes
ArgoCD
Amazon S3
ElasticSearch
LogStash
Kibana
previous next
scroll