Welcome!

@CloudExpo Authors: Liz McMillan, Yeshim Deniz, Pat Romanski, Zakia Bouachraoui, Elizabeth White

Related Topics: @CloudExpo

@CloudExpo: Blog Post

Cloud Computing: Application Services and PaaS

Addressing the service ecosystem in PaaS

One of the first things I learned when I started talking with clients about their plans for platform-based clouds is that there is no such thing as a ‘simple application environment.' Even for the most basic, CRUD-style applications, you can count on there being numerous different components involved in the overall solution. While one may immediately identify application servers, web servers, and databases, it quickly becomes clear that LDAP servers, identify management components, data grids, load balancers, and more are equally important. Indeed, the enterprise application ecosystem is not one where the word ‘simple' is often tossed about.



The inherent complexity of enterprise application environments has had, and will continue to have a significant impact on the design and implementation of many PaaS solutions. In fact, one could argue that the preeminent design point in many PaaS solutions on the market today is rooted in eliminating this complexity. To do this, PaaS solutions attempt to abstract all the way up to the application level. In other words, users supply application artifacts and possibly define application characteristics. From there, it is the job of the PaaS system to handle the underlying application infrastructure, completely absolving the deployer from having to get into the nitty-gritty of the application serving environment.

There is little arguing that this is a notable goal, but the fact is this level of abstraction is not an easy thing for PaaS providers to implement. PaaS solutions have to make a lot of assumptions about what components should be a part of the cloud-based environment as well as how those components should be configured. The bottom line is providers can only do this for so many components, and with that limitation in mind, they often go after the most common pieces of an application environment. That means things like application servers, databases, messaging engines, and authentication systems are often covered directly by the PaaS solution. While those components are definitely a big part of the overall environment, they are far from being everything that is necessary.

As I mentioned earlier, an enterprise application depends on a number of things beyond the core infrastructure in order to function correctly. Many applications need to cache results, depend on identity management capabilities, require load balancing to scale properly, and integrate with ESBs to name but a few things. PaaS solutions may not be able to address everything in terms of what they can deploy and configure, but that does not mean that they can blissfully ignore the large number of services on which applications typically depend. PaaS solutions must address the need to integrate the application environments it deploys with these application services in some kind of way.

There are at least a couple of ways to do this in a way that minimizes the burden on the PaaS provider. First, a PaaS solution can provide the concept of an application service and enable one to deploy an instance of that service. Of course, we are adding to the deployment and configuration responsibility of the PaaS provider, but this is somewhat mitigated by the fact that it is handled outside the context of any one application instance. The PaaS solution can simply deploy and minimally configure a service like an ESB, and then push back further configuration duties on the application environment that needs to access the service. It is the job of the PaaS solution to slice up the service such that multiple application environments can make use of it, but it is the job of each application to configure its slice of the service for use.

Alternatively, a PaaS solution can introduce the notion of an external application service. In this scenario, the PaaS system does not need to provide any capability in terms of deploying or configuring the application service. All it needs to do is provide a way for application environments to reference the external service.  This service has already been installed and largely configured, and applications deployed by the PaaS solution just need to indicate a dependency on the service. It is a bonus if the PaaS solution can manage to slice up shares to the external service, but that too could be pushed off on a component or actor external to the PaaS platform. To the PaaS provider, this is clearly the easiest of the two approaches to implement, but it does put more burden on the user to make sure those external services are up and accessible for applications deployed by the PaaS system.

So, which approach is better? While it is tempting to say the first approach is the best that is not necessarily true. It is true that it is the simplest for the user that is deploying applications with service dependencies, but it might not always be the best option for the enterprise. In many cases, enterprises have these application services up and running and they want to leverage that investment from the environments created by their PaaS platform. In that scenario, the second option is probably the preferable approach. To put it simply, there is no way to generalize and pick one approach over the other. The way in which a PaaS solution should handle application service dependencies varies, and ideally, it should be able to handle either style. What is clear though is the fact that there must be some way for PaaS systems to provide or integrate with commonly used application services!

More Stories By Dustin Amrhein

Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at http://dustinamrhein.ulitzer.com. You can follow him on Twitter at http://twitter.com/damrhein.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


CloudEXPO Stories
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.
Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are repetitive and dull. Utilizing automation can improve your work life, automating away the drudgery and embracing the passion for technology that got you started in the first place. In this presentation, I'll talk about what automation is, and how to approach implementing it in the context of IT Operations. Ned will discuss keys to success in the long term and include practical real-world examples. Get started on automating your way to a brighter future!
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogger and is a frequent speaker on the use of Big Data and data science to power the organization's key business initiatives. He is a University of San Francisco School of Management (SOM) Executive Fellow where he teaches the "Big Data MBA" course. Bill was ranked as #15 Big Data Influencer by Onalytica. Bill has over three decades of experience in data warehousing, BI and analytics. He authored E...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the massive amount of information associated with these devices. Ed presented sought out sessions at CloudEXPO Silicon Valley 2017 and CloudEXPO New York 2017. He is a regular contributor to Cloud Computing Journal.
Wooed by the promise of faster innovation, lower TCO, and greater agility, businesses of every shape and size have embraced the cloud at every layer of the IT stack – from apps to file sharing to infrastructure. The typical organization currently uses more than a dozen sanctioned cloud apps and will shift more than half of all workloads to the cloud by 2018. Such cloud investments have delivered measurable benefits. But they’ve also resulted in some unintended side-effects: complexity and risk. End users now struggle to navigate multiple environments with varying degrees of performance. Companies are unclear on the security of their data and network access. And IT squads are overwhelmed trying to monitor and manage it all.