BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

Do Developers Care About Cloud?

Following

Developers care, a lot. Software application developers care about their code, they fret over whether their software is bug-free and functional, they spend sleepless nights running through deployment scenarios to question whether the end user is actually getting what they need from an application (or whether they are mistakenly using it incorrectly)... and they care about whether there is soda and pizza on order for Friday afternoon.

But the care factor doesn’t stop there. Developers also care about what language they code in, what platform (Windows, Linux, mobile, embedded) their application will exist upon and what kind of workflow methodology their team has signed up to. With all these technical ‘worries’ to mull over, one would imagine that in the new world of hybrid multi-cloud computing, developers would also care about what Cloud Services Provider (CSP) hyperscaler instance their code spends its life upon?

Do developers care about cloud?

Given the fact that different cloud services are optimized for different characteristics (some for latency, some for input/output prowess, some for data analytics, some for transactional throughput and so on), then of course we could say that developers care about cloud. But really, if they get what they need, they kind of don’t… so why is that?

"Developers look at applications they develop, first and foremost. But let’s remember that for an application to be ‘cloud-native’, this is more a non-functional requirement of what they develop, it’s not a description of a specific skill-set and it doesn’t mean that developers necessarily worry what cloud their applications are deployed upon,” said Markus Eisele, developer strategist at Red Hat.

Ultimately says Eisele, what has been named cloud (or cloud-native) has become a synonym for a certain way to scale and behave at runtime and the term covers a lot of ground from a technology perspective, but it does not always necessarily influence the way a developer might build an application. “Ranging from bare-metal Kubernetes to multi-cloud installations on various CSPs. The first love of every developer I know is their own machine and what runs successfully there. This is why effective preparation for cloud deployments and seamless and secure movement between cloud environments is the most crucial factor to be concerned with," explained Eisele.

Cloud there, don’t care

Dom Couldwell, head of field Engineering for EMEA region at real-time AI and data platform company DataStax goes one further.

“Developers don't really care about the cloud,” asserts Couldwell. “They care about ease of use and access to resources. They don’t want to limit themselves with a job title that defines them as ‘only’ working in the cloud, when they want to work across multiple systems, languages and ways to solve problems.”

With the commoditization of cloud-native approaches e.g. containerization and the abstraction away of the more complex elements of Infrastructure-as-a-Service (IaaS) e.g. GitPod, a modern developer can work seamlessly on development platforms on-premises, in the cloud or on their laptop.

“It used to be that to get all the benefits of cloud-native development you would need to be on the cloud, but now they are more widely available. This portability also appeals to many organizations who can run their units of work across any cloud or on-premises, which reduces vendor lock-in and allows easier adoption of hybrid strategies,” clarified Couldwell. “This works for both developers and the organizations they work for. Cloud Service Providers (CSPs) will try to find ways of making themselves sticky and keep more development and workloads on their platforms, but the developer remains king/queen and, alongside those responsible for building and maintaining an organization's IT platform, they will continue to value portability. While they might work with the cloud, it does not define them.”

The cloud care factor is an emotive subject, but there are some solid truths at work (and play) here and we can liken the 'this cloud or that cloud' argument back to the way software application development works as a discipline at large.

"The depth of a developer's interest in ‘the cloud’ is correlated to its intersection with their domain expertise. That quotient is defined by a combination of subject matter, product knowledge and the technology stacks that surround any individual software engineer,” clarified Stefan Georgiev, group product manager at cloud computing operations management platform company Nerdio. “Developers operate within a well-defined scope and problem. This means that when a cloud service, tool or capability interacts with their domain they start to ‘care’. As they discover the utility, efficiency, and domain-specific benefits, their level of engagement and appreciation grows.”

However, explains Georgiev, the IT industry generally tends to scope inwards and define developers within a prescribed domain. This, he says, limits their perceived care for the broader cloud landscape.

“These realities mean that it’s rather like the domain of app development as a whole, where developers in their distinct domains of mobile and desktop development rarely overlap,” explained Nerdio’s Georgiev. “Similarly, in the cloud era, a developer specializing in SaaS solutions shows limited interest in [platform level] PaaS services. In the context of the cloud, a developer working with a particular cloud will not care for other clouds or hybrid scenarios…unless explicitly required by business and product teams. While developers may not have an all-encompassing care for the cloud, they start to care as they find cloud services, tools, and capabilities relevant to their domain."

Productivity before speed

“First and foremost, developers care about productivity, not speed… and the two things aren’t necessarily the same. Despite pressures from within their businesses to go faster and faster, there are significant differences between measuring velocity and quality, which, in many cases, may cause developers to think about how to break down projects into smaller units with higher quality results,” said Christian Reilly, field CTO, HashiCorp, a provider of multi-cloud infrastructure automation software.

Reilly says that cloud certainly offers a route to better productivity, but not without some initial overheads of getting up to speed with the many wide and varied services that each cloud service provider offers. “Focusing on productivity and reducing complexity is ultimately what will drive the evolution of platform engineering, getting the cognitive overhead of infrastructure out of the way to allow developers to focus on what they are really good at - building amazing application experiences. Do they care about cloud? Yes. Do they care about infrastructure? Not so much,” added Reilly.

If this discussion drives us to think about whether software engineers are most concerned with the upper or lower tiers of the platforms they use, this might lead us towards some resolution in this space. After all, what really matters most… the controls and the steering wheel, or the engine that drives us?

“It’s clear to see that developers do care about cloud to a degree, but they would - in general - quite like cloud services to become an invisible utility that they don’t have to concern themselves with. One thing is for sure; because different developers want different clouds, we often end up dealing with what becomes a multi-cloud scenario,” said James Sturrock, director of systems engineering, UK&I, Nutanix.

What matters now, says Sturrock, is that we tackle the challenges faced by organizations dealing with the reality of running applications across multiple clouds and throughout on-premises deployments at the same time. The very fact that cloud diversity exists means that we have a situation where operational complexity and cost can quickly spiral unless firms grasp a means of using one platform to run applications and data anywhere.

“With new and emerging use cases for cloud and data (GPT-related generative Artificial Intelligence being a case in point), commercial enterprises across all industries will now be seeking platforms to simplify infrastructure complexity and delivery on the hybrid multi-cloud dream that has proven itself to be the most functional, the most cost-effective and the most adaptable - let’s face it, inherent flexibility was how we were sold cloud right back at the start,” stated Sturrock.

How, not where

According to Atlanta, Georgia-based senior vice president for NTT Ltd. Rishi Kulkarni, one of the reasons why so few software engineers class themselves as cloud developers in the era of cloud, has much to do with how cloud-native development has evolved over the years. What he means is, the cloud-native approach became popular for rapidly building new applications or modernizing legacy monolithic applications in the form of microservices which can be developed, tested and deployed independent of one other. The focus was autonomy, velocity, and scalability. It was not about ‘where’ the microservice/code was deployed but about ‘how’ it was developed.

“In addition, the [initial] cloud platforms were not matured – they focused purely on Infrastructure-as-a-Service (IaaS) services, did not have strong Platform-as-a-Service (PaaS) functions and DevOps capabilities and did not cover cross-cutting concerns [where one cloud service has to connect to another],” explained Kulkarni. “This led to an operating model where software developers relied on cloud (and DevOps) engineers to manage the deployment and run-time complexities while focusing on developing code that could run independent of the underlying platform.”

But says Kulkarni, things have changed and now that cloud platforms offer an end-to-end developer and operator experience that includes native cloud services for low-code and serverless development, full-fledged continuous delivery pipelines and more, many developers have transformed themselves into cloud developers.

The NTT VP sums up by saying that if software engineers in today’s era don’t classify themselves as cloud developers, “It’s most likely because most senior developers now are already cloud-certified and focus more on using native cloud services as opposed to pure-play coding (Java/.NET/Python etc.). What all that means is that the combination of the historic cloud agnostic development approach, lack of ready-to-use industry sector-centric serverless services on hyperscaler platforms and the reliance on cloud and Site Reliability Engineering (SRE) teams still prevents some software engineers from classifying themselves as cloud developers - but in reality, they are,” concludes Kulkarni.

Do developers care about cloud then? Well, yes, no, maybe and sometimes… but what they care about most is their code, so let’s make sure the cloud is there to serve and never to obscure.

Follow me on Twitter or LinkedIn