Speaker: Michał Kobus & Bartłomiej Jakubowski
Language: English
Microservices architecture is well-known not free lunch. It allows high scalability for price in extra effort of specialized devops team. Not easy to develop, not easier in operations field, microservices demand reliable monitoring and infrastructure automation. In Syncano, we want to use right tools for right tasks, that's why we test and apply recent open-source projects in our product. In the presentation we will share the knowledge we gained while working with Ansible, Prometheus and Docker.
Visit our website: http://2015.devopsdays.pl
9. Microservices…que?
➔ small services
➔ separate processes
➔ communication
➔ business logic
➔ deployable separately
➔ decentralized management
http://martinfowler.com/microservices/
17. dockerandtheContainers
➔ open platform to deliver apps faster
➔ run (almost) any app in securely
isolated container
➔ lightweight nature - getting more
from your hardware
18. dockerandtheContainers
Misconceptions about using docker
➔ one process peer docker container
➔ dockerize everything
➔ use docker to get speed and
consistency
➔ docker is a lightweight VM
➔ docker is widely used in production
➔ docker makes your app more secure
20. dockerandtheContainers
container resources?
➔ run on linux
(kernel 2.6.32+)
➔ physical or virtual -
cloud or not
➔ four (to six) times more
server application
instances then
virtualization on the
same hardware
22. dockerandtheContainers
how to version? (layer FS)
➔ docker final image as a set of layers
➔ layers as building blocks for application stacks
➔ reusable images make builds much faster
➔ versioning and power of rollbacks
23. dockerandtheContainers
How to build?
➔ approaches to image building (interactive vs dockerfile)
➔ dockerfile and automated builds
➔ which approach is right?
➔ prototyping and troubleshooting
25. dockerandtheContainers
Best and worst of docker
The bright side
➔ deploy code faster & roll-
backs
➔ easy to orchestrate
➔ run apps anywhere
➔ build process speedup
➔ devops favorite
➔ software version pinning
➔ nice API
The dark side
➔ level of complexity (big envs)
➔ direction of the company
behind
➔ debug and troubleshooting hell
➔ networking step back
27. ContinuousIntegration(deploy)
1. merge to staging branch
2. build app image
3. push new app image to
registry
4. deploy app container to
staging
5. run checks on app
container
31. Monitoring
Why we use prometheus?
➔ multidimensional data
model
➔ flexible query language
➔ multiple graphing modes
and dashboard support
➔ docker and devops
friendly
32. Monitoringfor…Monitoring
Icinga2
➔ object based, rule driven
configuration format
➔ apply and assign
attributes
➔ runtime macros and
conditional behaviors
➔ dynamic notification
➔ scalability and devops
friendly
➔ good old nagios look :)
33. Monitoring
Integration point
➔ AWS SNS http/https
endpoint
➔ python code to update
configs with ansible
➔ slack notifications for
autoscaling groups
Dashboards
➔ promdash from prometheus
➔ dashing
34. TheFuture
➔ continuous delivery
➔ automated everything
➔ faster builds and deploys
➔ smarter Icinga checks
➔ more reliable Ansible playbooks testing
➔ load testing in pipeline
➔ provider independence
➔ moving to self-hosted services