In the recent past how many times have you heard the buzz around DevOps and Docker? Ever wondered why containerization suddenly gained popularity? I have been wondering this for a while and have finally decided to dig in. In my attempt to educate myself I thought of looking at it through the lens of a startup and trying to figure out how it may be relevant. Stay tuned to this tutorial series to learn more!
Docker: Containerize your Startup! - Part 1: I described how Docker is relevant to startups and why is DevOps inherent in the Startup culture. I also discussed the underlying technology and how it is advantageous to a startup, namely how it could lead to savings in power, hardware and virtual resource cost.
Docker: Containerize your Startup–Part 2: I discussed about the basic components of Docker (The Docker Engine, The Docker Machine and The Docker Hub), their functionality and how they interact with each other through an example. The idea was to convey how Docker can be used in a development environment.
Docker: Containerize your Startup: Image Management – Part 3: As the name suggests, this post talks about image management in Docker. It goes without saying that this is the most important part of gaining skills while using Docker. Essentially, the idea is to create an image with all dependencies taken care of for your application to run. To think of it in simple terms – you need to adopt a layered mindset, where in each layer sits on top of the other creating the foundation. This is ultimately bundled as one image (defining the DockerFile) . You can build on an existing images to create your own user defined image. (Example: Ubuntu base image, Nginx WebServer on top of that, Website content on top of this)
Docker in general has been a game changer in DevOps. There has been an accelerated adoption in the various communities (such as dev & enterprise). In this concluding segment, I thought of summarizing some key elements about the adoption of Docker and enable your path from Virtualization to Containerization.
According to a recent survey:
70% of the respondents were either using or evaluating Docker while 31% plan to use it in production – What are you waiting for?
Top 3 Docker applications: Web Facing Apps, Test & QA Apps, Big Data/Enterprise Apps – how many of you have relevant applications?
The biggest adoption is coming from the development community, mid-level managers and grass-root adoption rather than top level management – if you are a startup – YOU are the mid-level & the top.
The biggest challenge in adoption is Security and lack of operational tools – Docker knows this and it is getting more secure with every patch to fit into the enterprise policy.
In Microsoft, through our Open Technologies initiative, we have adopted anything and everything open and hence we have support for Docker too. The Blog on Docker has all details about Microsoft’s support for the technology.
The easiest way to start is spin up a classic virtual machine with the Docker extension as described in this blog post.
If you want to dig in deeper and learn more about Microservices in Docker & Azure, you can refer to this Microsoft Virtual Academy Course.
We are almost entering a post hype era for Containerization. The enterprise is getting serious about the adoption now, there is no reason why Startups should not get into it. After all most startups are starting lean, they are starting on the cloud – implying they are born in the virtualized world. It is about taking the next step towards the next layer of abstraction – Containerization.
Please reach out to me @AdarshaDatta and share your stories - I would love to hear about your journeys in the adoption of containerization.