DevOps dla zdesperowanych. Praktyczny poradnik przetrwania Odolanów

Początkowo metodyka DevOps miała wyłącznie ułatwiać współpracę zespołów IT. Dziś obserwuje się rozwój praktyk DevOps związanych z mikrousługami, potokami ciągłej integracji i ciągłego wdrażania, ponadto coraz częściej stosuje się tę metodologię w procesach zapewniania bezpieczeństwa infrastruktury …

od 44 Najbliżej: 15 km

Liczba ofert: 4

Oferta sklepu

Opis

Początkowo metodyka DevOps miała wyłącznie ułatwiać współpracę zespołów IT. Dziś obserwuje się rozwój praktyk DevOps związanych z mikrousługami, potokami ciągłej integracji i ciągłego wdrażania, ponadto coraz częściej stosuje się tę metodologię w procesach zapewniania bezpieczeństwa infrastruktury IT, a także optymalizacji z wykorzystaniem uczenia maszynowego i sztucznej inteligencji. Wciąż jednak głównym przedmiotem zainteresowania praktyków DevOps jest dostarczanie standaryzowanego i przewidywalnego oprogramowania. Praktyczna znajomość zasad DevOps przydaje się szczególnie w pracy z nowoczesnym stosem aplikacji. Tę książkę docenią przede wszystkim inżynierowie oprogramowania, programiści i administratorzy systemów, którzy muszą szybko zrozumieć praktyki DevOps. Znajdziesz tu bezcenną wiedzę, która ułatwi Ci efektywną pracę z nowoczesnym stosem aplikacji i sprawne przystąpienie do zadań związanych z DevOps. Poznasz najważniejsze praktyki stosowane podczas projektowania bezpiecznych i stabilnych systemów - implementację infrastruktury jako kodu (IaC) i rozwiązania z zakresu zarządzania konfiguracją. Zagłębisz się w tematy pobierania informacji o stanie systemu i definiowania powiadomień, gdy coś nie działa zgodnie z oczekiwaniami. Lektura pozwoli Ci przyswoić zagadnienia związane z konteneryzacją i przygotowaniem zautomatyzowanego potoku ciągłej integracji i ciągłego wdrażania (CI/CD), dzięki czemu skompilujesz, przetestujesz i wdrożysz kod. Najciekawsze zagadnienia: tworzenie maszyny wirtualnej Ubuntu za pomocą oprogramowania Vagrant i Ansible zarządzanie użytkownikami, grupami i bezpieczeństwem haseł wdrażanie klucza publicznego i uwierzytelniania wielopoziomowego podczas sesji SSH automatyzacja zapory sieciowej bazującej na hoście technologie Docker i Kubernetes stos monitorowania i rozwiązywanie problemów z wydajnością DevOps. Rozwijaj doskonałość nowoczesnych infrastruktur pełnego stosu! Spis treści: Wprowadzenie Część I. Infrastruktura jako kod, zarządzanie konfiguracją, zapewnienie bezpieczeństwa i administrowanie systemami 1. Przygotowanie maszyny wirtualnej Dlaczego warto używać kodu do utworzenia infrastruktury? Rozpoczęcie pracy z narzędziem Vagrant Instalacja Anatomia pliku Vagrantfile Podstawowe polecenia Vagrant Rozpoczęcie pracy z Ansible Instalacja Najważniejsze koncepcje Ansible Scenariusz Ansible Podstawowe polecenia Ansible Utworzenie maszyny wirtualnej z systemem operacyjnym Ubuntu Podsumowanie 2. Używanie Ansible do zarządzania hasłami, użytkownikami i grupami Wymuszenie stosowania silnych haseł Instalowanie narzędzia libpam-pwquality Konfiguracja modułu pam_pwquality w celu wymuszenia silniejszej polityki haseł Rodzaje użytkowników w systemie Linux Rozpoczęcie pracy z modułem user w Ansible Wygenerowanie silnego hasła Grupy w systemie Linux Rozpoczęcie pracy z modułem group w Ansible Przypisywanie użytkownika do grupy Tworzenie zasobów chronionych Uaktualnianie maszyny wirtualnej Sprawdzanie uprawnień użytkownika i grupy Podsumowanie 3. Używanie Ansible do konfiguracji SSH Poznawanie i aktywowanie uwierzytelnienia z użyciem klucza publicznego Generowanie pary klucza publicznego Używanie Ansible w celu pobrania w maszynie wirtualnej Twojego klucza publicznego Dodawanie uwierzytelniania wielopoziomowego Instalowanie Google Authenticator Konfigurowanie modułu Google Authenticator Konfiguracja PAM dla modułu Google Authenticator Konfigurowanie serwera SSH Ponowne uruchomienie serwera SSH za pomocą procedury obsługi Przygotowanie maszyny wirtualnej Testowanie dostępu za pomocą SSH Podsumowanie 4. Kontrolowanie za pomocą sudo poleceń wydawanych przez użytkownika Czym jest sudo? Planowanie polityki bezpieczeństwa sudoers Instalacja aplikacji internetowej Greeting Anatomia pliku sudoers Utworzenie pliku sudoers Szablon sudoers Przygotowanie maszyny wirtualnej Testowanie uprawnień Uzyskanie dostępu do aplikacji internetowej Edycja pliku greeting.py w celu przetestowania polityki sudoers Zatrzymywanie i uruchamianie serwera za pomocą polecenia systemctl Audyt dzienników zdarzeń Podsumowanie 5. Automatyzacja i testowanie zapory sieciowej hosta Planowanie reguł zapory sieciowej Automatyzacja reguł UFW Przygotowanie maszyny wirtualnej Testowanie zapory sieciowej Skanowanie portów za pomocą nmap Rejestrowanie danych zapory sieciowej Ograniczenie komunikacji z portem Podsumowanie Część II. Konteneryzacja i wdrażanie nowoczesnych aplikacji 6. Konteneryzacja aplikacji za pomocą Dockera Ogólne omówienie Dockera Rozpoczęcie pracy z Dockerem Polecenia w pliku Dockerfile Obraz kontenera i jego warstwy Kontener Przestrzenie nazw i cgroups Instalowanie i testowanie Dockera Instalowanie silnika Dockera i minikube Instalowanie klienta Dockera oraz zdefiniowanie zmiennych środowiskowych Dockera Sprawdzenie możliwości nawiązania połączenia z klientem Dockera Konteneryzacja przykładowej aplikacji Analiza przykładowego pliku Dockerfile Tworzenie obrazu kontenera Weryfikacja obrazu Dockera Uruchamianie kontenera Inne polecenia klienta Dockera exec rm inspect history stats Testowanie kontenera Nawiązanie połączenia z telnet-server Pobieranie dzienników zdarzeń z kontenera Podsumowanie 7. Koordynowanie kontenerów za pomocą Kubernetesa Ogólne omówienie Kubernetesa Zasoby związane z zadaniami Kubernetesa Pod ReplicaSet Deployment StatefulSet Service Volume Secret ConfigMap Namespace Wdrażanie przykładowej aplikacji telnet-server Praca z Kubernetesem Przegląd plików manifestu Utworzenie zasobów Deployment i Service Wyświetlanie zasobów Deployment i Service Testowanie zasobów Deployment i Service Uzyskanie dostępu do aplikacji telnet-server Rozwiązywanie problemów Usunięcie poda Skalowanie rozwiązania Dzienniki zdarzeń Podsumowanie 8. Wdrażanie kodu Potok CI/CD w nowoczesnym stosie aplikacji Przygotowanie potoku Przegląd pliku skaffold.yaml Testowanie kontenera Symulowanie potoku programistycznego Wprowadzenie zmiany w kodzie Testowanie zmiany w kodzie Testowanie wycofania zmian Inne narzędzia CI/CD Podsumowanie Część III. Obserwowalność i rozwiązywanie problemów 9. Obserwowalność Ogólne omówienie monitorowania Monitorowanie przykładowej aplikacji Instalowanie stosu monitorowania Weryfikacja instalacji Wskaźniki Złote sygnały Dostosowanie wzorca monitorowania Panel aplikacji telnet-server PromQL - krótkie wprowadzenie Ostrzeżenia Przeglądanie w aplikacji Prometheus ostrzeżeń związanych ze złotymi sygnałami Routing i powiadomienia Podsumowanie 10. Rozwiązywanie problemów Rozwiązywanie problemów i debugowanie - krótkie wprowadzenie Scenariusz - wysoki poziom średniego obciążenia systemu uptime top Następne kroki Scenariusz - wysoki poziom użycia pamięci free vmstat ps Następne kroki Scenariusz - wysoka wartość iowait iostat iotop Następne kroki Scenariusz - nieudane ustalenie nazwy hosta resolv.conf resolvectl dig Następne kroki Scenariusz - brak wolnego miejsca na dysku df find lsof Następne kroki Scenariusz - połączenie zostało odrzucone curl ss tcpdump Następne kroki Sprawdzanie dzienników zdarzeń Najczęściej stosowane dzienniki zdarzeń Najczęściej używane polecenia journalctl Przetwarzanie dzienników zdarzeń Analizowanie procesów strace Podsumowanie O autorze: Bradley Smith jest doświadczonym inżynierem, który zajmował kierownicze stanowiska w wielu firmach różnej wielkości. Utworzył i wyszkolił liczne zespoły DevOps, SRE i inżynierii oprogramowania.

Specyfikacja

Podstawowe informacje

Autor
  • Smith Bradley
Wydawnictwo
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2024
Ilość stron
  • 200
Tematyka
  • Programowanie
ISBN
  • 9788328911260