Firma logistyczna: system magazynowy z serwerów w biurze do zarządzanej chmury

System magazynowy wileńskiej firmy logistycznej regularnie przestawał działać przez starzejące się serwery w biurze. Przenieśliśmy go do zarządzanych serwerów w chmurze z kopiami zapasowymi w dwóch krajach: ani jednej nieplanowanej awarii w ciągu sześciu miesięcy.

Firma logistyczna: system magazynowy z serwerów w biurze do zarządzanej chmury

Sytuacja

Firma logistyczna z Wilna na Litwie, zatrudniająca 80 osób, prowadzi dwa magazyny i własną flotę pojazdów. Cała działalność kręci się wokół systemu zarządzania magazynem: przyjęcia, kompletacja, wydania, dokumenty dla kierowców. Gdy system przestaje działać, w magazynie stają wózki widłowe, a przy rampie czekają ciężarówki.

System działał na dwóch fizycznych serwerach w pomieszczeniu biurowym, czyli „serwerowni”, która w rzeczywistości była dawną komórką gospodarczą z klimatyzatorem. Serwery miały siedem lat, gwarancja dawno wygasła, a jeden z nich w ciągu ostatniego roku dwukrotnie wyłączył się z powodu przegrzania. Każda awaria oznaczała dla magazynu kilka godzin pracy ręcznej i opóźnione wysyłki.

Do tego doszedł problem bezpieczeństwa. Kierowcy i pracownicy magazynu łączyli się z systemem z telefonów i tabletów przez otwarty port pulpitu zdalnego. Kierownik operacyjny, słysząc pytania klientów o cyberbezpieczeństwo dostawców, zrozumiał, że tak dłużej być nie może.

Czego potrzebowano

Razem z kierownikiem operacyjnym i dyrektorem finansowym uzgodniliśmy cele:

  • Uniezależnić się od fizycznego sprzętu w biurze: przestać kupować serwery i utrzymywać serwerownię.
  • System magazynowy musi działać na obu zmianach, więc migracja miała zająć najwyżej kilka godzin przerwy i odbyć się w weekend.
  • Bezpieczny dostęp z magazynów, z trasy i z domu, bez otwartych portów w internecie.
  • Kopie zapasowe w więcej niż jednej lokalizacji oraz zapisany czas odtworzenia, który można pokazać klientom.
  • Aktualizacje i obsługa przestają być zmartwieniem firmy.
  • Termin: początek sezonu szczytu, za około pięć tygodni.

Co zrobiliśmy

Tydzień 1: audyt i plan

Zmierzyliśmy, z czego system faktycznie korzysta: obciążenie procesora, pamięć i operacje dyskowe w godzinach szczytu. Miało to znaczenie, bo dostawca systemu magazynowego zalecał znacznie więcej zasobów, niż było potrzebne w praktyce. Z dostawcą uzgodniliśmy procedurę migracji bazy danych i scenariusz testowy. Przygotowaliśmy plan migracji z możliwością powrotu na wypadek niepowodzenia.

Tydzień 2: środowisko w chmurze

W naszym centrum danych na Litwie przygotowaliśmy trzy zarządzane serwery w chmurze: dla warstwy aplikacji systemu magazynowego, dla bazy danych oraz dla systemu księgowego, który do tej pory dzielił serwer z systemem magazynowym. Na wszystkich serwerach zainstalowano Bitdefender GravityZone, monitoring i zautomatyzowane zarządzanie aktualizacjami.

Równolegle zbudowaliśmy sieć VPN łączącą oba magazyny, biuro i chmurę. Dla urządzeń mobilnych udostępniliśmy klienta VPN z uwierzytelnianiem dwuskładnikowym. Otwarty port pulpitu zdalnego został zamknięty.

Tydzień 3: próbna migracja

Przenieśliśmy kopię systemu do chmury i przez dwa dni pozwoliliśmy kierownikom magazynów pracować w środowisku testowym: przyjmować towar, kompletować, drukować dokumenty. Tu wyszła najtrudniejsza rzecz. Drukarki etykiet w magazynach były skonfigurowane na adres IP starego serwera, a część z nich nie miała żadnej dokumentacji. W ciągu dwóch dni przeszliśmy przez wszystkie 14 drukarek i poprawiliśmy konfigurację przez VPN.

Tydzień 4: migracja

Migrację przeprowadziliśmy w sobotę w nocy. Zatrzymaliśmy stary system, przenieśliśmy ostateczny stan bazy danych i przełączyliśmy stanowiska oraz urządzenia. Kierownik magazynu sprawdził główne scenariusze w niedzielę rano. Faktyczna niedostępność trwała około czterech godzin, w całości poza godzinami pracy. Stare serwery pozostały włączone jeszcze przez dwa tygodnie jako rozwiązanie awaryjne, a następnie je wyłączono.

Tydzień 5: kopie zapasowe i tryb utrzymania

Włączyliśmy kopie zapasowe serwerów w Veeam: kopie dzienne zostają na Litwie, a druga kopia trafia do centrum danych Amazon w Niemczech. Przetestowaliśmy i zmierzyliśmy odtwarzanie: cały system magazynowy jest przywracany z kopii zapasowej w niecałe trzy godziny, więc z zapasem wpisaliśmy do umowy RTO wynoszące cztery godziny. Okno aktualizacji uzgodniono na noc z wtorku na środę, gdy w magazynie jest najspokojniej.

Rezultat

W ciągu pierwszych sześciu miesięcy po migracji system magazynowy nie miał ani jednej nieplanowanej awarii. Mierzymy to systemem monitoringu, który rejestruje każdą minutę niedostępności, a klient co miesiąc otrzymuje raport. Planowane aktualizacje odbywają się w nocy i pracownicy ich nie zauważają.

Uzgodniony czas odtworzenia wynosi 4 godziny i został potwierdzony prawdziwym testem, a nie wyliczeniem. Kopie zapasowe są przechowywane w dwóch miejscach: na Litwie i w Niemczech. Dzięki temu kierownik operacyjny może odpowiadać na ankiety bezpieczeństwa klientów konkretnymi faktami zamiast obietnic.

Serwerownia w biurze została zlikwidowana, a klimatyzator wyłączony. Dyrektor finansowy zastąpił w budżecie pozycję wymiany serwerów miesięczną opłatą za usługę, znaną z góry.

„Kiedyś w poniedziałek rano sprawdzałem, czy serwery żyją. Teraz sprawdzam tylko raport.”

Co doradzilibyśmy w podobnej sytuacji

  • Zmierz rzeczywiste obciążenie, zanim przeniesiesz serwery. Zalecenia dostawców aplikacji często mają duży zapas, a za zasoby zapłacisz co miesiąc.
  • Zrób próbną migrację i pozwól prawdziwym pracownikom pracować w środowisku testowym. Drukarki, skanery i integracje z dostawcami ujawniają się tylko w ten sposób.
  • Czas odtworzenia wpisuj do umowy dopiero po prawdziwym teście. Cztery godziny na papierze i cztery godziny w praktyce to nie to samo.
  • Zamknij otwarte porty pulpitu zdalnego natychmiast, przed jakąkolwiek migracją. To najczęstsza droga, którą ransomware dostaje się do firm logistycznych.