Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker Changes the Way You Develop and Release Your Scalable Solutions

Docker Changes the Way You Develop and Release Your Scalable Solutions

I T.A.K.E Unconference 2016 (Bucharest, Romania)

Tugberk Ugurlu

May 20, 2016
Tweet

More Decks by Tugberk Ugurlu

Other Decks in Programming

Transcript

  1. Docker Changes the Way You
    Develop and Release Your
    Scalable Solutions
    Tugberk Ugurlu
    Redgate Software
    @tourismgeek
    http://tugberkugurlu.com
    #itakeunconf

    View Slide

  2. @tourismgeek
    tugberkugurlu.com
    github.com/tugberkugurlu
    stackoverflow.com/users/463785/tugberk

    View Slide

  3. @redgate

    View Slide

  4. The Problem

    View Slide

  5. View Slide

  6. View Slide

  7. Inconsistent Environments

    View Slide

  8. Result
    • Hard Onboarding
    • Hard to Set up Different Environments
    • Different Deployment Needs for Each Tech
    • Hard to Reproduce Issues

    View Slide

  9. What’s Docker?
    https://www.docker.com/what-docker

    View Slide

  10. What’s Docker?
    • Containerization
    • Provides Good Isolation
    • Consistent Environments

    View Slide

  11. Docker Family
    • Docker
    • Docker Compose
    • Docker Machine
    • Docker Swarm
    • Docker Registry

    View Slide

  12. docker run ubuntu /bin/echo 'Hello world'
    https://docs.docker.com/engine/userguide/containers/dockerizing/

    View Slide

  13. Packaging Your Application
    https://github.com/tugberkugurlu/AspNetCoreSamples/blob/master/rabbitmq-sample/rabbitsample.dockerfile

    View Slide

  14. $ docker build -t example-app -f rabbitsample.dockerfile .

    View Slide

  15. Packaging Dev Tools
    https://github.com/BenHall/docker-awscli/blob/master/Dockerfile

    View Slide

  16. View Slide

  17. Docker Registry
    https://hub.docker.com

    View Slide

  18. View Slide

  19. Docker Compose
    https://docs.docker.com/compose

    View Slide

  20. docker-compose.yml

    View Slide

  21. Demo
    docker-compose up
    https://github.com/tugberkugurlu/AspNetCoreSamples/tree/itakeu16/rabbitmq-sample

    View Slide

  22. Complete Example

    View Slide

  23. zleek.com

    View Slide

  24. Embrace Polyglot Persistence
    http://martinfowler.com/bliki/PolyglotPersistence.html

    View Slide

  25. Traditional Look
    MySuperShoppingApp
    My GIANT RDBMS
    Shopping Cart

    View Slide

  26. Polyglot Persistence Look
    MySuperShoppingApp
    MongoDB
    Elasticsearc
    h
    Neo4j
    SQL Server

    View Slide

  27. LB
    zleek-0
    zleek-1
    zleek-n
    mongodb
    neo4j
    elasticsearch
    rabbitmq
    recipe-generation-worker-0
    recipe-sync-worker-0
    food-sync-worker-0
    store-sync-worker-0
    recipe-generation-worker-1
    recipe-generation-worker-n
    recipe-sync-worker-n
    recipe-sync-worker-0

    View Slide

  28. View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. View Slide

  34. Demo

    View Slide

  35. Deployments

    View Slide

  36. View Slide

  37. http://www.infoworld.com/article/3040475/application-virtualization/4-no-bull-takeaways-about-docker-cloud.html

    View Slide