pridani sekcí
This commit is contained in:
@@ -1,7 +1,42 @@
|
||||
\chapter{Hromadná správa zařízení}
|
||||
\chapter{Automatizace konfigurace}
|
||||
|
||||
...
|
||||
Konfigurační management, jakožto obor systémového inženýrství, byl vyvinut již v~50. letech 20. století ministerstvem obrany Spojených států. Sloužil jako metoda pro sledování změn v~komplexních systémech jako jsou zbraňové systémy nebo vojenská vozidla. Každá změna v~systému musela být zaznamenána včetně dokumentace, která uváděla, kdo změnu provedl a z~jakého důvodu. Cílem bylo zajistit, že stav systému bude v~kterémkoli okamžiku známý a zpětně dohledatelný. Stejná praxe byla aplikována i na počítačové systémy. Původně se dokumentovaly změny provedené v~čase. Nové softwarové nástroje umožnily přejít od dokumentace provedených změn k~definování požadovaného stavu systému.\citep{HeapAnsible}
|
||||
|
||||
\subsection{Přístupy}
|
||||
S~narůstajícím využíváním virtualizace, kontejnerizace a komplexností počítačových systémů, tedy s~narůstajícím počtem zařízení vyžadující určitou konfiguraci implementovaly tyto nástroje i automatizaci konfigurace spravované infrastruktury. Tento přístup se nazývá \textbf{Infrastructure as Code} (IaC), tedy infrastruktura jako kód. V~tomto modelu je požadovaná konfigurace infrastruktury zapsána ve strojově čitelném formátu v~souboru, podle kterého následně softwarové nástroje automaticky konfigurují jednotlivé prvky infrastruktury.
|
||||
Díky zápisu požadované konfigurace se eliminuje lidská chyba při konfiguraci více zařízení a zvýší se homogennost konfigurace napříč infrastrukturou. S~použitím verzovacího systému lze umožnit verzování infrastruktury, týmovou spolupráci nad konfigurací s~důrazem na auditovatelnost konfigurace a dohledatelnost historických změn. Toto zvyšuje bezpečnost.
|
||||
Automatizace konfigurace rozsáhlé infrastruktury zvýší efektivitu, ušetří čas a umožní snadnou škálovatelnost.\citep{leanDeliveryIaC}
|
||||
|
||||
...
|
||||
\pagebreak
|
||||
|
||||
Existuje několik známých open-source nástrojů pro správu infrastruktury jako kódu, každý se svými specifiky a způsob správy. Mezi nejpoužívanější opensource nástroje patří \textbf{Ansible\footnote{\url{https://www.ansible.com/}}}, \textbf{Chef\footnote{\url{https://www.chef.io/}}}, \textbf{Puppet\footnote{\url{https://www.puppet.com/}}} a \textbf{SaltStack\footnote{\url{https://saltproject.io/}}}\citep[p.~841]{Nemeth_Evi_2018}.
|
||||
|
||||
\begin{longtable}[c]{|p{3.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|}
|
||||
\caption{Nástroje pro automatizaci správy infrastruktury}
|
||||
|
||||
\label{tab:DevOpsTools}\\
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{} &
|
||||
\multicolumn{1}{c|}{\textbf{Ansible}} &
|
||||
\multicolumn{1}{c|}{\textbf{Chef}} &
|
||||
\multicolumn{1}{c|}{\textbf{Puppet}} &
|
||||
\multicolumn{1}{c|}{\textbf{SaltStack}} \\ \hline
|
||||
\endfirsthead
|
||||
%
|
||||
\endhead
|
||||
%
|
||||
Programovací jazyk nástroje & Python & Ruby & C++, Clojure & Python \\ \hline
|
||||
Jazyk pro konfiguraci & YAML, JSON & Ruby & Vlastní jazyk & YAML \\ \hline
|
||||
Způsob zápisu konfigurace & Procedurální/Deklarativní & Procedurální & Deklarativní & Deklarativní \\ \hline
|
||||
Architektura & Agentless\footnote{nevyžaduje speciální software na spravovaném zařízení} & Server/client & Server/client, Agentless\footnote{\url{https://www.puppet.com/community/open-source/bolt}} & Server/client, Agentless\footnote{\url{https://docs.saltproject.io/salt/user-guide/en/latest/topics/salt-ssh.html}} \\ \hline
|
||||
Model získání konfigurace & Push\footnote{konfigurace je na zařízení zaslána} & Pull\footnote{zařízení stahuje konfiguraci ze serveru} & Pull / Push & Push \\ \hline
|
||||
Způsob přenosu konfigurace & SSH & HTTP(S) & MCollective, HTTPS & ZeroMQ \\ \hline
|
||||
|
||||
\end{longtable}
|
||||
|
||||
\section{Přístupy k~zápisu konfigurace}
|
||||
|
||||
Existují dvě základní paradigmata zápisu konfigurace.
|
||||
|
||||
\textbf{Imperativní (procedurální)} zápis definuje jednotlivé kroky, které mají být provedeny v~přesném pořadí, pro dosažení požadovaného stavu infrastruktury.
|
||||
|
||||
\textbf{Deklarativní} zápis popisuje požadovaný stav infrastruktury, tedy jaký má být cílený stav. Jedná se deklarativní abstrakci kdy dosažení cílové konfigurace je implementovány imperativně. Nástroj pro automatizaci konfigurace vyhodnotí aktuální stav a provede pouze nezbytné kroky k~dosažení cílového stavu.
|
||||
Reference in New Issue
Block a user