Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Metodyka DevOps łączy programowanie (Dev) i operacje (Ops) w celu zjednoczenia ludzi, procesów i technologii w planowaniu aplikacji, tworzeniu, dostarczaniu i operacjach. Metodyka DevOps umożliwia koordynację i współpracę między wcześniej silosowymi rolami, takimi jak programowanie, operacje IT, inżynieria jakości i bezpieczeństwo.
Zespoły wdrażają kulturę, praktyki i narzędzia metodyki DevOps, aby zwiększyć zaufanie do aplikacji, które tworzą, lepiej reagują na potrzeby klientów i szybciej osiągają cele biznesowe. Metodyka DevOps pomaga zespołom stale dostarczać klientom wartość dzięki tworzeniu lepszych, bardziej niezawodnych produktów.
Metodyka DevOps i cykl życia aplikacji
Metodyka DevOps wpływa na cykl życia aplikacji w fazach planowania, programowania, dostarczania i operacji . Każda faza opiera się na innych fazach, a fazy nie są specyficzne dla roli. Kultura metodyki DevOps obejmuje wszystkie role w każdej fazie w pewnym stopniu.
Na poniższym diagramie przedstawiono fazy stylu życia aplikacji DevOps:
Cele i korzyści metodyki DevOps
Gdy zespół przyjmuje kulturę, praktyki i narzędzia metodyki DevOps, może osiągnąć niesamowite rzeczy:
Skróć czas wprowadzania produktów na rynek
Dzięki zwiększonej wydajności ulepszona współpraca zespołowa, narzędzia automatyzacji i ciągłe wdrażanie — zespoły mogą szybko skrócić czas od powstania produktu do wprowadzenia na rynek.
Dostosowywanie się do rynku i konkurencji
Kultura Metodyki DevOps wymaga, aby zespoły skupiły się na kliencie. Dzięki zwinności, współpracy zespołowej i skoncentrowaniu się na środowisku klienta zespoły mogą stale dostarczać wartość swoim klientom i zwiększać konkurencyjność na platformie handlowej.
Utrzymywanie stabilności i niezawodności systemu
Dzięki wdrożeniu praktyk ciągłego ulepszania zespoły mogą budować większą stabilność i niezawodność wdrażanych produktów i usług. Te rozwiązania pomagają zmniejszyć liczbę niepowodzeń i ryzyka.
Popraw średni czas naprawy
Średni czas odzyskiwania metryki wskazuje, jak długo trwa odzyskiwanie po awarii lub naruszeniu. Aby zarządzać awariami oprogramowania, naruszeniami zabezpieczeń i planami ciągłego ulepszania, zespoły powinny mierzyć i pracować nad ulepszeniem tej metryki.
Wdrażanie kultury metodyki DevOps
Aby w pełni zaimplementować metodykę DevOps, należy wdrożyć kulturę DevOps. Kultywowanie kultury Metodyki DevOps wymaga głębokich zmian w sposobie pracy i współpracy ludzi. Gdy organizacje zatwierdzą kulturę Metodyki DevOps, tworzą środowisko, w którym zespoły o wysokiej wydajności będą się rozwijać. Przy wdrażaniu praktyk DevOps, które automatyzują i optymalizują procesy za pomocą technologii, bez przyjęcia kultury DevOps w organizacji i wśród jej pracowników, nie uzyskasz pełnych korzyści.
Na poniższej ilustracji przedstawiono kluczowe aspekty kultury witryny na żywo firmy Microsoft.
Poniżej przedstawiono kluczowe składniki kultury metodyki DevOps:
- Współpraca, widoczność i dopasowanie: cechą charakterystyczną zdrowej kultury Metodyki DevOps jest współpraca między zespołami. Współpraca zaczyna się od widoczności. Programowanie, it i inne zespoły powinny dzielić się swoimi procesami, priorytetami i problemami DevOps. Planując pracę razem, są lepiej przygotowani, aby dostosować się do celów i mierników sukcesu w odniesieniu do biznesu.
- Przesunięcia w zakresie i odpowiedzialności: Gdy zespoły się dopasowują, przejmują odpowiedzialność i angażują się w inne fazy cyklu życia — nie tylko te kluczowe dla ich ról. Na przykład deweloperzy stają się odpowiedzialny nie tylko za innowacje i jakość ustanowioną w fazie opracowywania, ale także wydajność i stabilność zmian w fazie działania. Jednocześnie operatorzy IT muszą uwzględnić nadzór, zabezpieczenia i zgodność w fazie planowania i opracowywania.
- Krótsze cykle wydania: zespoły DevOps pozostają elastyczne, wydając oprogramowanie w krótkich cyklach. Krótsze cykle wydawania ułatwiają planowanie i zarządzanie ryzykiem, ponieważ postęp jest przyrostowy, co zmniejsza również wpływ na stabilność systemu. Skrócenie cyklu wydawania umożliwia również organizacjom dostosowanie i reagowanie na zmieniające się potrzeby klientów i presję konkurencyjną.
- Ciągłe uczenie się: zespoły DevOps o wysokiej wydajności ustanawiają nastawienie na rozwój. Szybko odnoszą porażki i wyciągają wnioski, które wdrażają do swoich procesów. Dążą do ciągłego ulepszania, zwiększania zadowolenia klientów oraz przyspieszania innowacji i adaptacji na rynku.
Implementowanie praktyk metodyki DevOps
Metodyka DevOps jest implementowana zgodnie z praktykami devOps (opisanymi w poniższych sekcjach) w całym cyklu życia aplikacji. Niektóre z tych rozwiązań pomagają przyspieszyć, zautomatyzować i poprawić określoną fazę. Inne obejmują kilka faz, pomagając zespołom tworzyć bezproblemowe procesy, które pomagają zwiększyć produktywność.
Ciągła integracja i ciągłe dostarczanie (CI/CD)
Ciągła integracja (CI) to praktyka używana przez zespoły programistyczne do automatyzowania, scalania i testowania kodu. Ciągła integracja pomaga wychwytywać błędy na wczesnym etapie cyklu rozwoju, co sprawia, że są one tańsze do naprawienia. Testy automatyczne są wykonywane w ramach procesu ciągłej integracji w celu zapewnienia jakości. Systemy ciągłej integracji tworzą artefakty i przekazują je do procesów wydania, aby umożliwić częste wdrożenia.
Ciągłe dostarczanie (CD) to proces, za pomocą którego kod jest kompilowany, testowany i wdrażany w co najmniej jednym środowisku testowym i produkcyjnym. Wdrażanie i testowanie w wielu środowiskach zwiększa jakość. Systemy ciągłego wdrażania generują artefakty przeznaczone do wdrożenia, w tym infrastrukturę oraz aplikacje. Zautomatyzowane procesy wydawania wykorzystują te artefakty w celu wydania nowych wersji i poprawek istniejących systemów. Systemy monitorujące i wysyłające alerty działają nieprzerwanie, aby zapewnić wgląd w cały proces ciągłego wdrażania.
Kontrola wersji
Kontrola wersji to praktyka zarządzania kodem w wersjach — śledzenie poprawek i historii zmian w celu ułatwienia przeglądu i odzyskiwania kodu. Ta praktyka jest zwykle implementowana przy użyciu systemów kontroli wersji, takich jak Git, co umożliwia wielu deweloperom współpracę w kodzie tworzenia. Systemy te zapewniają jasny proces scalania zmian kodu, które występują w tych samych plikach, obsługują konflikty i cofają zmiany we wcześniejszych stanach.
Korzystanie z kontroli wersji jest podstawową praktyką metodyki DevOps, pomagając zespołom deweloperów współpracować, dzielić zadania kodowania między członkami zespołu i przechowywać cały kod w celu łatwego odzyskiwania w razie potrzeby. Kontrola wersji jest również niezbędnym elementem w innych rozwiązaniach, takich jak ciągła integracja i infrastruktura jako kod.
Tworzenie oprogramowania Agile
Agile to podejście programistyczne, które podkreśla współpracę zespołową, opinie klientów i użytkowników oraz wysoką elastyczność w celu zmiany w krótkich cyklach wydania. Zespoły, które praktykują metodę Agile, zapewniają ciągłe zmiany i ulepszenia dla klientów, zbierają ich opinie, a następnie uczą się i dostosowują się w zależności od oczekiwań i potrzeb klientów. Agile różni się znacznie od innych bardziej tradycyjnych modeli, takich jak kaskadowy model, który obejmuje długie cykle wydawnicze zdefiniowane jako fazy sekwencyjne. Kanban i Scrum to dwie popularne struktury skojarzone z agile.
Infrastruktura jako kod
Infrastruktura jako kod definiuje zasoby systemowe i topologie w sposób opisowy, który umożliwia zespołom zarządzanie tymi zasobami w taki sposób, jak w przypadku kodu. Definicje te można również przechowywać i wersjonować w systemach kontroli wersji, gdzie można je przeglądać i przywracać — podobnie jak kod.
Praktykowanie infrastruktury jako kodu pomaga zespołom wdrażać zasoby systemowe w niezawodny, powtarzalny i kontrolowany sposób. Infrastruktura jako kod pomaga również zautomatyzować wdrażanie i zmniejsza ryzyko błędu ludzkiego, zwłaszcza w przypadku złożonych dużych środowisk. To powtarzalne, niezawodne rozwiązanie do wdrażania środowiska umożliwia zespołom utrzymanie środowisk programistycznych i testowych, które są identyczne z środowiskiem produkcyjnym. Duplikowanie środowisk do różnych centrów danych i platform w chmurze również staje się prostsze i bardziej wydajne.
Zarządzanie konfiguracją
Zarządzanie konfiguracją odnosi się do zarządzania stanem zasobów w systemie, w tym serwerów, maszyn wirtualnych i baz danych. Za pomocą narzędzi do zarządzania konfiguracją zespoły mogą wdrażać zmiany w kontrolowany, systematyczny sposób, zmniejszając ryzyko modyfikacji konfiguracji systemu. Zespoły używają narzędzi do zarządzania konfiguracją do śledzenia stanu systemu i pomagają uniknąć dryfu konfiguracji, czyli sposobu, w jaki konfiguracja zasobu systemowego różni się w czasie od żądanego stanu zdefiniowanego dla niego.
Wraz z infrastrukturą jako kodem można łatwo templatyzować i automatyzować definicję i konfigurację systemu, co ułatwia zespołom obsługę złożonych środowisk na dużą skalę.
Ciągłe monitorowanie
Ciągłe monitorowanie oznacza pełny wgląd w wydajność i kondycję całego stosu aplikacji w czasie rzeczywistym. Ta widoczność waha się od podstawowej infrastruktury uruchamianej przez aplikację po składniki oprogramowania wyższego poziomu. Widoczność odbywa się za pośrednictwem zbierania danych telemetrycznych i metadanych oraz ustawiania alertów dla wstępnie zdefiniowanych warunków, które uzasadniają uwagę operatora. Dane telemetryczne składają się z danych zdarzeń i dzienników zebranych z różnych części systemu, które są przechowywane, gdzie można je analizować i wykonywać zapytania.
Zespoły DevOps o wysokiej wydajności zapewniają, że ustawiają praktyczne, znaczące alerty i zbierają bogate dane telemetryczne, dzięki czemu mogą uzyskiwać szczegółowe informacje z ogromnych ilości danych. Te szczegółowe informacje pomagają zespołowi rozwiązać problemy w czasie rzeczywistym i zobaczyć, jak ulepszyć aplikację w przyszłych cyklach programowania.
Planning
W fazie planowania zespoły DevOps tworzą pomysł, definiują i opisują funkcje i możliwości aplikacji i systemów, które planują utworzyć. Zespoły śledzą postęp zadań na niskim i wysokim poziomie szczegółowości— od pojedynczych produktów po wiele portfolio produktów. Zespoły używają następujących rozwiązań DevOps do planowania w sposób zwinny i przejrzysty:
- Twórz backlogi.
- Śledź błędy.
- Zarządzanie programowaniem oprogramowania Agile za pomocą scrum.
- Użyj tablic Kanban.
- Wizualizowanie postępu za pomocą pulpitów nawigacyjnych.
Aby zapoznać się z omówieniem kilku lekcji i praktyk, które firma Microsoft przyjęła w celu obsługi planowania metodyki DevOps w zespołach oprogramowania firmy, zobacz How Microsoft plans with DevOps (Jak firma Microsoft planuje za pomocą metodyki DevOps).
Rozwój
Faza programowania obejmuje wszystkie aspekty tworzenia kodu oprogramowania. W tej fazie zespoły DevOps wykonują następujące zadania:
- Wybierz środowisko deweloperskie.
- Pisanie, testowanie, przeglądanie i integrowanie kodu.
- Skompiluj kod w artefakty, aby wdrożyć je w różnych środowiskach.
- Użyj kontroli wersji, zwykle git, aby współpracować nad kodem i pracować równolegle.
Aby szybko wprowadzać innowacje bez poświęcania jakości, stabilności i produktywności, zespoły DevOps:
- Korzystanie z narzędzi o wysokiej produktywności.
- Automatyzowanie rutynowych i ręcznych czynności.
- Iteruj w małych krokach przez zautomatyzowane testowanie i ciągłą integrację (CI).
Aby zapoznać się z omówieniem praktyk programistycznych przyjętych przez firmę Microsoft w celu wsparcia ich przejścia do metodyki DevOps, zobacz Jak firma Microsoft opracowuje rozwiązania DevOps.
Dostarcz
Dostarczanie to proces spójnego i niezawodnego wdrażania aplikacji w środowiskach produkcyjnych, najlepiej poprzez ciągłe dostarczanie (CD).
W fazie dostarczania zespoły DevOps:
- Zdefiniuj proces zarządzania wydaniami z przejrzystymi etapami zatwierdzania ręcznego.
- Ustaw automatyczne bramy, aby przenosić aplikacje między etapami aż do końcowego wydania dla klientów.
- Automatyzacja procesów dostarczania, aby były skalowalne, powtarzalne, kontrolowane i dobrze przetestowane.
Dostarczanie obejmuje również wdrażanie i konfigurowanie podstawowej infrastruktury środowiska dostarczania. Zespoły DevOps używają technologii takich jak infrastruktura jako kod (IaC),kontenery i mikrousługi w celu dostarczania w pełni zarządzanych środowisk infrastruktury.
Bezpieczne praktyki wdrażania mogą identyfikować problemy, zanim wpłyną one na środowisko klienta. Te rozwiązania pomagają zespołom DevOps dostarczać często łatwość, pewność siebie i spokój.
Podstawowe zasady i procesy DevOps, które firma Microsoft ewoluowała w celu zapewnienia wydajnych systemów dostarczania, opisano w temacie Jak firma Microsoft dostarcza oprogramowanie za pomocą metodyki DevOps.
Operations
Faza operacji obejmuje obsługę, monitorowanie i rozwiązywanie problemów z aplikacjami w środowiskach produkcyjnych, w tym chmur hybrydowych lub publicznych, takich jak platforma Azure. Zespoły DevOps dążą do zapewnienia niezawodności systemu, wysokiej dostępności, silnego bezpieczeństwa i zerowego przestoju.
Zautomatyzowane rozwiązania dotyczące dostarczania i bezpiecznego wdrażania pomagają zespołom szybko identyfikować i rozwiązywać problemy, gdy wystąpią. Utrzymywanie czujności wymaga rozbudowanej telemetrii, alertów z możliwością działania i pełnego wglądu w aplikacje i systemy bazowe.
Rozwiązania używane przez firmę Microsoft do obsługi złożonych platform online są opisane w temacie Jak firma Microsoft obsługuje niezawodne systemy za pomocą metodyki DevOps.
Dalsze kroki
- Planowanie wydajnych obciążeń za pomocą metodyki DevOps
- Opracowywanie nowoczesnego oprogramowania za pomocą metodyki DevOps
- Dostarczanie usług jakości za pomocą metodyki DevOps
- Obsługa niezawodnych systemów za pomocą metodyki DevOps
Inne zasoby
- Rozwiązania DevOps na platformie Azure
- Podróż DevOps w firmie Microsoft
- Rozpoczynanie pracy z usługą DevOps za pomocą platformy Azure
- Zabezpieczenia w usłudze DevOps (DevSecOps)
- Co to jest inżynieria platformy?
Szkolenia i certyfikaty
- rozpoczynanie pracy z usługą Azure DevOps
- Wprowadzenie do metodyki DevOps Dojo: tworzenie wydajności, które obsługują Twoją firmę
- AZ-400: Rozpoczynanie pracy z transformacją metodyki DevOps
- Ułatwianie komunikacji i współpracy
- Egzamin AZ-400: Projektowanie i wdrażanie rozwiązań Microsoft DevOps
- AZ-400: Implementowanie zabezpieczeń i weryfikowanie baz kodu pod kątem zgodności