As an increasing number of organisations move their workloads into cloud environments and tackle associated migration challenges, many customers are taking advantage of the open source community to support their infrastructure.
This trend is particularly evident in larger enterprises which have the staff and economies of scale to not only save money by using open source, but more importantly the ability to create an architecture that meets their specific needs.
By creating a custom environment, organisations can avoid vendor lock-in. They are able to add tailored components for security and other functions, but are also able to remove features that are unnecessary. For example, they can optimise their solution for a smaller footprint, allowing scope for more of the system resources to be applied to applications rather than to operating systems.
For many years, the industry has experienced a high level of competition. For this reason, vendors need to support open source initiatives in order to both be relevant to their customers in the long term and stay competitive. With the resources that larger vendors can apply to these projects, significant headway can be made.
This is not to downplay the tremendous input by end users and individuals in these initiatives, but rather to add to it. Without vendor involvement, there would be more emphasis on proprietary software systems.
Many providers are well ahead of end users today with respect to microservices, containers and next-generation applications for example. Take Google, many of its apps are based on microservices and containers, and the Google Cloud infrastructure is very well suited for this.
As in-house development teams and commercial software development organisations start to transition to these next-generation applications, there are a number of important points to consider.
When creating a next-generation application in a public cloud, there are many APIs that can be taken advantage of which can present a key challenge with portability. If the application is using AWS APIs and the organisation wants to migrate to Azure, they have a problem.
There are a number of solutions on the market, and more will be introduced, that provide a layer of abstraction that the developer can use which provides this portability. Otherwise organisations must remain cautious.
Another area involves persistent data storage. Containers are being extended to have persistent data which was not a priority at first, but as developers make progress towards using more containers, applications are growing in complexity and scope.
There is an urgent need for better development and support tools. As applications become more distributed, which in a sense are microservices, problems with interactions of the services can get harder to debug. As such, we will see new open source solutions that are targeted at addressing these challenges.
The adoption of these emerging technologies is still very much in its infancy but will be pushed by significant growth and open source initiatives over the next few years.