Myślę, że pochodzenie ze środowiska programistycznego sprawi, że stanie się „devops” w rzeczywistości trudniejszym, twoje pytanie ma prawie 3 lata, więc byłoby interesujące usłyszeć, jak znajdujesz podróż, dam odpowiedź z punktu widzenia administrator systemu o aplikacjach, o których wspomniałeś powyżej, i mam nadzieję, że rzuci nieco światła lub da nietechniczną perspektywę, która pozwoli wyjaśnić, dlaczego osoba (administrator lub programista) zacznie rozważać dokładnie to, o co prosiłeś, np. od deweloperów perspektywa jaki jest związek między x, y, z czy te narzędzia są większe niż suma ich części?
Właściwie myślę, że administratorzy sys mają tutaj przewagę, większość aplikacji, o których wspomniałeś w swoim pytaniu, rozwiązuje problemy administracyjne, a dzięki temu zapewnia bardziej abstrakcyjne środowisko centrum danych, a to z kolei jest bardziej programowalne dla programistów i nowego „ strategia devops (przeczytaj strategię / zespół, devops nie jest osobą). Jaki jest zatem związek z aplikacjami, o których wspominasz? w jaki sposób zapewnia to całościowe podejście do usługi IT?
OpenStack: narzędzie, które pozwala budować własną chmurę prywatną, a więc porównywalne do czegoś takiego jak AWS
Tak to jest, ale co to robi? - najbardziej trafnie nazwanym systemem operacyjnym był DOS - operował on dyskiem przez abstrakcję BIOS-u, OpenStack obsługuje twoje centrum danych i abstrakty infrastruktury (IaaS - to żargon dla systemu operacyjnego centrum danych). Teraz twoje centrum danych ma API, składnię poleceń i GUI, OpenStack może obsługiwać hiperwizory, przełączniki, routery, zapory ogniowe, sieci pamięci masowej, usługi równoważenia obciążenia, hosty dokerów itp. Openstack używa „wtyczki” producenta sprzętu lub określonej funkcji może istnieć wyłącznie w oprogramowaniu jako coś zdefiniowanego przez oprogramowanielub wirtualizacja funkcji sieciowych. Oprócz tego OpenStack i wszystkie inne chmury mogą organizować własną infrastrukturę, czytając skrypty rzucane na silnik aranżacji lub uruchamiane na podstawie reguł (skalowanie w górę, skalowanie w dół itp.). Openstack jest więc gigantyczną warstwą abstrakcji, np. Nie dbam o to, jaki mam przełącznik, daj mi sieć z tym poleceniem lub, zbuduj mi skomplikowane zrównoważone obciążenie, HA, publicznie dostępne, automatyczne skalowanie, rejestracja nazwy domeny, pamięć dołączone thingy - z tego skryptu znalazłem w internecie.
Docker: „lekka maszyna wirtualna” oparta na kilku koncepcjach jądra systemu Linux, która może być używana do uruchamiania procesów w izolacji, np. We współdzielonym środowisku hostingowym.
Docker to kolejna warstwa abstrakcji i podobnie jak chmura jest technologią destrukcyjną, zmienia branżę, ponieważ rozwiązuje wiele „problemów” operacyjnych, takich jak zależności oprogramowania, aktualizacje, izolacja danych i sama przenośność. Java stała się popularna ze względu na przenośność kodu źródłowego, o której programiści nie musieli myśleć, działająca maszyna JVM oznaczała, że jej kod powinien działać na ekspresie do kawy, o ile obsługuje java. Docker rozwiązuje podobny problem, aby uruchomić moją aplikację, potrzebujesz hosta dokera, a nie, potrzebujesz tej wersji Pythona, jądra, dystrybucji Linuksa i tak dalej, aplikacja nadal ma te zależności, ale hosta nie obchodzi to, a administrator nie dba o to, co robisz w izolowanym kontenerze ( do rzeczy). Docker zmienia zarówno paradygmat programowania, jak i działania, traktując cały system operacyjny i jego usługi jak pliki binarne. możemy je pobrać z repozytorium , zaktualizować, zmodyfikować, uruchomić z parametrami itp.
Szef kuchni: narzędzie do konfiguracji i konfiguracji systemu operacyjnego, np. W maszynie wirtualnej.
Tak, i nie tak destrukcyjne jak dwa pierwsze, szef kuchni, marionetka, ansible, sól, menedżer operacji centrum systemu i ogromna liczba innych aplikacji w tej przestrzeni zapewniają programistom i administratorom modelowanie wdrożeń, aktualizacji i innych działań (config zmiany), wydaje się, że nie ma żadnych organów normalizujących te wysiłki, tak jak w przypadku chmury . Ale nie mamy do czynienia z czymś tak definitywnym jak infrastruktura, więc nauczenie się ich jest bardziej bolesne i niewiele można przenosić z jednego na drugi.
Vagrant: Z mojego rozumienia jest zautomatyzowanie tworzenia maszyn wirtualnych i zarządzania nimi: konfigurowanie, uruchamianie i zatrzymywanie. Można to zrobić za pomocą lokalnej maszyny wirtualnej lub pilota, np. Na platformie chmurowej.
Jest to dziwne na liście aplikacji, o których wspominasz, Vagrant to narzędzie dla programistów i zabawka dla administratorów, możesz szybko stanąć ze środowiskiem programistycznym z włóczęgą, np. Chcę opracować aplikację na Androida, pobrać IDE z włóczęgo, myślę, że niedługo Docker go wyprzedzi.
czy możesz mi poradzić, jak zacząć korzystać z tego wszystkiego (to całkiem sporo w tym samym czasie, a jeszcze nie wiem od czego zacząć)?
Dlatego myślę, że administratorzy mają przewagę, większość z tego musieliśmy zrobić ręcznie i wiedzieć, co może pójść nie tak, manifesty marionetkowe, przetwarzanie w chmurze i organizacja dokerów będą dla nas łatwiejsze, programiści będą musieli wziąć wiele stycznych, więc mój rada dla każdego potencjalnego dewelopera ma być administratorem.