The evolution of cloud native -- Kubernetes and beyond [Q&A]
Enterprises are expanding their view of 'cloud native' to be much more than simply deploying containers on Kubernetes in the Cloud.
A new report -- Cloud Native Adoption Trends 2020-2021 -- from Lightbend, the company behind the Scala programming language, sheds light on this trend. We spoke with Mark Brewer, CEO of the company to learn more about how developers and business leaders alike are looking higher up the stack, at the application layer.
BN: What does this survey reveal about cloud plans?
MB: We surveyed 1,000 developers and IT practitioners about their cloud native architecture plans. At the infrastructure level, the data showed aggressive adoption in cloud native, and that’s to be expected. 75 percent are already hosting a majority of their applications in cloud architecture. 61 percent are already using microservices in production. And 59 percent run most of their new applications in Kubernetes and containers.
But what the survey revealed is that with those building blocks of lower infrastructure settled, the most interesting evolution in cloud native has jumped up to the application layer -- specifically, how to build applications that are designed to run in the cloud.
BN: How is this different from just deploying applications to the cloud, using Kubernetes?
MB: Right, in the survey, 26 percent of respondents equate 'cloud native' to simply moving infrastructure to a cloud provider. And 19 percent think cloud native simply means utilizing Kubernetes and containers.
But the broader market has expanded its view of cloud native to being more about writing business applications that specifically leverage the underlying cloud infrastructure. And that's been the view of Lightbend. That doesn't happen if you simply run containers and Kubernetes in the cloud, or if you simply move your virtualized environment to the cloud.
As Google developer advocate Kelsey Hightower recently put it, "There's a ton of effort attempting to 'modernize' applications at the infrastructure layer, but without equal investment at the application layer, think frameworks and application servers, we’re only solving half the problem."
BN: The survey shows developers wrestling between automation and configurability, is this a growing trend in application architecture?
MB: Yes, 53 percent said they are moving towards ever-more automation and developers will have to focus less on underlying systems, and have more cycles to spend on writing business logic and functionality. Meanwhile 47 percent still prefer to focus on maintaining underlying systems, despite trends in serverless and higher level abstractions.
That’s really a key divide. So much of the momentum today in enterprise infrastructure is pushing towards frameworks and abstractions that relieve developers of the burden of configuring, scaling, and maintaining systems themselves. But we had a really interesting response where a developer noted that, "SaaS comes with ease of adoption and faster time to market, however many do not understand the cost of running them at scale." So that trade-off is one of the key friction points we see in the evolution of application architecture.
BN: Is there also a general friction between developers and executives in terms of their understanding of cloud native and what the top priorities should be?
MB: Yes, the survey found that developers think about cloud computing more in terms of specific technologies like Kubernetes and containers, while management thinks of cloud computing more as a new way to build applications. Management tends to prefer the idea of outsourcing as much maintenance as possible, while developers' preference for configurability over automation reveals a desire not to lose too much control over the many layers of an application stack.
BN: So what do you think is next for the cloud native industry? What do you see in the crystal ball, now that the industry has settled largely on Kubernetes?
MB: Despite that earlier trade-off we talked about between automation and configurability I really do see serverless maturing and massively disrupting the industry. Not only taking away the complexities of packaging up applications and deploying them, but removing the requirement to do any kind of configuration. I think it's inevitable that serverless will be the dominant way that applications are developed. And the hard parts of making the application layer perfectly fluid with the cloud- infrastructure layer will be something that is handled behind the scenes as an abstraction, rather than developers directly dealing with the hairiest challenges like state and reliability.