18 Jan Modern MES – Are Containers the Way to Go?
“Once a new technology rolls over you, if you’re not part of the steamroller, you’re part of the road” Stewart Brand, Writer
Large scale and rapid digitization of value chains is being widely pursued by organizations around the world, in order to adopt modern technologies and advantages that Industry 4.0 brings. This urgency of changing the way companies and their partners operate has only been accelerated by the recent and ongoing global COVID Pandemic. Today, organizations need to be able to predict demand patterns, and react in a way that is most profitable for the whole value chain. At the same time, in situations which are unprecedented (not unlike a global pandemic) value chains must be agile and be able to scale up or down almost immediately to limit any potential losses and disruptions. The need to be more resilient, agile and efficient has always been there; the need to achieve this faster and at scale is what has changed in the last few years, but more so in the last year. A great read by McKinsey on this accelerated adoption, aided or rather mandated by the Pandemic, can be found here.
While there is an evident need to move fast and gain the advantage which comes with having taken the initiative, it is absolutely critical that top management and experts within an organization and its value chain understand technology trends and have at least a working understanding of what truly modern digitization solutions look like, before taking a decision to move forward with a particular technology, tool, platform or vendor.
For manufacturers and their value chains, adopting Industry 4.0 begins in essence when they have a MES application in place which can be deployed not only within their operation and plants for process execution, but integrate with other higher level enterprise applications across the value chain, to provide the connectivity which IIoT and Industry 4.0 demand.
Even in organizations where there is a legacy MES or MES-like application, chances are the system isn’t nearly ready when it comes to meeting the digitization goals brought by a true Industry 4.0-level transformation. Generally, a modern MES would replace a legacy system, either in a phased manner or as a “big bang,” where the whole operation switches to the new application, irrespective of the method used for deployment. What becomes evident is the fact that implementing a modern, Industry 4.0 ready MES application is a large endeavor, and will involve members from top management, IT, Operations and even external consultants and supply chain partners, which is typical of any enterprise-wide IT change which takes place. So, what changes with the modern MES, if the effort required and time taken to change is extremely high? How does the organization implementing the application reap immediate benefits and changes, which are desirable in an Industry 4.0 scenario?
To answer this question, we need to look at the very foundation of the MES and how it operates. A ‘modern MES’ is and should be far from the monolithic applications of the past, where an ideal or supposedly ideal application mirroring a process would be deployed and changes to be made would be excruciatingly difficult and time consuming. Modern MES should be agile, responsive, scalable and easy to code and deploy, but unless the way the architecture is designed supports the application in doing so, these are just words, which bear no real weight.
A Modern MES of today should be an application which embodies the agility, resilience and speed which it wants the users to experience and leverage upon use and implementation. This infers using most modern technologies at your disposal to achieve these much desired deliverables.
One such technology which is becoming extremely popular is the ‘containerization’ of applications; the most popular provider of containers being Docker. Our goal here isn’t to get too deep into the subject, with a highly technical description of what Docker is; rather, it is to establish how applications or functions within larger applications can be created, modified and deployed better when they are containerized and the fact that this is much a cheaper and faster option for the organization which intends to use the applications.
Just to establish few basics about containers. Containers can be considered as an extension or improvement to virtual machines, however, not exactly their replacements. Virtual machines basically emulate virtual hardware and can run multiple operating systems, which places higher resource requirements on a single server.
An application which exists in a container, however, does so as an independent and isolated entity, sharing same operating system with different containerized applications; the technology is referred to as OS-Level Virtualization. This implies that each contained application has access to all the system resources, bins and libraries it needs to execute itself, while it shares the same operating system, working in isolation yet with the ability to continuously integrate and continuously deploy. This mechanism basically delivers a larger application ‘bang for a server buck,’ as more containers can be packed on a server, than comparable virtual machines, irrespective of where the server is, local or in the cloud.
Developers have the benefit of packing, shipping and running apps on containers such as Docker, where the apps themselves are lightweight, portable and self-sustained. Docker provides for standardization and version control of applications, which allows them to be run and modified by agile teams working on or off premise. The benefit is development itself can be faster yet with clear lines of ownership and responsibility. From a development perspective, containers are much easier to move; the application inside a container will run and execute the same way, irrespective of the system it operates on and this allows for better and faster development in the case of enterprise- level app development.
Containerized application development also fits with an agile approach to phased deployment of the MES, where the application or few of its functions may be deployed across multiple plants or for a single plant for selected use cases, as a pilot, or to review how the modern MES would run alongside an existing application.
Having specific parts of the application or a particular function reside in a container allows for the MES deployment team to make changes faster, and test them before they integrate the modified module with the rest of the application. MES applications always need some degree of customization when deployed; what contained modules allow is for individual pieces of the whole application to be modified, tested and integrated to the main application, without causing disruption. Such agile practices are what a truly modern MES must possess and bring as an offering.
Adoption of Docker and containers, from a user perspective (aside from the ease of development and deployment) are the immense cost advantages it brings. Containers consume far less system resources and have the potential of saving millions of dollars in hardware cost for a large-scale, multi-site MES deployment. This is the reason more than 3.5 million plus apps have been placed in containers, with 37 billion plus containerized apps downloaded (Source – https://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/ ).
In simpler terms and from the perspective of a company exploring possible MES applications, why does an application which supports or uses Docker containers become important? The answer is simply that an MES which uses Docker and deploys application and functions in containers is a MES which is forward looking, which embodies the principles of agile development and deployment. This not only helps reduce project costs, but allows for the MES to be iteratively developed and deployed as it is being improved and adapted to fast-changing market scenarios.
The application which you chose for your organization and its value chain must and most certainly be able to leverage all modern tools available, which can make the whole value chain faster, stronger and more proactive.
Docker and apps in its containers is one such tool. It is a valuable technology, which helps improve the speed of adoption and adaptation. We recommend understanding the distinct advantages of Docker containers, in discussion with your MES experts and consultants as you make your MES choice. Adopting new, modern technologies allows you to be the steamroller—not the road—and gain efficiencies for performance, scaling and multi-site deployments to fully leverage your MES installation.