Platform as a service (PaaS) is a category of cloud computing services that allows customers to develop, run, and manage applications without building and maintaining the infrastructure mainly associated with developing and launching an app.
The advantages of PaaS are that it allows for higher-level programming with reduced complexity. The overall development of the application can be more effective, as it has the built-in infrastructure. The maintenance and enhancement of the application are also easier. A disadvantage of PaaS is that developers may not be able to use a full range of conventional tools, but with so many advantages, you are likely to ignore this one.
Public, Private and Hybrid PaaS
Public PaaS is derived from software as a service (SaaS) and is in-between SaaS and IaaS (infrastructure as a service). SaaS is software that is hosted in the cloud so that it doesn’t use your hard drive or a Company server. With PaaS, the server management is done by the provider. Key examples are IBM Bluemix and Amazon AWS.
A private PaaS can be on a company’s on-premises infrastructure or can be installed on a public cloud also. Once you install the software on one or more machines, the private PaaS arranges the application and database into a combined hosting platform.
A Hybrid PaaS is a deployment consisting of a mix of public and private deployments.
Latest developments in PaaS architecture are related to Mobile PaaS, Open PaaS and PaaS for rapid development. Let us see in brief, what they all mean.
Since 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and freelance web developers.
Open PaaS does not include hosting, but it provides open source software allowing a PaaS provider to run applications in an open source environment. Some open platforms let the developer use programming language of their choice, their preferred database, operating system or server to deploy their applications.
Forrester Research defined Enterprise Public Cloud Platforms for Rapid Developers naming some providers including Mendix, Salesforce.com, OutSystems and Acquia.
Key reasons why Startups should use PaaS:
Innovation Focus: The Web is helping a lot to the pace of innovation. To compete in the market, you need to quickly transform new ideas into real applications and evolve those applications with agility to meet fast-changing business and technical requirements. Market opportunities exist very briefly, and you need to build and deploy in few weeks.
Setting up platform-level software to run your application is time-consuming and complex. Because of eliminating the steps associated with setting up the foundation for your application, you can deploy your application much more quickly in the first place, and you can iterate, adapt, and extend it rapidly over time.
Focus on your key business: Eliminating much of the overhead to deploy and manage applications means you don’t have to do certain things at all. It allows you to be even better at things that differentiate your business, like building applications with innovative features and exceptional user experiences. You can focus on great graphical user interface and intuitive design using freelance designers.
Use Best Technology and stay current: A particular challenge of deploying your application on a self-built stack is the number of components that need to be tracked, maintained, updated, and re-integrated over time. It’s one thing to get it all setup and humming along in the first place. Later, when you need to swap in an update to the app server or the load balancer or the cache, you may find yourself in a very difficult situation.
Maximize Uptime: PaaS can help you in achieving your availability goals and give you innovative new disaster recovery and business continuity options. With a big and advanced commercial setup, the PaaS vendors are capable of avoiding any unplanned outages that cause downtime. Some of the PaaS vendors embed technologies and techniques in their products to keep availability high enough. They can offer service-level agreements (SLAs) at or above 99.9% availability.
Scale-up when required: While building a platform yourself, you have three options: you can plan for the scale you’re at now, you can plan for the scale you expect to be at a later date, or you can invest a lot in building your scaling mechanism. In the first case, you risk having to redo your platform and incur downtime when you expand your initial set-up. In the second case, you may waste resources due to overprovisioning. In the third case, you will like to spend a lot of opportunity cost building something that ends up not nearly as good as what you can get from a PaaS.
Cost saving: Focusing on only development resources and saving on infrastructure resources are both benefits that ultimately translate into reducing costs. Beyond these obvious things, there are even more ways that PaaS saves real money.
By using PaaS, you are very flexible to scale. Think about the hours spent on an ongoing basis to maintain your stack. Imagine the cost of those hours, and consider the incremental value from this work to your application. There is a very little differentiating value from doing this work yourself, so clearly, buying platform from a provider is more efficient than building it yourself. Alternatively, you may choose to give this as freelance work.
Security aspects: Security showcases a unique advantage of this PaaS model. With the sheer volume and the diversity of security threats on an upward spiral, defending against attacks is left to the specialists. A PaaS offering provides continual security updates for individual stack components.
Getting the Best Support
As outlined above, when you build and run on a PaaS, you use technology developed in response to the needs of thousands of customers. It is not just the technology that embodies that combined expertise. You need a great support along the infrastructure and platform, and you get that on the PaaS platforms.
With all these advantages at very low cost, it is not a surprise that freelance gigs and Startups have got attracted towards PaaS and thousands of Apps are already there in the PaaS environments.