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.