Rethink the Journey to Being Cloud-Native
In this article, take a look at what is means to be cloud native.
Join the DZone community and get the full member experience.
Join For FreeToday’s increasingly fast-paced innovation in the area of enterprise application architecture added numerous buzz words in our vocabulary such as AWS Lambda, Azure Functions, service mesh, Beanstalk; to name a few. Novel advanced use cases and in fact sophisticated use of cloud computing are transforming IT professional’s lingo. The core foundation of theses innovation lies in building cloud-native infrastructure i.e. adopting containerization and implementing microservices-based architecture in the application development lifecycle. The velocity of these innovations is so much that the technological gap between monolithic applications and microservices is getting wider every day.
The term cloud-native is very loosely and widely used. The tendency of just “Lift and shift” of monolithic applications does not make one cloud-native. It is like virtualizing workload and run it on someone’s else datacenter or sever. It should be carefully assessed and ensure that it is aligned with the needs of proposed outcomes, as it is quite challenging and will be for quite a while.
Digging a little deeper, we find several contradicting definitions of cloud-native. However, one of the best guidance so far, I have seen came from Gartner which explains it by narrowing it down to three main use cases such as:
- Use of platform-specific features (i.e. serverless, PaaS, etc.)
- Containerized workloads with Kubernetes and microservices
- LIFESPAR architectural principles (Latency-aware, Instrumented, Failure-aware, Event-driven, Secure, Parallelizable, Automated, Resource-consumption-aware)
The bigger truth is, amid grappling with building the foundation of cloud-native infrastructure and its adoption to increase software development velocity and modernize legacy workloads, technology leaders are also constraint by other factors. Some key factors are:
- Skill gaps
- Organization’s incumbent inertia
- Technological know-how
- Magnitude of efforts involved
- No clear best practice or architectural standards
- Choices of cloud model, e.g. private, hybrid, multi.
There is no silver bullet or one-size-fits-all in the journey of becoming cloud-native. Implementation is just one side of the coin; looking at the other side is a key to a successful adoption at least from the perspective of Day 2 operations to avoid costly cloud repatriation.
Conclusion
It is important to understand that cloud-native is an ever-changing and continuously evolving concept. No doubt, it is a bigger undertaking and complex to perform full re-writes when migrating, however, it might worth the investment given tremendous innovations and new developments happening in this space in recent years. Kubernetes and containers play a vital role and constitute the core building blocks of cloud-native architecture; both of them are plugged into continuous innovation from leading technology firms and wider matured ecosystem. In the long-run, enterprises adopting cloud-native architecture will reap the benefit of this journey by gaining a competitive edge and accelerating time-to-value in their product development lifecycle.
Published at DZone with permission of Muhammad Afzal. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments