Deploying services: automation with docker and ansible

  • Published on

  • View

  • Download


1. Deploying Services: Automation with Docker and Ansible John Zaccone - Software Engineer 2. About Me Worked at Ippon for 1 year First project: Allianz Travel Insurance Joined the project during some big architecture decisions 2 3. Before .NET Application 3 4. Architectural Decisions: Requirements Increase sales modern UI and responsive design Move towards Java 8 / Spring services Active-Active Standardize on CMS Platform 4 5. Architectural Decisions: Microservices 5 6. After 6 7. Architecture Benefits Flexible technology choices APIs, APIs, APIs Change/Deploy Independently Stateless for Scalability 7 8. What Microservices Means to Us Team Members: 4-5 Services: 4 Environments: 4 Running Application: 16+ *Each new service adds at least 4 more running containers. 8 9. Things that take up my time Deploying services Installing services on new environments Dealing with problems with differences between environments Waiting for new VMs 9 10. I Need More Time for Coffee Breaks Automation- repeatable for all environments Containerize - environmental dependencies Isolation- run multiple apps on 1 VM Spin up new environments quickly. 10 11. Docker and Ansible!!! 11 12. Docker and Ansible Ansible Non-environment specific automation Declarative Easy for devs 12 Docker Fast spin up Isolated applications Immutable infrastructure Works on my machine Docker Toolbox 13. Architecture With Docker Containers 13 14. Making the Most of Your Servers 14 15. Decoupling Automation from Environments 15 16. Decoupling Automation from Environments 16 17. Demo Time 17 18. Advanced Tips Build and push images with CI tools Link containers on the same host with --link Use a restart policy on your containers Stay on the latest docker version Use ELK for centralized logging Alternative: EFK (Fluentd in lieu of Logstash)18 19. We Do Training! Training Sessions Brown Bags 19 20. Questions @JohnZaccone 20