vMATechCon2018 #vmatechcon2018
Een infra DevOpsCI/CD straat
Ronald van Vugt
vMATechCon2018 #vmatechcon2018
Ronald van Vugt
nl.linkedin.com/in/ronaldvanvugt
ir. Ronald van Vugt
Cloud Architect bij Metis IT
VCAP / AWS Architect
Metis IT is een onafhankelijke infrastructuurspecialist uit Delft en adviseert, ontwerpt en implementeert infrastructuren voor grote organisaties.
https://www.metisit.com
www.metisit.com/author/ronald
vMATechCon2018 #vmatechcon2018
Agenda
• Waarom?• Demo• Gitlab• Ansible Tower• Jenkins• Het resultaat
vMATechCon2018 #vmatechcon2018
Waarom een CI/CD straat voorinfrastructuur?
vMATechCon2018 #vmatechcon2018
Wat is CI/CD?
ContinuousIntegration
• Commit code• Geautomatiseerde build &test
ContinuousDelivery
• Uitrol naar diverse omgevingen• Acceptatietesten
ContinuousDeployment
• Uitrol naar productie
Geau
tom
atise
erd
proc
es d
oor C
I/CD
tool
s
vMATechCon2018 #vmatechcon2018
Dit is waar we naartoe bewegen
vMATechCon2018 #vmatechcon2018
Maar dit is vaak de huidige realiteit …
vMATechCon2018 #vmatechcon2018
Wat betekent dit voor Ops?
• Traditionele applicatie stacks (zoals LAMP, J2EE en .NET) zijn nog steeds nodig
• Uitrol kan door het Ops-team ook op een CI/CD manier ingericht worden, zodat er een betere integratie met App generatie 3.0 bereikt wordt
• De basis is het beschrijven van de gehele stack in een configuratie management tool die dan vervolgens geautomatiseerd getest en uitgerold kan worden door middel van CI/CD tooling
vMATechCon2018 #vmatechcon2018
De infrastructuur CI/CD Cycle
Ontwikkel
Test
Deploybasisinfra
Deployconfig
Gebruik/Monitoring
CI/CD
vMATechCon2018 #vmatechcon2018
De demo
vMATechCon2018 #vmatechcon2018
Wat gaan we deployen?
CentOS 7 Linux server
NGINX Server index.html
http://<ip-adres>
vMATechCon2018 #vmatechcon2018
De CI/CD Straat
GitlabAnsible playbook
Jenkins
Ansible Tower
vRA Plugin
1
Commitplaybook
3
Testplaybook
4 Deployblueprint
5Infodeployment
6
Createjob
7Runjob
Playbooknaar Ansible
tower2
vMATechCon2018 #vmatechcon2018
De producten
• Tijdens het draaien van de demo ga ik dieper in op de producten die gebruikt worden tijdens de demo• Doel is inzicht verschaffen hoe de eenvoudige demo infra CI/CD
straat opgebouwd is en werkt• Zodat je hierna zelf aan de slag kunt om een eigen infra CI/CD
straat op te zetten die helemaal aan jouw eisen en wensen voldoet
vMATechCon2018 #vmatechcon2018
De start
vMATechCon2018 #vmatechcon2018
Wat is GitLab?
GitLab is a single application for the complete DevOps lifecycleToepassingen in deze demo• Een web GUI bovenop een centrale GIT server• Gedistribueerd versiebeheer systeem
• Integratie met veel services, waaronder Jenkins
vMATechCon2018 #vmatechcon2018
Wat is GitLab
vMATechCon2018 #vmatechcon2018
Wat is Ansible?
• Een simpele automation language die de state van een server en applicatie beschrijft in een Ansible playbook• Een open source engine die agentless playbooks uitvoert voor
onder andere:• Configuration Management• Application Deployment• Security & Compliance
vMATechCon2018 #vmatechcon2018
Wat is Ansible Tower?
• Een enterprise framework met een UI en REST API voor:• Beheren• Controleren• Beveiligen• Notificeren
van Ansible automation/playbooks
vMATechCon2018 #vmatechcon2018
Wat is Ansible Tower
vMATechCon2018 #vmatechcon2018
Wat is Jenkins?
• Open Source Continuous Integration / Continuous Delivery Server• Maar meer nog een orchestrator server,• met meer dan 1000 plugins en honderden integraties met build,
test, en deployment tools,• om een eigen CI/CD straat op te zetten
vMATechCon2018 #vmatechcon2018
Wat is Jenkins?
vMATechCon2018 #vmatechcon2018
Wat is Jenkins
vMATechCon2018 #vmatechcon2018
Jenkins – de pipelinePipeline: where the magic happens…
vMATechCon2018 #vmatechcon2018
Jenkins – de pipeline
vMATechCon2018 #vmatechcon2018
Jenkins – de pipeline
vMATechCon2018 #vmatechcon2018
Jenkins – de pipeline
vMATechCon2018 #vmatechcon2018
Jenkins – de pipeline
vMATechCon2018 #vmatechcon2018
Het resultaat
vMATechCon2018 #vmatechcon2018
vMATechCon2018 #vmatechcon2018
Top Related