Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TDD and Containerization with Docker | Talk | AGILE GURUGRAM 2018 | 23 - 24 March


Published on

This session combines the principles of Test-Driven Development and Containerization. Test-Driven Development is a well-known Software Development process with a focus on minimizing waste. If followed properly, the TDD principles help developers achieve a clear focus on software acceptance criteria.
On the other hand, containerization is a key to DevOps automation practice that has gained a lot of traction relatively to the Docker. When utilized properly, containerization can help to transform your application and its environment into a lean and immutable artifact. Given that, Containerization and TDD help to achieve Lean practices, it also follows that TDD can be effectively used to drive the design, development and validation of Dockerized applications. TDD principles can help create highly efficient, validated application images.
This session introduces participants to the idea of utilizing TDD for developing Docker images, and then demonstrates an example of utilizing TDD for containerizing a sample application.

15 min - Overview of principles
15 min - Interactive Demo
15 min - Q & A and Discussions.
An understanding of Test Driven Development
A basic understanding of ServerSpec
Ideas for how TDD can benefit containerization
A basic understanding of Docker
A demo of creating validated Docker images for a web application.
45 Mins

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TDD and Containerization with Docker | Talk | AGILE GURUGRAM 2018 | 23 - 24 March

  1. 1. Test-Driven Development Applied to Containerization with Docker
  2. 2. 2013 Continuous Delivery Mobile DevOps DevOps Culture 2017 Enterprise DevOps Vision and Strategy 2008 Software Development DevOps Automation Continuous Integration 2018 DevOps Coach, Continuous Delivery Coach 2016 DevOps - Sharing Lean TDD Vish’s Journey
  3. 3. Agenda A Quick Recap 5 min TDD and Container Development 10 min Demo 15 min Q&A 15 min
  4. 4. A Quick Recap Of Infra-as-Code
  5. 5. 5 Infrastructure-as- Code is a Continuous Cycle DESIGNED INFRASTRUCTURE Design Patterns applied to Infrastructure Code for Modularity, Reusability DISPOSABLE INFRASTRUCTURE Completely tear down and recreate entire infrastructure using code DEVELOPED INFRASTRUCTURE Software Development Practices applied to Infrastructure code: Design Patterns, Pair Programming VERSIONED INFRASTRUCTURE Regular releases of infrastructure code TESTABLE, TESTED INFRASTRUCTURE Test Strategies, Automated Testing and Test Infrastructure for Infra code
  6. 6. Where does TDD come in? A software dev method applied to container infrastructure
  7. 7. Container Patterns ● Lean ● Versioned ● Immutable How do we achieve this?
  8. 8. The Mindset Shift I’m developing a containerized application. I’m writing a Dockerfile.
  9. 9. Base Image? Packages? Volume mounting? Ports to forward? Am I making my image efficient? Am I using Docker best practices? Is my image secure?
  10. 10. TDD Cycle
  11. 11. Demo Our Theory in Action
  12. 12. Thank You!
  13. 13. References ● Icons courtesy Freepik, Docker ● Container Patterns/Anti-patterns: [1], [2], [3] ● Containers and Infra-as-Code: [1]