chef-lctp/presentation/presentation.md

97 lines
2.2 KiB
Markdown

<a href="#" class="image navigate-down">
<img src="/img/chef_logo.png" alt="Chef">
</a>
## Konfigurationsmanagement
von Jörg Thalheim, (Gruppe 4, Matrikel 3749175)
Dresden, 22 Januar #TODO aktualisieren
## Inhaltsübersicht
- Was ist Chef/Puppet
- Einführung in Chef
- Testing
- Demo
## Was ist Chef/Puppet? (1/2)
- Konfigurationsmanagement
- Beispiele: Chef, Puppet, Salt, Ansible, CFEngine
<img src="/img/chef_logo.png" height="150" alt="Chef">
<img src="/img/puppet_logo.png" height="150" alt="Puppet">
<img src="/img/saltstack_logo.jpg" height="150" alt="Salt">
<img src="/img/ansible_logo.png" height="150" alt="Ansible">
<img src="/img/cfengine_logo.jpg" height="150" alt="CFEngine">
Note:
- in der Praxis mehr Knoten
- wechselnde Admins
- Dokumentation veraltet schnell
- sowohl bestehende Knoten müssen aktuell gehalten werden,
als auch neue eingerichtet
- Komplexe Shell-Skripte sind schlecht maintainbar,
häufig nicht portable und langsam
- Problem wird durch Konfigurationsmanagements gelöst.
- Grundidee: Infrastruktur wird durch eine Konfigurationsdatei oder Sprache beschrieben
und das Konfigurationsmanagement, versucht diesen Zustand herzustellen.
- Hier ein paar Beispiele, Im folgenden werde ich näher auf chef und Puppet
eingehen.
## Was ist Chef/Puppet? (2/2)
<table class="reveal">
<thead>
<tr>
<th>Kriterium</th>
<th>Chef</th>
<th>Puppet</th>
</tr>
</thead>
<tbody>
<tr>
<th>Programmiersprache</th>
<td>Ruby</td>
<td>Ruby</td>
</tr>
<tr>
<th>Konfigurationsprache</th>
<td>Ruby</td>
<td>eigene DSL (Ruby)</td>
</tr>
<tr>
<th>Paradigma</th>
<td>Prozedural</td>
<td>Model-Driven</td>
</tr>
<tr>
<th>Codezeilen</th>
<td>108,726<sup>[1][1]</sup></td>
<td>353,651<sup>[2][2]</sup></td>
</tr>
<tr>
<th>Community</th>
<td>11,270 Repositories<sup>[3][3]</sup></td>
<td>13.020 Repositories<sup>[4][4]</sup></td>
</tr>
<tr>
<th>kommerzieller Support</th>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>
</tbody>
</table>
[1]: https://www.ohloh.net/p/puppet
[2]: https://www.ohloh.net/p/chef
[3]: https://github.com/search?q=chef
[4]: https://github.com/search?q=puppet
Note:
- Beide Projekte sind in Ruby geschrieben.