ActiveBlog

PaaS: Breaking Ties, Increasing Focus
by Ho Ming Li

Ho Ming Li, February 7, 2014

This post touches on issues that are top-of-mind for developers and IT Operations, introducing the concept of abstracting applications from infrastructure, and the value it brings.

Abstraction

We learn the basic principle of abstraction early in our computer science studies. The ultimate abstraction is really not having to care about what you are abstracting away at all. Take the typical example of a microwave: most people don’t know how it works, it just does. All we need to know is how to use it. Even for a geek like me who is intrigued to know how it works, and why it works the way it works, not having to care about fiddling with the internals is truly a blessing.

Today, when developing applications, most developers and operations staff aren’t enjoying that carefree state. Although they have very different concerns, most developers are still bogged down by infrastructure concerns, while Operations still needs to understand more than they should with the underlying application requirements.

Developers

My developer experiences have not been extensive, but I certainly have interacted with many developers through my studies, working in the industry, participating in hackathons, and just over coffee at conferences. Developers prefer to focus on writing code for their application. Do they really care about whether the application runs in a physical server, many physical servers, VMs, containers, or just in some little corner in the cloud? Provided that their application is running and performing as desired, visibly bug-free, the developers are happy.

Let’s look at what generally matters for developers:

  • New frameworks (express, hapi, grails, spring)
  • New languages (go-lang, node.js, etc.)
  • New application architecture
  • Application security

Operations

I have worked under the Operations group in IT shops, as well as in a Solutions Development team designing and implementing architectures that spanned multiple data centers and geographic locations. Within the Operations business unit, we cared very deeply about the infrastructure. The focus with Operations is definitely on infrastructure management, whether or not they are supporting the contractually required uptime, whether it is easy to maintain, whether it is secure. That being said, is it part of their duty to be concerned about what the application actually does for end users?

This is what generally matters to Operations:

  • Availability/Uptime
  • Backup and Disaster recovery
  • Geographically distributed configurations
  • Resource Utilization
  • Infrastructure security

No Overlap

I see no overlap. But let’s not kid ourselves, applications do need proper infrastructure to run on and this is not changing. Not too long ago, definitely less than a decade ago, the physical resources played a vital role as a major constraint to architecting and deploying applications. An application and its supporting hardware were very tightly-coupled. However, with advancements in both infrastructure and applications, the locking between the two have now loosened. While many IT personnel today still associate applications with physical or virtual hardware, this shouldn’t be the case anymore with modern cloud technologies like platform-as-a-service (PaaS).

Infrastructure has advanced significantly over the years, moving away from physical servers to virtualization of machines, virtual networking, and most recently, to lightweight containers. A prime example is the widely popular open source Docker project that was launched in early 2013. Applications have also advanced significantly with introduction of new frameworks, new runtimes, even new languages that are designed with the intent of running on various platforms. Node.js, for example, is a javascript engine that has a common API across Windows, Mac, Linux, and even SunOS.

The loosely coupled association between application and infrastructure has opened up a new world for both groups. PaaS facilitates the abstraction, enabling developers to focus on their applications and operations staff to focus on the infrastructure. It doesn’t matter whether you are a developer writing applications or in Operations working on the infrastructure, you can focus on what you need to do and what you care about. [1]

The Clear Benefit: Focus

Before PaaS, applications had, by today’s standards, unnecessarily strict infrastructure requirements. There’s no doubt in my mind that the most significant benefit you get from a PaaS is to break those ties, allowing everyone in their respective role to focus on their already difficult-enough tasks at-hand.
 

[1] Leave comments below whether you’re a developer or in the operations function. Tell us your top-of-mind and what you care deeply about.

 
If you would like to learn more about PaaS, I hosted an introductory webinar on this topic recently. You can click here to see the recording.

Image courtesy of cruise93@flickr

Find Ho Ming Li on Google+

Subscribe to ActiveState Blogs by Email

Share this post:

Category: stackato
About the Author: RSS

Ho Ming Li joined ActiveState as a Sales Engineer. He has diverse experience in the software industry with past roles in development, quality assurance, release management, and professional services. With education in both technology and businesses, he aspires to be a tech guy with business sense, aiming to deliver business solutions through awesome tech products. When he is not in front of a computer, he plays a variety of sports and enjoys the outdoors.