The 451 Take
It has taken less than a decade to reach the point where “cloud native” is now the prevailing mindset and methodology for infrastructure and application architecture. Cloud native is essentially a set of overlapping technologies that grew out of public cloud scalability and provisioning and are used in the design or redesign of applications built to run in public, private and hybrid cloud infrastructure. Most use the open-source model and are implemented via DevOps techniques. With the maturity of open source, there are many commercial vendors that provide the sort of support that organizations want.
In the cloud-native world, the atomic units are microservices, which are assembled into containers and orchestrated by Kubernetes. Containers deliver another layer of abstraction, enabling services to be assembled, connected, consumed and reused, driving faster software releases to deliver incremental value more quickly. Collectively, these technologies have moved the addressable layer of infrastructure from the server and VM up into the application, which enables improved resiliency, security, connectivity and more. Consequently, adoption of key cloud-native constructs by IT teams is strong.
Cloud-Native Adoption Progress
of companies say microservices are the most critical cloud-native approach for app development and deployment
of companies report some or full adoption of serverless
of companies report some or full adoption of containers
of companies report some or full adoption of service mesh
of companies report some or full adoption of Kubernetes
of companies say half or more of their DevOps applications are developed with cloud-native technology or methodology
One of the principles of cloud-native engineering is decomposing applications developed in the pre-cloud era using a “full stack” of dependent technologies into flexible elements, which are technology-agnostic. The cloud-native approach lets organizations abstract away functional components of applications as microservices, and upgrade and maintain them independently. This opens up a world of innovative possibilities, especially given the tools that cloud providers now offer, such as AI and ML. However, the result is greater quantities and dispersal of services, which will need to be tamed with increased automation.
Cloud native is a strategic priority for the majority of enterprises undertaking net new development and application modernization. Its constructs are critical components of successful enterprise DevOps, whereby developers and IT operations teams collaborate for faster releases, greater efficiency and readiness for market changes – and where the whole notion of “shift left” is coming from. But it’s important to realize that none of this activity can happen without certain cultural and organizational changes. It’s not just about technology – shifts in the software development mindset are complex processes with wider implications.
Powering app delivery
Powering app deliveryInstead of building and running software in inflexible, massive code bases that are difficult to update, cloud-native organizations are breaking applications into component microservices that can be iterated and upgraded independently and reused in a modular approach. Containers offer a lightweight, efficient way of packaging these services, and Kubernetes has become the standard method for coordinating the operation of all these containers. While changing legacy software to use this type of architecture can be difficult, many see it as the best way to take advantage of the nimbler product development enabled by cloud – and the competitive advantage it confers.
It’s a methodology and a state of mind
Finding the right mix
Run anywhere, anytime
Don’t let skills shortagesdelay deployment
Cloud native has shifted the modern software development focus from a model driven by concerns around browser- driven consumption to one that’s intended to optimize the software architecture to achieve improved longevity, security, supportability and resilience. From a tool chain point of view, the abstraction that containers provide arrived and evolved at a time when enterprises were trying to figure out how best to package and deploy applications in the cloud. Kubernetes has come of age as organizations scrabble with managing hybrid and multicloud infrastructure. Serverless provides an infrastructure abstraction, and service meshes enable networking to be added independently.
But there’s still a high degree of complexity, and a lot more room for abstraction. It’s precisely the granularity of the components in cloud-native applications and connectivity that gives rise to this complexity. However, the ability to actually log and trace all the activity that’s happening – the overall term for which is “observability” – is making it possible to automate many of the operational functions that used to require human intervention. Working with a partner that understands the new cloud-native complexities and best practices can ensure predictable rollouts.
Download the complete 451 Research Business Impact Brief as PDF