devops tutorial ultimate guide devops
To jest kompletna seria samouczków DevOps zawierająca ponad 25 samouczków tekstowych i wideo obejmujących wszystkie aspekty DevOps, takie jak Co to jest DevOps, zasady DevOps i jego architekt.
Lista samouczków w serii szkoleń DevOps:
# 1) Wprowadzenie do DevOps (Ten samouczek)
#dwa) DevOps i testowanie oprogramowania
Samouczki wideo DevOps:
# 3) Samouczek wideo 1: Tło DevOps, definicja, wartość, korzyści, nawyki i najlepsze praktyki
- Część 1 Blok 1 - Demistyfikacja DevOps
# 4) Samouczek wideo 2: Praktyki DevOps oparte na zasadach Agile, kontroli źródła i automatyzacji DevOps
Ten samouczek wideo jest podzielony na 6 bloków:
- Część 2 Blok 1 - DevOps Practice w oparciu o Agile Manifesto
- Część 2 Blok 2 - Kontrola źródła i wersji w DevOps
- Część 2 Blok 3 - Automatyzacja w DevOps
- Część 2 Blok 4 - Małe przyrosty dostaw w DevOps
- Część 2 blok 5 - Współpraca w zespołach DevOps
- Część 2 Blok 6 - Jak rozwijać współpracę w zespołach DevOps
# 5) Samouczek wideo 3: DevOps przetwarza ciągłą integrację, ciągłe testowanie i ciągłe dostarczanie
Ten samouczek wideo jest podzielony na 4 bloki:
- Część 3 Blok 1 - Ciągła integracja w DevOps
- Część 3 Blok 2 - Ciągłe dostarczanie w DevOps
- Część 3 Blok 3 - Ciągłe wdrażanie w DevOps
- Część 3 Blok 4 - Ciągłe testowanie w DevOps
# 6) Samouczek wideo 4: Zarządzanie konfiguracją DevOps i monitorowanie wydajności aplikacji na żywo
Ten samouczek wideo jest podzielony na 3 bloki:
- Część 4 Blok 1 - Zarządzanie konfiguracją w praktykach DevOps
- Część 4 Blok 2 - Zarządzanie wersjami w DevOps
- Część 4 Blok 3 - Monitorowanie wydajności aplikacji w DevOps
# 7) Samouczek wideo 5: Podsumowanie całego kursu.
- Część 5 Blok 1 - Podsumowanie samouczków wideo DevOps
Samouczki tekstowe:
# 8) Przesuń w lewo testowanie
# 9) Jak poprawić jakość oprogramowania dzięki ciągłej integracji
# 10) Ciągły proces dostawy
Narzędzia DevOps:
#jedenaście) Narzędzia DevOps
# 12) Instalacja i konfiguracja powszechnie używanych narzędzi DevOps typu open source
# 13) Najlepsze narzędzia do ciągłej integracji
# 14) Najlepsze narzędzia do ciągłego dostarczania
Samouczek Microsoft VSTS:
#piętnaście) Microsoft VSTS część 1
# 16) Microsoft VSTS część 2
Narzędzia AWS DevOps:
# 17) Narzędzia AWS DevOps, część 1 (CodeCommit)
# 18) Narzędzia AWS DevOps, część 2 (CodeBuild)
# 19) Narzędzia AWS DevOps, część 3 (CodeDeploy)
#20) Wdrażanie aplikacji internetowych .NET przy użyciu AWS Elastic Beanstalk
Ansible dla DevOps:
#dwadzieścia jeden) Ansible Część 1: Instalacja i konfiguracja
# 22) Ansible, część 2: Automatyzacja zadań przy użyciu podręczników
# 2. 3) Ansible, część 3: role Ansible i integracja z Jenkins
# 24) Integracja Jenkins z Selenium
# 25) Narzędzie ciągłej integracji firmy Hudson
# 26) Firmy dostawców usług DevOps
# 27) Pytania do wywiadów DevOps
Zacznijmy od pierwszego samouczka z tej serii.
Czego się nauczysz:
- Wprowadzenie do DevOps
- Omówienie Agile i DevOps
- Czy DevOps dotyczy tylko narzędzi?
- Składniki DevOps
- Podsumowanie
- rekomendowane lektury
Wprowadzenie do DevOps
DevOps to nie tylko narzędzia, ale także zestaw najlepszych praktyk, które pozwalają wypełnić lukę między zespołami programistycznymi i operacyjnymi w obszarach ciągłej integracji i wdrażania, wykorzystując zintegrowany zestaw narzędzi do automatyzacji dostarczania oprogramowania.
jak dostać się do testów Qa
Konieczne jest, aby programiści rozumieli stronę operacyjną i odwrotnie. Tak więc celem DevOps jest po prostu pomoc każdej organizacji w szybkości dostarczania aplikacji do użytkowników końcowych i umożliwienie szybszego uzyskiwania informacji zwrotnych od użytkowników końcowych, co jest dziś potrzebne każdej firmie.
Omówienie Agile i DevOps
Nie ma różnicy między Agile i DevOps. Zamiast tego wzajemnie się uzupełniają. Zacznijmy od przyjrzenia się modelowi Waterfall, w którym wszystkie wymagania są zamrożone, a projektowanie i rozwój są wykonywane jeden po drugim, aż do udostępnienia stabilnego produktu.
Tak więc problem polega na tym, że jeśli na tym etapie nastąpi zmiana w potrzebach klienta, nie ma możliwości uwzględnienia i zrealizowania zmienionej potrzeby.
W celu rozwiązania problemu dostosowania się do potrzeb klienta zmian lepiej niż w metodzie kaskadowej była adaptacja Agile. Pomysł polegał na opracowaniu oprogramowania w mniejszych sprintach lub iteracjach, około 2 do 3 tygodni, co pomogło zespołom programistów w pracy nad opiniami użytkowników końcowych i wprowadzaniu zmian w nowszych wersjach.
Dlatego zespoły programistyczne i operacyjne muszą być zwinne w swoich obszarach pracy iDevOpsnarodził się, aby umożliwić lepszą współpracę między nimi.
Agile wprowadza procesy, takie jak XP, SCRUM itp., A DevOps wprowadza praktyki, takie jak ciągła integracja, ciągłe dostarczanie, ciągłe testowanie i ciągłe monitorowanie, które zobaczymy szczegółowo w dalszej części tego samouczka.
Czy DevOps dotyczy tylko narzędzi?
W pewnym sensie możesz argumentować, że do implementacji DevOps potrzebujesz narzędzi. To prawda, ale narzędzia to tylko akceleratory.
Ale w rzeczywistości chodzi o następujące 3 aspekty:
Ludzie :Bardzo ważne jest, aby wyszkolić i mieć wysoce zmotywowany zespół ludzi, aby móc skutecznie komunikować się i współpracować podczas całej podróży zmiany kulturowej.
Proces: Ponieważ mówimy o zmianie kulturowej we wdrażaniu DevOps, w dużej mierze konieczne jest posiadanie praktyk i strategii, które zapewniają wartość dla klienta. Właściwym sposobem na zrobienie tego byłoby przeprowadzenie oceny dojrzałości AS-IS, przyjrzenie się lukom i zaproponowanie mapy drogowej wdrożenia oraz wydanie odpowiednich zaleceń.
Nie będę mówić dogłębnie, jak radziłem sobie z przeprowadzaniem tych ocen, ale z przyjemnością podzielę się wszelkimi uwagami na ten temat.
Przybory: Wreszcie chodzi o wykorzystanie akceleratorów poprzez automatyzację procesu przy użyciu standardowych narzędzi DevOps, które są obecnie dostępne. Może to być Open-Source (Jenkins, Git itp.), Komercyjny (Microsoft TFS, VSTS, IBM Rational, Jira itp.) Lub połączenie obu.
Składniki DevOps
Mam nadzieję, że już wiesz, czym jest DevOps.
Przyjrzyjmy się teraz następującym 4 składnikom DevOps, które stanowią rdzeń z punktu widzenia implementacji, a także organizacje opracowały dobre ramy automatyzacji, oferując je jako usługę swoim klientom.
- Ciągła integracja
- Ciągłe testowanie
- Ciągła dostawa
- Ciągłe monitorowanie
Naprawdę wierzyłem, że jeśli programista musi pracować w tym trybie, powinien być mu przypisany element wykonania, taki jak zadanie lub defekt (w Agile może to być część historii użytkownika), aby umożliwić mu dostarczenie pracy w ramach ramy czasowe sprintu.
Więc nawet zanim powyższe kroki będą mogły zostać wdrożone, te Zadania lub Wady programisty powinny być zaplanowane w Sprincie. Tak więc narzędzia takie jak JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS itp. Pomagają w tworzeniu planów wydania Agile / Sprint.
Przyjrzyjmy się teraz szczegółowo każdemu z tych elementów.
# 1) Ciągła integracja
Jako programista pracujesz nad zadaniami lub defektami przypisanymi do i wpisujesz kod do współużytkowanego repozytorium wiele razy dziennie. Podobnie inni członkowie zespołu również wpisują kod do współdzielonego repozytorium.
Następnie faktycznie zintegrujesz całą pracę wykonaną przez członków zespołu na wspólnym serwerze kompilacji i wykonasz zautomatyzowaną kompilację. Regularne wykonywanie tych integracji i automatycznych kompilacji nazywa się ciągłą integracją.
Ta praktyka pomaga wykrywać problemy na bardzo wczesnym etapie, a także zapewnia, że wszystkie zintegrowane moduły działają zgodnie z wymaganiami. Jeśli więc nie zastosujesz się do tego podejścia, integracja pracy zespołu może nastąpić raz w miesiącu, co może spóźnić się na znalezienie i rozwiązanie problemów z integracją.
Przykładowy przepływ pracy Continuous Integration:
# 2) Ciągła dostawa
Continuous Delivery to kolejny krok po ciągłej integracji. Celem Continuous Delivery jest jak najszybsze wprowadzenie wbudowanej aplikacji do produkcji. Podczas tego procesu przechodzi przez różne etapy w cyklu życia dostawy, tj. QA, Staging, Środowiska produkcyjne itp.
Ten proces regularnego dostarczania aplikacji wbudowanych w różne etapy jest nazywany ciągłym dostarczaniem.
Ciągła dostawa pomaga w szybszym wprowadzaniu na rynek w porównaniu z tradycyjnymi metodami, mniejszym ryzyku, obniżeniu kosztów poprzez zachęcanie do większej automatyzacji procesu wydawania i, co najważniejsze, szybsze uzyskiwanie informacji zwrotnych od użytkowników końcowych w celu wytworzenia produktu wysokiej jakości.
Z mojego doświadczenia wynika, że ten proces działa dobrze w przypadku każdego rodzaju tworzenia aplikacji internetowych.
Przeprowadziłem również sporo ocen wdrożeń DevOps dla organizacji z obszaru półprzewodników, ale ze względu na ich istniejące cykl wydania wydaje się, że ten obszar ciągłego dostarczania nie pasuje do niego, ponieważ jest to raczej proces kaskadowy, który jest przestrzegany, a wdrożenia są wykonywane zgodnie z żądaniem w środowisku klienta.
Przykładowy przepływ pracy w ciągłej dostawie:
Na powyższym diagramie można przyjrzeć się różnym dostępnym środowiskom, dzięki czemu udostępnianie infrastruktury dla tych środowisk można również zautomatyzować podczas tego ciągłego procesu dostarczania.
jakie są podstawy programowania komputerów
# 3) Ciągłe testowanie
Z powyższych 2 praktyk dowiedzieliśmy się, że CI i CD pomagają we wdrożeniu aplikacji lub zmianach w produkcji. Cały ten proces obejmuje właściwą walidację kodu i jego integrację ze wszystkimi związanymi z nim komponentami, aby zapewnić, że aplikacja działa zgodnie z założeniami i jest wolna od błędów lub wad.
Zatem Continuous Testing to proces uruchamiania różnego rodzaju testów automatycznych, począwszy od procesu CI, aż do ostatecznego wdrożenia aplikacji do produkcji.
Na poprzednim diagramie widać, że w kroku Continuous Integration integrujemy wszystkie prace deweloperów na wspólnym serwerze kompilacji, a także na tym etapie programiści przeprowadziliby pewną liczbę testów jednostkowych.
Gdy te integracje i testy działają bez błędów, dopiero potem aplikacja lub zmiany są wdrażane w środowisku QA po złożeniu wniosku o te bramki jakości i zatwierdzenia.
W środowisku QA testy funkcjonalne są uruchamiane i ponownie na podstawie zatwierdzeń, które zostałyby wdrożone w środowisku pomostowym, które byłoby tak samo jak systemy produkcyjne i testy akceptacyjne. Po zakończeniu tej czynności aplikacja lub zmiany są ostatecznie wdrażane w systemach produkcyjnych.
Można więc zauważyć, że ciągłe testowanie jako czynność zaczyna się od samego etapu CI i jest bardzo obowiązkowym krokiem w całym procesie ciągłego dostarczania.
Przykładowy przebieg testowania w procesie ciągłego dostarczania:
# 4) Ciągłe monitorowanie
Gdy aplikacja lub zmiany są wdrażane w środowisku produkcyjnym, zespół operacyjny będzie starał się monitorować aplikację i środowisko z punktu widzenia dostępności, stabilności i dostępności. Ten proces jest nazywany ciągłym monitorowaniem.
Zespoły operacyjne będą miały własne oprogramowanie do monitorowania środowiska, ale będą również musiały odegrać swoją rolę w monitorowaniu wdrożonych aplikacji pod kątem wszelkich problemów. W tym celu musieliby współpracować z zespołami programistów, aby zbudować określone narzędzia do analizy problemów z aplikacjami.
Tak więc problemy z infrastrukturą, środowiskiem i aplikacjami są monitorowane w procesie ciągłego monitorowania.
Podsumowanie
W tym samouczku dowiedzieliśmy się, na czym dokładnie polega proces DevOps, obejmujący różne zaangażowane w niego komponenty. Komponenty te pomagają przyspieszyć dostarczanie aplikacji, a także oszczędzają czas potrzebny na wprowadzenie na rynek, co jest obecnie potrzebne w biznesie z konkurencyjnego punktu widzenia.
W nadchodzącej serii samouczków w segmencie DevOps zapoznasz się z różnymi filmami / prawdopodobnymi narzędziami DevOps, z których mogą korzystać zespoły, a także z implementacją DevOps przy użyciu określonych narzędzi lokalnych i chmurowych.
Jak już powiedziano i zrobiłem, uznałem implementację DevOps za ekscytującą, patrząc na zmianę organizacyjną.
Nasz nadchodzący samouczek wyjaśni Ci wszystko o DevOps i testowaniu oprogramowania.
rekomendowane lektury
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Ciągłe dostarczanie w DevOps
- Ciągłe wdrażanie w DevOps
- Samouczek testowania DevOps: Jak DevOps wpłynie na testy QA?
- Ciągła integracja w DevOps
- Ciągłe testowanie w DevOps
- Podsumowanie samouczków wideo DevOps
- Samouczek AWS CodeCommit dotyczący wdrażania DevOps w chmurze