"We don't do microservices here so we don't need containers!"?
Image Credit : https://www.pexels.com/@kaiquestr

"We don't do microservices here so we don't need containers!"

A common refrain I often hear from Enterprise IT stakeholders against investing in containerization & orchestration platforms, like Kubernetes (k8s), is that 'our applications are not built as microservices and so we don't see value in doing it'. This mindset arises, partially, due to the fact that microservices and containers/Kubernetes are unwittingly married-to-the-hip by technology marketers and also by tech thought leaders esp. those coming in with the microservices play, so much so that it becomes impossible for the audience to think of them as two independent technologies.

.. microservices and containers/Kubernetes are unwittingly married-to-the-hip by technology marketers and thought leaders ..

Read on if you are in a similar dilemma and I will try to make a case for adopting containers even if your applications are not microservices enabled.

Here is a quick introduction to these two terms - 'microservices' and 'containers' in the context of this article. Building software programs as 'microservices' is a software architecture pattern where you build programs ("services") that do one, or maybe two, things well and are self-sufficient. 'Containers', on the other hand, represent a software packaging technology that groups dependencies (i.e. frameworks, software libraries etc.) and a runtime environment that provides a lightweight isolation mechanism for the containers to run on top of the host operating system. As the count of containers running in your environment grows, you feel the need of a orchestration engine, like k8s, which offers a solution to secure, schedule, network, monitor and scale these containers using a common control plane.

You can build and deploy microservices without containerizing them and you can use your container platform to host your regular (read "non-microservices") server workloads.

Having a containerization strategy and investing in an orchestration platform, independent of your microservices adoption, has many intrinsic advantages, I have listed some of these below and as you will see below, none of these mention microservices.

  1. Containerized environments offer a 'Light weight' consolidation platform to host applications on common hosts. It can save 10%-30% on your regular compute requirements, as you can host incompatible dependencies on the same host machine and allows you to 'shape and size' container instances to odd/app specific core/memory requirements to fit the application's precise needs. These instances can be made to scale in-out and up-down on demand. Needless to add this brings down your costs proportionately ( and the CFO becomes your new best friend)
  2. Many ISVs, OEMs, and SIs distribute their solutions packaged in containers and the trend is accelerating. Having a ready platform will get these deployed faster, leading to earlier ROI.
  3. As data processing gets mission-critical, the pace of innovation in this field is accelerating too. Almost all OSS innovations in bigdata processing & ML training and serving are packaged and distributed as containers, allowing your analytics and data science teams to experiment and adopt these sooner, at a relatively lower cost.
  4. A whole ecosystem of Machine learning, ETL/ELT, serverless computing frameworks CI/CD and, devsecops tools - infrastructure as code, monitoring, scaling, storage, networking, security, etc. has evolved around k8s which offers agility, flexibility, and a feature set unheard of in bare metal/virtualization world. Almost all HW, SW and cloud OEMs have committed to the platform by enabling integrations into K8s platform allowing you to benefit from these innovations.
  5. Cloud-based k8s platforms take out huge chunk of effort needed in provisioning, monitoring and scaling the platform, tilting the efforts vs. benefits balance in your favor.

..and finally, K8s is an open platform and offers an abstraction layer which gives you the freedom to move the your workloads easily between bare-metal, virtualized, n-premises, edge, and cloud platforms.

Thank for reading, though this is not an exhaustive analysis it hopefully delivers the point. Do leave your comments, thoughts, POVs, queries and insights below.

Disclaimer: All views expressed are my own and do not represent the opinions of my employer or any entity I am affiliated with.

Gouri Khinvasara

Head Automotive and Large Enterprise Business

4 年

Very crisp , concise and to the point Mandar Samant . Where most large enterprises struggle is the ability to estimate the selection of workloads , effort and skills needed vs the actual benefit . Especially when it comes to the SOR , SOE or the non-web workloads . Would be nice extend this thread to what and how !

回复
Mohit Jindal

Digital Transformation Specialist | Helping clients integrate a holistic approach in the management of IT environment

4 年

Hi Mandar, Well written! Still not clear on one thing, How can a bulky Monolithic application work on a nimble containerised environment?

回复
Sanjay Narang

Visionary Technology Executive | Driving Digital Transformation, Cloud Innovation, Engineering & Architecture Excellence | Senior Director at Target

4 年

Well said Mandar Samant as you hinted in couple of points, portability is another key point for containers (with or without k8s) and provides great strategy for building #multicloud applications. On the other side micro services can also be built without containera using #serverless. While technologies like Google Knative and AWS fargate are bridging the gap between containers and serverless

Amandeep Singh

Principal Architect | Ex Amazon,Ex DELL, Ex Pitney Bowes | GenAI Enthusiast

4 年

Nice! Containers are becoming integral part of Cloud Native Architectures! Hard to ignore them and the benefits they bring!

Prasenjit Deb

Helping Enterprises ride the digital wave with Google cloud

4 年

Well written and concise, thank you Mandar Samant for sharing

要查看或添加评论,请登录

Mandar Samant的更多文章

  • Get Going with Go! : Part 2

    Get Going with Go! : Part 2

    Going Differently In Part 1 of Get Going with Go! we covered how Go addresses the Object Oriented Programing paradigm…

    1 条评论
  • Get Going with Go! : Part 1

    Get Going with Go! : Part 1

    Get Going It is about 33 years since I first dabbled with BBC Basic on a BBC Micro computer, adding about 8 more…

    4 条评论
  • Connected products and sustaining customer delight.

    Connected products and sustaining customer delight.

    I recently had an interesting personal experience, as a customer, which made me realize how connected products have…

    3 条评论

社区洞察

其他会员也浏览了