Test- und Produktionsumgebungen gehören zum täglich Brot von Entwicklungs-, Test- und Adminteams. In der Praxis sieht man dabei sehr oft das Phänomen, dass die diversen Umgebungen immer wieder von den Beteiligten händisch angelegt und gepflegt werden. In modernen DevOps-Prozessen ist dieses Vorgehen nicht mehr zeitgemäß. Im Vortrag soll vorgestellt werden, wie Umgebungen mit modernen Deployment- und Verwaltungskonzepten automatisiert werden können. Die Grenze ist dabei nicht beim reinen Anlegen und Verwalten zu sehen, sondern umfasst auch die Anbindung und Integration an die Entwicklungs- und Testinfrastruktur (TFS-Build- und Release-Management). Als Beispiele werden exemplarisch Szenarien auf Basis von modernen Containertechnologien (Docker, Windows-Container) sowie Azure-Technologien wie Azure Dev/Test gezeigt. Unter Berücksichtigung der Szenarien werden die jeweiligen kontextbezogenen Vor-/Nachteile betrachtet und bewertet.
3. Was hatten wir bisher
• Physikalische Maschinen
• Virtuelle Maschinen
• Lab Management (SCVMM Hyper-V)
• Release Management
4. Herausforderungen
• Lab Management wird es in dieser
Form nicht mehr geben.
– Einfaches Klonen?
– Einfaches Erstellen von Snapshots?
• Build Server sind eher mühsam zu
unterhalten
• Lab Management (SCVMM Hyper-V)
5. Was bringt die Zukunft?
• Cloud als Dev / Test Umgebung
• Azure Resource Manager
• Container
• Package Management
Sind Container nur ein Hype?
6. Docker Hype
• Docker image downloads 1.2 billions in 2015
• 40% of organization using docker in
production
• 50% of companies in the current Docker Hub
beta are furtune 100 companies
• 60’000 projects on GitHub containing Docker
• 5,6M Docker Hub pulls per day
7. Docker Hype
• Containers have been around for many
years
• Docker Inc. Did not invent them
• Docker makes containers easy
• Docker provides a container packagint
format
16. Key Features Release
Management
1. Automate deployment to an
environment
2. Orchestrate deployment across
environments
3. Track deployments
4. Integrate with other Build, Cloud, and
deployment services
32. Why Containers help?
Developers
Worries about what’s
“inside” of the container:
- Code
- Libraries
- Packages
- Apps
- Data
IT Pro
Worries about what’s
“outside” of the container:
- Network
- Monitoring
- Remote Access
- Logging
35. Dev/Ops Process with Containers
Developers
Operations collaborates with
developers to provide app
metrics and insights
Developers update,
iterate, and deploy
updated containers
Operations automates
deployment and
monitors deployed apps
from central repository
Containers pushed to
central repository
36. Why containers and
microservices
• Fast deployment, (close to) instant
startup
• Auto-Scale, partitioning, density
• Reusable and portable code
• Reduce developer friction
• Diverse developer framework support
40. Marc Müller
Principal Consultant
für Team Foundation Server, ALM, .NET
E-Mail: marc.mueller@4tecture.ch
Webseite: http://www.4tecture.ch
Schulungen: http://4tecture.ch/trainings
Blog: http://4tecture.ch/blog
Twitter: @muellermarc