Co to jest wdrażanie oprogramowania?
- 3 min
Wdrożenie oprogramowania obejmuje wszystkie działania, które udostępniają system oprogramowania do użycia. Ogólny proces wdrażania składa się z kilku powiązanych działań z możliwymi przejściami między nimi. Każdy system oprogramowania jest unikatowy, dlatego wdrożenie jest procesem ogólnym, który musi być dostosowany do określonych wymagań lub cech.
Niektóre używają terminów "wdrażanie" i "instalacja" zamiennie, ale instalacja oprogramowania jest tylko częścią procesu wdrażania. Wdrożenie obejmuje więcej. Działania wdrażania mogą obejmować:
- Instalacja i układanie serwera w stojaku
- Wdrażanie zaktualizowanego oprogramowania na tym serwerze.
- Używanie takich elementów jak skrypty i infrastruktura jako kod.
- Nawet poruszanie się po biurze z dyskiem USB, ręczne instalowanie oprogramowania na komputerach.
Ręczne wdrażanie oprogramowania jest pracochłonne i nie jest dobrze skalowane. Automatyzacja ułatwia i bardziej opłacalne zapewnienie spójności podczas wdrażania nowego oprogramowania lub aktualizowania istniejącego oprogramowania w organizacji.
Ta ścieżka szkoleniowa koncentruje się na tym, jak najlepiej wdrożyć oprogramowanie pod kątem niezawodności. Ten moduł dotyczy nie tylko wdrażania oprogramowania, ale także wdrażania infrastruktury w chmurze. Odwołania do wdrażania usługi lub rozwiązania mogą oznaczać wdrażanie oprogramowania, infrastruktury chmury obliczeniowej, konfiguracji i wszystkich elementów, które są konieczne do niezawodnego udostępnienia systemu oprogramowania do użytku.
Scenariusz: wdrożenie epickie
Słowo epicka oznacza "wielkie, monumentalne lub rozległe", ale w kontekście tej dyskusji nie jest to dobra rzecz. Jez Humble i David Farley używają terminu w swojej książce Continuous Delivery: Reliable Software Releases through Build, Test and Deployment Automation , ponieważ reprezentuje ogromne (i niezwykle destrukcyjne) przedsięwzięcie. Oto przykład typowego działania:
- Organizacja opracowuje aplikację do sprzedaży. Ta aplikacja jest aktualizowana dokładnie dwa razy w roku.
- Podczas tych aktualizacji wdrażane są wszystkie nowe funkcje, poprawki błędów (duże i małe) oraz aktualizacje zależności.
- Pierwsze wdrożenie w roku jest planowane na weekend Święta Pracy, a drugie na weekend po Dniu Dziękczynienia.
- Każda aktualizacja jest sytuacją „wszystkie ręce na pokład”. Zespół aplikacji, zespół pomocy technicznej, zespół infrastruktury i zarządzanie nimi są zaangażowani we wdrożenie.
- Usługi są tymczasowo przełączane w tryb offline, gdy wdrożenie jest w toku.
- Historia wykazała, że wdrożenie jest zawsze obarczone problemami, inżynierią na żądanie, rozwiązywaniem problemów i zmianami zarządzania konfiguracją.
- Rzadko idzie dobrze, a kiedy jest ukończone, zazwyczaj sprawia wrażenie poskładanego w sposób niereprodukowalny.
To nie jest korzystna sytuacja dla wdrożenia. Epicka metoda wdrożenia to intensywne zadanie manualne, które wiąże się z wieloma problemami:
- To złożone.
- To stresujące.
- To ryzykowne.
- To powolne.
- Nie można go odtworzyć ze względu na wszystkie złożone kroki.
- Często wymaga zaangażowania kilku indywidualnych ekspertów do ukończenia wdrożenia.
Ponieważ ten proces jest długi i żmudny, musi być zaplanowany na czas, który minimalizuje najmniejsze zakłócenia w produktywności użytkowników, co oznacza, że jest to czas prawdopodobnie niewygodny dla zespołu wdrożeniowego, takie jak weekendy i święta.
Członkowie zespołu mogą czuć presję czasu, aby ukończyć ogromną operację w wyznaczonym czasie, co prowadzi do błędów konfiguracyjnych. Ponadto długi czas między wdrożeniami może spowodować, że zapomnisz dokładnie, jak działają elementy.
Dylemat wdrożenia
Wdrażanie oprogramowania to złożone zadanie, a w przypadku "zaoszczędzenia" wielu istotnych zmian, poprawek i dodatków funkcji w celu wdrożenia wszystkich w jednym z nich zwiększasz złożoność, a tym samym zwiększasz prawdopodobieństwo wystąpienia błędu. Ponadto jeśli coś zaczyna iść źle, ta złożoność utrudnia wyśledzenie zasadniczej przyczyny problemu.
Złożoność może również powodować problemy dla użytkowników końcowych, ponieważ mogą one mieć do czynienia z uczeniem się wielu nowych funkcji i zmian jednocześnie, nie wspominając o błędach, które są wprowadzane przez złożoność wdrożenia epickiego.
Powinien istnieć lepszy sposób, a tam jest. Dobra wiadomość jest taka, że tradycyjna strategia epickiego wdrażania nie jest jedyną opcją. W następnej lekcji dowiesz się więcej o tym procesie.
Sprawdź swoją wiedzę
Opinia
Czy ta strona była pomocna?
Nie
Potrzebujesz pomocy dotyczącej tego tematu?
Chcesz spróbować użyć asystenta Ask Learn, aby wyjaśnić ten temat lub uzyskać instrukcje, które go dotyczą?