DevOps i chmura - wdrożenia automatyczne, monitoring, koszty
Wdrożenie to wieczór i modlitwa
Ktoś wchodzi na serwer po godzinach, kopiuje pliki i trzyma kciuki. Nikt nie wie dokładnie, co poszło na produkcję.
U mnie działa, na serwerze nie
Środowiska różnią się wersjami, zmiennymi i bibliotekami, więc pół dnia idzie na szukanie różnicy, a nie na pracę nad produktem.
O awarii dowiadujecie się od klienta
Brak monitoringu oznacza, że pierwszym alertem jest telefon albo wpis w mediach społecznościowych. Zwykle w piątek po południu.
Nikt nie wie, czy kopie zapasowe działają
Kopie się robią, ale odtworzenia nikt nigdy nie przetestował. Kopia, której nie odtworzono, nie jest kopią, tylko nadzieją.
Rachunek za chmurę rośnie bez powodu
Maszyny uruchomione na testy chodzą od miesięcy, dyski po skasowanych projektach zostały, a nikt nie patrzy na koszt zasobu.
Cała wiedza siedzi w jednej głowie
Konfiguracja nie jest nigdzie opisana, więc urlop jednej osoby zamraża wszystkie wdrożenia. To ryzyko, nie oszczędność.
Architektura chmury
Projekt infrastruktury w AWS, Google Cloud albo na tańszych serwerach dedykowanych, z podziałem na środowiska i policzonym kosztem miesięcznym.
Wdrożenia automatyczne
Potok, który buduje, testuje i wdraża kod po każdej zmianie, z możliwością wycofania jednym poleceniem. Koniec wdrożeń z pamięci.
Konteneryzacja
Docker i, tam gdzie faktycznie jest potrzebny, Kubernetes. Te same wersje na laptopie, w testach i na produkcji, bez niespodzianek.
Infrastruktura jako kod
Terraform i Ansible, więc konfiguracja jest zapisana w repozytorium, przeglądalna i odtwarzalna od zera po awarii.
Monitoring i alerty
Prometheus, Grafana i logi w jednym miejscu, z alertem do właściwej osoby, zanim problem zauważy użytkownik.
Bezpieczeństwo w procesie
Skanowanie zależności i obrazów, zarządzanie sekretami, minimalne uprawnienia i przegląd konfiguracji chmury pod kątem błędów.
AUDYT
Co gdzie stoi, kto ma dostęp, jak wygląda wdrożenie i co się stanie, gdy padnie główny serwer. Raport z listą ryzyk według wagi.
PROJEKT
Plan docelowej infrastruktury z policzonym kosztem miesięcznym i kolejnością zmian, żeby nic nie działo się na oślep.
WDROŻENIE
Infrastruktura jako kod, potok wdrożeniowy, monitoring i kopie zapasowe. Zmiany wchodzą etapami, produkcja działa cały czas.
TESTY
Próbne odtworzenie z kopii, test obciążeniowy i celowe wyłączenie elementu, żeby sprawdzić, czy alerty faktycznie działają.
PRZEKAZANIE
Szkolenie zespołu i dokumentacja w repozytorium. Celem jest infrastruktura, którą utrzymacie sami, nie zależność ode mnie.
OPIEKA
Aktualizacje, reagowanie na alerty i przeglądy kosztów. Tylko wtedy, gdy nie macie własnego zespołu, który to przejmie.
Audyt infrastruktury
Przegląd tego, co macie, z listą ryzyk i kosztów. Kończy się raportem, który możesz wdrożyć własnym zespołem.
Wdrożenie DevOps
Od ręcznych wdrożeń do automatycznych: potok, konteneryzacja, monitoring, kopie zapasowe i dokumentacja. Najczęstszy zakres.
Opieka nad infrastrukturą
Stała opieka dla firm bez własnego zespołu DevOps: aktualizacje, reagowanie na alerty, przeglądy kosztów i wsparcie przy wdrożeniach.
Czy potrzebujemy Kubernetesa?
W większości przypadków nie i mówię to wprost. Kubernetes ma sens przy wielu usługach, kilku zespołach i realnej potrzebie automatycznego skalowania. Przy jednej aplikacji i jednym zespole Docker Compose na porządnym serwerze jest tańszy, prostszy w utrzymaniu i o wiele łatwiejszy do przekazania komuś innemu.
Migracja do chmury czy własny serwer?
To zależy od profilu ruchu, a nie od mody. Chmura wygrywa przy zmiennym obciążeniu, potrzebie szybkiego skalowania i usługach zarządzanych. Serwer dedykowany bywa kilka razy tańszy przy stałym, przewidywalnym ruchu. Liczę oba warianty i pokazuję koszt miesięczny, zamiast rekomendować z góry.
Czy wdrożenie zmian wymaga przestoju?
Zwykle nie. Zmiany wchodzą etapami, obok działającej produkcji, a przełączenie następuje dopiero po testach. Jeśli w jakimś kroku przestój jest nieunikniony, na przykład przy migracji bazy, mówię o tym wcześniej i planujemy okno w porozumieniu z Wami, a nie po fakcie.
Nie mamy nikogo, kto to potem utrzyma
Dlatego wszystko opisuję w repozytorium i szkolę zespół, nawet jeśli to jedna osoba bez doświadczenia w administracji. Infrastruktura jako kod właśnie po to istnieje: konfiguracja jest czytelna i odtwarzalna. Jeśli po przekazaniu wolicie oddać opiekę na zewnątrz, mam stały abonament, ale nie jest on warunkiem projektu.
Ile da się zaoszczędzić na chmurze?
Przy pierwszym przeglądzie zwykle wychodzą maszyny uruchomione na testy i nigdy nie wyłączone, dyski po skasowanych projektach, niewykorzystane adresy IP i rozmiary instancji dobrane na zapas. To najprostsze oszczędności i widać je od razu. Dokładnej wartości nie obiecuję przed audytem, bo zależy od tego, jak konto było prowadzone.
Pracujesz na naszych dostępach?
Tak, zawsze. Konto w chmurze, domena i repozytorium należą do Was, ja dostaję dostęp imienny z uprawnieniami ograniczonymi do zakresu prac. Po zakończeniu projektu dostęp możecie odebrać jednym kliknięciem i nic nie przestaje działać. Nigdy nie trzymam infrastruktury klienta na swoim koncie.
Co, jeśli wszystko padnie?
Do tego właśnie służy procedura odtworzenia od zera i test odtworzenia z kopii, który wykonujemy w ramach projektu, a nie w dniu awarii. Wiadomo wtedy, ile trwa powrót do działania i ile danych może przepaść w najgorszym wypadku. Te dwie liczby ustalamy z Wami na początku, bo od nich zależy koszt rozwiązania.
Audyty bezpieczeństwa
Testy penetracyjne i przegląd konfiguracji, gdy infrastruktura już stoi.
Aplikacje web
Aplikacja i infrastruktura projektowane razem, a nie doklejane po fakcie.
Konsultacje IT
Decyzja o chmurze albo serwerze bez wchodzenia w cały projekt wdrożeniowy.
DevOps i chmura - wdrożenia automatyczne, monitoring, koszty | Mateusz Ulewicz
WDROŻENIA BEZ
Automatyzuję wdrożenia, porządkuję infrastrukturę i zakładam monitoring, żeby o awarii wiedział alert, a nie klient. Konfiguracja trafia do repozytorium, więc da się ją przeczytać, sprawdzić i odtworzyć od zera.
SZEŚĆ OBJAWÓW
Każdy z tych punktów jest ryzykiem z konkretną ceną: przestój, utracone dane albo rachunek za zasoby, których nikt nie używa.
Zakres
Kolejność nie jest przypadkowa: najpierw powtarzalne wdrożenia i kopie zapasowe, potem skalowanie. Odwrotna kolejność kosztuje więcej.
W standardzie
Lista rzeczy, których brak widać dopiero w dniu awarii. Sprawdzam je w każdym projekcie, także wtedy, gdy nie ma ich w zakresie.
Warianty
Wycena powstaje po audycie, bo o nakładzie pracy decyduje stan obecnej infrastruktury, a nie liczba serwerów na fakturze.
Opłaty za chmurę i serwery płacisz bezpośrednio dostawcy, na swoje konto. Nie pośredniczę w nich i nie doliczam marży.
Technologie
Dobieram najprostsze narzędzie, które rozwiązuje problem. Rozbudowana platforma bez zespołu, który ją utrzyma, jest ryzykiem, nie atutem.
OPOWIEDZ, JAK
Kto je robi, jak długo trwa i co się dzieje, gdy pójdzie nie tak. Z tych trzech odpowiedzi wynika prawie cała reszta, w tym to, czy potrzebujecie pełnego wdrożenia, czy wystarczy audyt i kilka poprawek.