dev ops 2016 dockerizing the it
TRANSCRIPT
![Page 1: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/1.jpg)
DOCKERIZING THE IT INFRASTRUCTURE
Ilmari Kontulainen
@deveoteam
![Page 2: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/2.jpg)
Background
![Page 3: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/3.jpg)
Technical background
10 years in IT industry
Creating value
Technology
Coaching / self improvement
Sports
Personal background
![Page 4: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/4.jpg)
![Page 5: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/5.jpg)
Repository management
Code reviews
Access management
Documentation
Issue tracking
All from the same platform with self service approach
Features and Benefits
![Page 6: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/6.jpg)
History and context
10 years of history
4 years of development
Various technologies
Cloud and on-premises
Support for 4 different operating systems
Three different deployment options
![Page 7: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/7.jpg)
Delivery pipeline
![Page 8: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/8.jpg)
Types of Deployment: Combo, HA, Cluster
![Page 9: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/9.jpg)
Operating systems
![Page 10: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/10.jpg)
Total installation combinations
3 * 6 = 18
![Page 11: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/11.jpg)
Before
90 minute install for Deveo customers
Compiling everything to everything with Chef
Error prone
Debugging sessions
Unsatisfied customers
Avoiding releases
![Page 12: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/12.jpg)
Omnibus
Easily create full-stack installers for your project across a variety of platforms.
![Page 13: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/13.jpg)
Omnibus
project scaffolder
dependency recipes
project configuration
virtual machine system
the project builder
![Page 14: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/14.jpg)
Omnibus
The omnibus project includes a project build caching mechanism that reduces the time it takes to rebuild a project when only a few components need to be rebuilt.
![Page 15: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/15.jpg)
Why not virtual machines?
Creating and destroying virtual machines is time consuming and resource-intensive.
A clean state is needed for each build
Easier to upgrade build tools in images
Cleaning up VMs too error prone
![Page 16: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/16.jpg)
How we did the transition
Listing operating systems
Listing software components
Created dependency recipes for missing components
Set up KitchenCI builds
Added support for separate DB and web app packages
Added support for addition operating systems
![Page 17: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/17.jpg)
How does the pipeline work
Building the packages
Create cloud instances
Deploy to test instances
Test the installation of packages
![Page 18: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/18.jpg)
Benefits
Before: 90 minutes
Now: 9 minutes
Release times: 10 times faster
Shorter installation and upgrade times
Less problems during installations and upgrades
No longer avoiding releases
![Page 19: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/19.jpg)
Future and learnings
SSD speeds docker up quite a lot
Dockerize our test environments
![Page 20: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/20.jpg)
Separately managed internal services
![Page 21: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/21.jpg)
Problem
“Office server”
Typically the largest technical debt for the organisation from IT point of view
Loss of such server is critical
Adding new services takes time
Data safety and backups are often forgotten
![Page 22: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/22.jpg)
Docker for harmonising the IT infrastructure
![Page 23: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/23.jpg)
Benefits
Own namespace and storage for each app
Linking applications together
Building dependencies, e.g. Our CRM needs a DB
Docker native volume and networking support
Version controlled by Docker compose
Convoy for backups and recovery
![Page 24: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/24.jpg)
Convoy
Create thin provisioned volumes
Take snapshots of volumes
Incrementally backup snapshots to object stores, such as Amazon S3
Restore volumes to any hosts
Separation of host and storage
![Page 25: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/25.jpg)
Process
List components, what data do they store, what dependencies they have
for each component:
1. create docker compose file
2. List ports, volumes/mount points
3. Create image that holds application
![Page 26: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/26.jpg)
Results and findings
Before: Deploying new IT services took 3 days
After: Deployment of new services in 1-3 hours
Example: Internal Storage problem
Before: Disaster
After: Full recovery in hours
![Page 27: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/27.jpg)
Conclusion
![Page 28: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/28.jpg)
Conclusion
Faster installations
Less problems with installations
More satisfied customers
No longer avoiding releases
Faster deployments of new IT services
More fault tolerance and ability to recover from disasters
![Page 29: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/29.jpg)
Q & A
![Page 30: Dev ops 2016 dockerizing the it](https://reader034.vdocuments.mx/reader034/viewer/2022051709/587c18501a28abb5068b4af7/html5/thumbnails/30.jpg)
Follow us on twitter
@deveoteam