In the marketplace, there are numerous definitions of what a computing platform-as-a-service (PaaS) actually means. There are some variances about which types of services should be bundled in the infrastructure-as-a-service component as well as some open debate for the boundaries when platform-as-a-service and software-as-a-service. Most technology folks can appreciate these theoretical debates.
However, from my experience, non-IT individuals need to know what is a PaaS and what problems PaaS solves. The intent of this blog post is to explain a PaaS through the use of an analogy. I will compare, at a high level, the similarities between the IT industry and the construction industry that readers might be more familiar with. Just as programmers use software tools to help write code, construction workers leverage tools to build s physical object.
Setting Up the Analogy
In the IT world, a PaaS is built upon infrastructure (hardware) and middleware provided over the cloud which are composed of the following components:
Infrastructure: Servers, Storage, Networking, etc.
Middleware: Virtualization, Runtime, Operating System, etc.
In construction and architecture, an equivalent of a PaaS includes the physical tools used to build a work of art as well as the “middleware”. To help explain this a bit further, we break up this business model into to two categories as well.
Hardware: Hammer, Wrench, Power Tools, Materials, etc.
“Middleware”: Electricity, Plumbing, Air Conditioning, etc.
Difficulties Without a PaaS
Now, imagine an architect wants to build something useful, such as a house, a table, a door. Let’s assume that this architect is extremely brilliant, and he wants to build a house. If he is the only one working on this project, he might run into some difficulties. First off, he might need a wide range of tools ranging from power tools to precise tools, depending on the item he is building and the scale.
Without a PaaS, the architect would have to buy all of these tools, despite the fact that he might only use it for a few minutes. Seems very wasteful. Not only that, but every time the architect needed a new tool or an additional nail or screw, he would have to put his project on hold to go procure the resources.
Furthermore, the architect is skilled at designing and building solutions. He is not an expert in middleware. Meaning, that this brilliant architect can design and construct a beautiful three story house. He knows how to incorporate electricity, plumbing, and air conditioning, but he would prefer to buy it as a service, so that he can devote his intellect to designing more houses.
In summary, this architect has a lot of problems that he might encounter in his quest to build a house. Here is a short list of difficulties without a PaaS summarized below:
- The architect has to buy an entire tool shed despite the fact he might only use a tool only once.
- The architect has to spend time buying all of the nails, screws, wood, etc. that he will need to build his house
- The architect has to spend precious intellectual time to configure the middleware when in reality, his efforts are better spent perfecting the house he wants to build or building a new one
- The architect has to constantly ask his customer whether the customer is liking the house as it is being constructed.
Here is a good read on coming to terms with your PaaS.
How a PaaS Can Help the Architect
Thankfully, our architect has the support of a PaaS. What will be different for him with a PaaS?
Imagine that the architect has a shed right next to the house he wants to build. Now, imagine that this shed is filled with every imaginable tool made to man kind. The architect only has to pay for what he uses too! He pays per minute of tool usage or per nail, etc. If the architect needs any other tools, the shed brings the exact tool that the architect needs to build his house.
What is also nice about a PaaS is that the architect can devote all of his time to designing blueprints and telling workers what to do in order to build an extravagant house with a wonderful living experience. The architect does not need to configure the electricity and air conditioning himself. The magic shed does it for the architect – it just works!
Lastly, imagine that the architect can get feedback on his design instantaneously. The architect’s can easily send pictures, videos, and other online tools to get feedback from his customers. Therefore, the architect can use agile development to receive feedback and continuously integrate those changes into the final design.
See the below diagram for the benefits of a PaaS across different roles. Corresponding construction analogies can be drawn from developer to builder, IT department to architect, and CIO/LOB to project manager.
Wrap Up: Bluemix
The same benefits apply to the IT world. Developers can entire a PaaS environment, such as Bluemix, and have everything they need. Developers have access to 70+ services. Not only does Bluemix provide a free tier to these services, but also lets developers pay as they go. Only need 1 GB of storage? That is all you pay for.
From what I’ve seen, many developers only care about two things: their code and their data. A PaaS allows developers to focus only on their code and their data. They don’t have to configure servers and storage nor set up the middleware to their environment. To deploy an application in less than 45 seconds is amazing – it just works! Therefore, developers don’t have to allocate precious IP towards middleware, and can utilize their time and energy on building the actual application user interface, back end, and logic.
Lastly, Bluemix provides a way for development teams to seek agile feedback. Bluemix creates a url for web applications at my_app_name.mybluemix.net. In this case, developers can seek out the feedback they need on their application. This is extremely useful when teams are pushing new code twenty to thirty times a day. They need the validation that their changes are having an impact on the end user. Click here to see more benefits of Bluemix.
In conclusion, whether we are discussing construction or information technology, platforms exist to help people build things. Just as an architect borrows other people’s tools and concentrate on designing a beautiful interior and exterior blueprint, developers can use the platform of infrastructure and middleware to build their application extremely quickly.
See how Bluemix can support lean startup principles just as an architect would leverage these same principles for designing this house.