„Houston, mamy problem”! Aktualizacja oprogramowania wymaga złożonego przepływu pracy, same aktualizacje to powolny proces, radzenie sobie z nieudanymi zmianami wymaga podejmowania poważnych decyzji… jak często miałeś okazję spotkać się z tymi sytuacjami? Z tego artykułu dowiesz się, jak im zaradzić.
Udostępnij!
7 Filarów DevOps podstawą sukcesu każdej organizacji
Czym jest DevOps?
Oprogramowanie oraz infrastruktura IT to dzisiaj fundamenty działania w każdej organizacji niezależnie od jej profilu. Dotyczy to zarówno przedsiębiorstwa nastawionych na zysk, jak i organizacji społecznych. Coraz więcej dowodów potwierdza, że stosowanie odpowiednich praktyki pomaga w dostarczaniu oprogramowania (produktów i usług) szybciej, bardziej niezawodnie i z mniejszą liczbą błędów. W wielu przypadkach zapominamy jednak o tym, co jest kluczowe z punktu widzenia ich dostarczania 7 filarów DevOps pomaga uniknąć tego problemu. Jednym z pionierów wykorzystania tej koncepcji był Amazon, który przez wiele lat borykał się z ogromnymi problemami związanymi z zapewnieniem właściwej jakości zmian dostarczanych do środowisk pracowniczych. Aby lepiej zrozumieć, o czym mowa, rozpocznijmy od wyjaśnienia, czym jest Continuous Delivery Pipeline / Devops Pipeline.
Continuous Delivery Pipeline (CDP)
CDP odnosi się do serii procesów, które są wykonywane na etapach zmian produktu. Każdy etap przetwarza artefakty wynikające z poprzedniego. Ostatni z nich skutkuje wdrożeniem do produkcji.
Poniższy schemat definiuje kolejne etapy dla DevOps pipeline.
Projekt: Określa zmiany implementacyjne
Tworzenie: Implementuje niezintegrowane wersje zmian w projekcie
Integracja: Scala utworzone zmiany w wersję produktu
Budowanie: Tworzy wersję podsystemu produktu
Siedem filarów DevOps
Wiedząc już, czym jest Continuous Delivery Pipeline, przejdźmy do zdefiniowania Siedmiu filarów Devops. Poniższa wizualizacja w prosty sposób obrazuje ich specyfikę.
Na czym jednak dokładnie polegają poszczególne etapy?
-
Collaborative Culture:
Właściwe dopasowanie celu biznesowego wymaga kooperacyjnej kultury zespołowej. Żadna ilość technologii nie zapewni skutecznych pipeline-ów end-to-end, jeśli liderzy, menedżerowie średniego szczebla, zespoły programistów, QA, Infrastruktura czy Operacje nie będą ze sobą współpracować.
-
Design for DevOps:
DevOps działa dla prawie każdego produktu, ale najlepiej sprawdza się w przypadku produktów zaprojektowanych w sposób modułowy przy użyciu architektury zorientowanej na usługi, mikro usługi oraz 12-to składnikowych metod projektowania aplikacji zapakowanych jako kontenery. Modularne, niezmienne architektury są najłatwiej dostosowane do pełnego wykorzystania praktyk DevOps.
-
Continuous Integration:
Integracja oprogramowania jest opracowywana zgodnie z najlepszymi praktykami, aby szybko łączyć zmiany przy jednoczesnym minimalizowaniu wycofań, przerw i kosztownych opóźnień w przygotowaniu. Etap CI obejmuje budowę głównej gałęzi, a także niektóre testy funkcjonalne.
-
Continuous Monitoring:
Inteligentny aktywny monitoring i analiza cyklu życia w czasie rzeczywistym, testów, procesów, wydajności aplikacji i elementów infrastruktury są niezbędne do podejmowania decyzji w czasie rzeczywistym na każdym etapie procesu, aby zapobiec powstawaniu sytuacji, w których proces jest hamowany.
-
Continuous Testing:
Wybrana strategia testów realizowana w całym pipeline end-to-end zapewnia odpowiedni zasięg w celu wychwycenia ryzykownych awarii przed przekazaniem na produkcje, a testy pomagają wystarczająco szybko uniknąć opóźnień.
-
Elastic Infrastructure:
Każdy z wyżej wymienionych filarów znacząco przyczynia się do odniesienia sukcesu przez organizację. Ponownie nawiązując do przykładu Amazona, po wdrożeniu 7 filarów DevOps i latach ćwiczeń i praktyki, możemy zaobserwować w tej organizacji imponujące rezultaty. Jakie są skutki?
- Redukcja o 90% czasu przestojów spowodowanych wdrożeniami oprogramowania
- Tylko około ~ 0,001% wdrożeń oprogramowania powoduje awarię
- W pełni wdrożone natychmiastowe automatyczne wycofanie
Takimi osiągnięciami może pochwalić się dziś niewiele firm na rynku. Statystyki wdrożeń (tylko Hosty i środowiska produkcyjne) też bywają imponujące:
- Średni czas pomiędzy wdrożeniami 11,6 sek. (dzień powszedni)
- Maksymalna liczba wdrożeń w ciągu godziny 1079
- Średnia liczba hostów jednocześnie otrzymujących wdrożenie 10 000
- Maksymalna liczba hostów jednocześnie otrzymujących wdrożenie 30 000
Wszystkie osoby, które chciałyby się dowiedzieć więcej na temat Devops, nauczyć się optymalizacji Continuous Delivery Pipeline / Devops Pipeline oraz w pełni korzystać z dobrodziejstw 7 filarów DevOps, zapraszamy na szkolenia Devops, Lean, ITIL, Agile, SCRUM, oraz Symulacje Project Phoenix w Altkom Akademii.