Experiments with Docker

What i am showing today

  • Skeleton app for all services that we plan to develop
  • Development setup using docker
  • Using cloud for development and QA

Application used in this Demo

  • Redis for session data and caching

  • Postgres for transactions data

  • Possibily Mongodb for configuration data

  • Item Service

 

Development - Option 1

  • All Dependent Services runs on boot2docker container or cloud
  • Order Service alone is in developer laptop
  • Can leverage eclipse build and debugging capabilities
  • Can leverage spring-boot development Support

Development - Option 2

  • All Services including item services run inside container
  • Very close to production setup
  • Remote debugging possible
  • Remote classloading support by Spring boot dev tools not supported

Running application tests on cloud (digital ocean)

Docker Advantages

  • Development environment uses the same stack as production
  • All orchestration done by docker-compose. Bring up everything using docker-compose up
  • Scaling services is very simple.. Just give a number and docker-compose will create containers as required.
  • Run tests/apps on cloud without much setup.
  • QA can setup the entire application using a single click. Every QA engineer has their own env either in their laptop or on digitalocean (aws)
  • All data created in stateful containers (postgres, redis, mongo) can be exported and shared. Makes it really easy to reproduce issues for developers..
  • .....
  • ..... many more

Experiments with Docker

By Palanivel Rajan Balasubramanian

Experiments with Docker

  • 527