When would you think a Technology trend has crossed the threshold and become mainstream?
Well, I have two dip tests.
- First is to look at the adopters. Usually, when any technology is introduced we have few early adopter companies who show great interest. They have good technical skills and the teams are not afraid of trying out new things. These are a finite set of companies from banking, telecom and E-commerce domain. When you find certain companies, apart from these set of early-adopters going in for that technology, you can be sure that a threshold is crossed.
- Second is about Eco-system that gets built around that technology. When you see the diverse setup of ISV players – from very large to small ISV’s, all trying to build the toolsets around that technology you know that this technology is in demand.
I witnessed an exact same phenomenon at the recently concluded DockerCon19 in San Fransico. I noticed that Containerization has crossed the threshold of being a ’trend’ or a ‘fad’ and has become mainstream. The reason is simple – I found it clears both of the above tests with flying colours.
I found companies as diverse as large equipment Manufacturers, Realtors, Mutual funds apart from the expected Banking and Telecom companies who have already embarked upon the Containerization journey. I noticed that the vast majority of these companies have made a good investment in Docker as a technology.
There are three broad types of workloads that are being Containerized.
- Brownfield applications:
These are legacy, monolith applications. These are in active use and there is a need to add more functionality around these applications. The challenge is that there are not much documentation or skills easily available for these technologies and modifying these applications to add new thing is a huge risk of something going wrong. In such cases, I found a clever way these companies are going about. They have developed a set of microservices around this monolith applications and containerized them. Most of these microservices are accessing the Monolith application using APIs and many of their functionality is targeted towards making it mobile friendly. This seems to be an efficient way of leveraging your legacy application functionality while modernizing it without actually having to touch the code.
- New application development
Using the microservices architecture and using CI/CD as a culture seems to be the preferred way of developing new applications. Certainly, this needs a new culture in IT teams and it needs new skills sets. But surprisingly what I found is that developers are very enthusiastic about this approach and have taken it up wholeheartedly. This approach also drives great collaboration culture in the organization.
- Modernizing traditional applications
There are still a huge number of applications which are running on Windows server 2008. And as per the latest update, in January 2020 Microsoft will officially end support for this version. I believe Containerizing these applications and running them on the latest version of Windows server is a great way to reduce risks. I found there were quite a good number of takers to address this challenge.
There were 2 technical things that really caught my attention.
3(A). Docker Enterprise Desktop
‘Works on my machine but not sure why it is not working in production’. We have heard this problem many times. Well, with Docker Desktop developers would have easy access to the same environment on their Windows 10 or MacOS desktops as in the production servers. This would greatly reduce test cycles. With this, you can set up a fully functional Kubernetes environment with a single click on your desktop. The production-ready app development environment allows you to choose the Docker Engine and Kubernetes version to match your Docker Enterprise. I feel the Docker desktop gives great powers and choice in the hands of developers. It comes in Community as well as the Enterprise version.
3(B). Docker Application Converter
Launched in November 2018, Docker Application Converter (DAC) has matured in a very short time. DAC is a great tool for converting your Windows applications to new platforms. I was impressed with the support for Windows server 2019 and its functionality. If you have bested with legacy Windows 2008 applications, this will surely be a great tool.
Overall I felt with the Docker Enterprise 3.0, Docker has made great strides in maturing the containerization space. There are great Tools, a very enthusiastic Community, and Docker as a commercial company looks solid that you can bank upon.