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.
Docker: Build, test and deploy
SaaS applications
William Greenly, Technology and Platform Manager Jio XLabs
Jio
Jio
● It is the largest 4G network in the world, and by 2019 it will be available for over 1
billion Indians across the en...
Meetup Groups
● Extreme Engineering
● Web of Things
Introduction to Linux Containers
● LXC has been around for nearly 10 years
● Namespaced virtual machines than run in the k...
What is Docker (and it’s ecosystems)
● A system for managing Linux Containers
○ Docker Engine
● A system for creating Linu...
Some key use cases
● Localised end to end testing
● End to end testing during continuous integration
● Emulators for trick...
Testing
● Integrates with existing build tools
● Use docker for difficult to test or remote 3rd party services
○ E.g Amazo...
As a software distribution
● Applications can be distributed as images with OS level dependencies included
● Enabling more...
Docker in production
● Docker compose
○ Orchestration, hostnames and dns, scaling on Swarm
○ Gradle, Grunt, Rake, docker-c...
Gotchas
● Docker is still a rapidly evolving ecosystem. Lots of version compatibility issues.
● Versioning is very relaxed...
Upcoming SlideShare
Loading in …5
×

Docker build, test and deploy saa s applications

64 views

Published on

Some of the key use cases and benefits of using Docker during the software development lifecycle for SaaS based applications.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Docker build, test and deploy saa s applications

  1. 1. Docker: Build, test and deploy SaaS applications William Greenly, Technology and Platform Manager Jio XLabs Jio
  2. 2. Jio ● It is the largest 4G network in the world, and by 2019 it will be available for over 1 billion Indians across the entire country, urban and remote rural. Most users experience between 18-70 Mbs download speeds. ● It is entirely IP based. No separate analogue/hybrid network for voice. ● It is launching with 1 tariff and 1 tariff only - data. ● Which it will charge at a maximum of 50 rupees per GB making it the cheapest in the world. ● It is completely free for anyone and everyone who signs up, until December 31st 2016. ● After thursday's announcement it wiped 9% off the competitions market value.
  3. 3. Meetup Groups ● Extreme Engineering ● Web of Things
  4. 4. Introduction to Linux Containers ● LXC has been around for nearly 10 years ● Namespaced virtual machines than run in the kernel ● Isolation, container grouping, networking, process mgts, security, storage ● Ephemerality ● Standardisation still lacking
  5. 5. What is Docker (and it’s ecosystems) ● A system for managing Linux Containers ○ Docker Engine ● A system for creating Linux Images ○ Dockerfile ● An ecosystem for sharing and reusing Linux Images ○ Docker Registry, Docker Hub ● An ecosystem for orchestrating and linking containers ○ Docker Compose ● An ecosystem for running distributed containers ○ Docker Swarm + Docker Compose (Kubernetes, Rancher, ECS, Bluemix)
  6. 6. Some key use cases ● Localised end to end testing ● End to end testing during continuous integration ● Emulators for tricky 3rd party services ● Technology agnostic substitute for the test harnesses ● Building and deploying software distributions ● Building and deploying end to end, HA, SaaS products
  7. 7. Testing ● Integrates with existing build tools ● Use docker for difficult to test or remote 3rd party services ○ E.g Amazon S3, Tibco, Oracle etc ● Reduces the amount of time building test harnesses ● End to end testing locally, against real services ● Agnostic images means better reuse across technology stacks (e.g Ruby, Java, Python) ● Still versionable
  8. 8. As a software distribution ● Applications can be distributed as images with OS level dependencies included ● Enabling more portable software ● 12 Factor App - Configuration can be part of the environment ● Again Versionable ● Pushed and pulled to a repository e.g Docker Registry, Docker Hub, Bintray etc. etc
  9. 9. Docker in production ● Docker compose ○ Orchestration, hostnames and dns, scaling on Swarm ○ Gradle, Grunt, Rake, docker-compose.yml, Bash, Docker Swarm ● Kubernetes ○ Orchestration, service discovery (pretty poor), replication controllers and load balancing (not DNS), health checks and monitoring, deployments ○ Gradle, Kubernetes.yml, Bash/Ansible GCE ● Ansible ○ Playbooks, ECS ● Chef, Puppet ● Deployment and delivery pipelines, blue/green, red/black, canary, immutable
  10. 10. Gotchas ● Docker is still a rapidly evolving ecosystem. Lots of version compatibility issues. ● Versioning is very relaxed. Can lead to Snapshot abuse and untested dependencies ending up in production. ● Better resource utilisation than Hypervisors, but still needs to be managed ● Volumes and persistence ● Large images - look to optimised distributions

×