Contact Us

Wild West for developers when it comes to writing cloud-native apps

Cloud

Commentary: Containers ate your infrastructure, but what comes next at the application layer? A new survey points to big, industry-wide decisions to be made about the tech used to write applications.

developer

Image: vladans, Getty Images/iStockphoto

Twenty years ago it seemed certain that the underpinnings of future data center infrastructure would be Linux clusters running on x86 “commodity” hardware. We just didn’t know what to call it or where exactly it would run.

The big systems vendors like IBM, Sun, HP, and Cisco weren’t calling it “cloud”; instead, the vendors named it utility computing, autonomic computing, grid computing, on-demand, and n- other terms. At Comdex 2003, it was reported on ZDNet that “participants in a panel discussion at Comdex agree that utility computing is more like a river than a rock, but have little luck nailing down a real definition.” (ZDNet is a sister site of TechRepublic.)

Must-read cloud

Two decades later we know what to call it (“cloud”), and we know it’s built with containers and a whole lot of Linux. As detailed in the new Lightbend survey Cloud Native Adoption Trends 2020-2021, 75.2% of respondents already host the majority of their applications in some sort of cloud infrastructure, and roughly 60% run most of their new applications in Kubernetes/containers.

Now we’re faced with another major rethink that will affect tens of millions of developers operating at the application layer, where there are common threads on crucial concepts, but everyone is bringing different and predictions for the future.

SEE: Top 5 programming languages for systems admins to learn (free PDF) (TechRepublic)  

Higher up the stack

We’ve all felt this happening as containers have eaten into the virtual machine landscape, as web programming languages (JavaScript) surpass JVM/server-side languages (Java) in developer popularity, and as serverless, JAMstack, and other still-being-named phenomena change the “developer experience” in writing cloud-native applications. The diversity of choice in the “right way” to write software for the cloud has become a bit of a Wild West for developers.

As Google developer advocate Kelsey Hightower put it earlier this year, “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.”

“There’s a huge gap between the infrastructure and building a full application,” said Jonas Bonér, CTO and co-founder at Lightbend, in an interview. “It’s an exercise for the programmer to fill in this huge gap of what it actually means to provide SLAs to the business, all the things that are hard in distributed systems but needed for the application layer to make the most of Kubernetes and its system of tools.”

SEE: Top cloud trends for 2021: Forrester predicts spike in cloud-native tech, public cloud, and more (TechRepublic)

Lightbend’s cloud adoption report highlights some of these major decision points that remain murky for the application layer of the cloud-native stack.

“Building cloud-native applications means creating software that is designed with the advantages—and disadvantages—of the cloud in mind,” said Klint Finley, author of the Lightbend survey. “It means taking advantage of the fact that it’s possible to outsource entire categories of functionality—like databases and authentication—to public cloud services and planning for the fact that communication between those cloud components might be unreliable.”

Some developers still prefer frameworks they personally maintain and scale, while the business side clearly prefers frameworks that are delivered “as a service” via API, the survey says. Namely, 54.7% of managers said it was their highest priority to write business applications that specifically leverage the underlying cloud infrastructure vs. 38.3% of developers. Meanwhile, consuming back-end services by API rather than building and maintaining your own is the defining characteristic of the emergent JAMstack (JavaScript / API / Markup) architecture that has the weight of Facebooks’ React programming language momentum behind it. But it’s a completely different approach than the old-school server-side mindset for Java developers that still rule the roost and command vast legacy systems at most major enterprises.

The survey also suggests 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 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. As one respondent put it: “SaaS comes with ease of adoption and faster time to market, however many do not understand the cost of running them at scale.”

Disclosure: I work for AWS, but the views expressed herein are mine.

Also see

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Youtube
Consent to display content from Youtube
Vimeo
Consent to display content from Vimeo
Google Maps
Consent to display content from Google
Spotify
Consent to display content from Spotify
Sound Cloud
Consent to display content from Sound