Cloud // Platform as a Service
Commentary
5/27/2014
11:40 AM
Connect Directly
LinkedIn
Google+
Twitter
RSS
E-Mail
50%
50%

PaaS, Docker, And The Future Of Orchestration

Currently IT's best bet for orchestration hinges on management systems that remotely execute scripts on servers. But what's the answer for platform-as-a-service setups?

For years, pundits have predicted that platform-as-a-service (PaaS) will gain massive market share anytime now. That's thanks in part to the idea that, if you give a platform control over every bit of IT service management (not just orchestration), that platform will make automating tasks easy.

It's a nice theory, and there are plenty of reasons to embrace orchestration, as I discuss in this week's InformationWeek Tech Digest. But there's a yawning chasm between concept and reality, for two main reasons. First, web applications built with scripting languages like PHP, Python, and Ruby are really hard to platformize. Second, relational databases are really hard to orchestrate.

In the battle for PaaS market share, fortune has tended to favor vendors that work with languages that compile binaries that run on software virtual machines, like Azure and Apprenda (for .NET) and CloudBees and CloudFoundry (for Java). When you compile to a binary, you get really good encapsulation of all the supporting libraries (and corresponding configurations) needed for the applications. The PaaS system doesn't need to worry about stringing together a bunch of dependencies. It can simply load your binary and worry about a relatively small number of configurable options, mostly around the web server.

On the other hand, if you're using a scripting language like PHP or Python, you end up with a ton of dependencies on libraries that need to be installed. Your code will work with only some versions of the libraries, and a few libraries are sure to have been designed to be compiled on the server on which they're running. At that point, the PaaS has to deal with making sure the code is compiled for a particular server. Not much of a platform, really.

[For more on PaaS, see What Is Platform-As-A-Service? Experts Disagree.]

Relational databases -- which are used in the vast majority of web applications -- don't fit into cloud architectures very well, because they usually rely on a single master database server that must be available at all times for the application to function. Making changes on that database server will cause it to be unavailable for periods that are inevitably too long.

So even if you do have a database server running in a PaaS setup, you likely can't orchestrate changes to your master database node without taking down your application -- and more importantly, the PaaS just won't know enough to determine whether a particular requested change would take the applications down. Can we fail over a slave now and avoid dropping a significant number of transactions? Who knows?

In fact, the presence of PaaS as a layer between you and your database server makes administering the database more difficult than it would ordinarily be. That's because you actually need the fine-grained control over the database server that hosting it yourself provides.

Though the present remains fairly dim for PaaS, the future looks a bit brighter. I discuss why this is so in my PaaS Buyer's Guide, and lately we've seen the rise of Linux containers and Docker, a tool that makes it easier to embrace containers.

Containers bring two new benefits to the table: They offer better performance than virtualization, and they allow applications written in scripting languages to look a lot more like those written in .NET and Java as far as PaaS goes. With encapsulation and Docker, you build a Linux container (sort of like a binary meant to run on a software virtual machine) that runs your application. This container is fairly portable and can contain the configuration and other libraries that your application needs, allowing your PaaS provider to focus many more resources on things like orchestration, instead of handling application dependencies.

To some extent, the jury is still out on Docker, though the recent embrace of its functionality by companies from Amazon to Red Hat will likely drive increasing adoption over time.

As far as the database server issue goes, life still looks quite difficult for PaaS providers. The best path forward seems to be via databases that are cloud friendly on the back end while being completely compatible with standard relational databases on the front end (read: NuoDB), along with increased use of cloud-friendly databases (read: Riak). However, unlike with IaaS and on-premises services, the road ahead still looks long before we can orchestrate applications completely via PaaS.

SDN's disrupting networking, flash is disrupting storage, and DevOps is upending application strategies as companies such as Oracle, IBM, and SAP see decades-old revenue streams drying up. Share your data center reality in our InformationWeek State of Data Center Survey by June 6 and enter to win a 32-GB Kindle Fire HDX.

Joe began his career by winning the 1996 Weird Software Contest with the Mutant Chicken Races and creating the first Windows-based iPod application. Over the past ten years, Joe transitioned from development to systems design and data analysis, creating the first BuildFax ... View Full Bio
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Li Tan
50%
50%
Li Tan,
User Rank: Ninja
6/4/2014 | 4:50:14 AM
Re: Orchestration pre-requisites
Very good summary - orchestration is not a trivial task and far more than just running script remotely. It needs a comprehensive framework to accomplish the necessary task. Docker is a good start but as you pointed out, there is still further way to go.
batye
50%
50%
batye,
User Rank: Ninja
6/2/2014 | 2:43:48 AM
Re: Orchestration pre-requisites
yes, but other factors should not be overlooked as technology keep developing more and more... right in front of us....
cobiacomm
50%
50%
cobiacomm,
User Rank: Strategist
5/28/2014 | 9:15:50 AM
Orchestration pre-requisites
Orchestration is a tough, holy grail domain.   Remember the hype about service orchestration?  Orchestration requires defining atomic units, dependencies, and interaction rules.  Recent advancements in containerization are good, yet network dependencies need to be read from the docker configuration file.  Also, docker provides 'links' to define relationships between containers, yet the links are not readily externalized outside the host machine. Also, docker by itself does not scale across multiple host machines, nor define what is inside the container.

 

A PaaS extending docker with enterprise-ready orchestration and application lifecycle management capabilities is required. 

 

 
Charlie Babcock
50%
50%
Charlie Babcock,
User Rank: Author
5/27/2014 | 4:45:45 PM
So orchestration is going to become easier...?
Good analysis here by Joe Emison.He differentiates containers as well as anyone who's taken on the task. Yes, containers resemble a file built to run as a virtual machine, only it runs as its own thing in a defined memory space under Linux. My words, not Joe's. He said: "With encapsulation and Docker, you build a Linux container (sort of like a binary meant to run on a software virtual machine) that runs your application." There are advantages, either way, container vs. virtual machine, but cloud workloads are likely to become increasingly containerized.

 
Google in the Enterprise Survey
Google in the Enterprise Survey
There's no doubt Google has made headway into businesses: Just 28 percent discourage or ban use of its productivity ­products, and 69 percent cite Google Apps' good or excellent ­mobility. But progress could still stall: 59 percent of nonusers ­distrust the security of Google's cloud. Its data privacy is an open question, and 37 percent worry about integration.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest September 18, 2014
Enterprise social network success starts and ends with integration. Here's how to finally make collaboration click.
Flash Poll
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.