I believe Platform-as-a-Service is the future of app development on the Web. Traditional development platforms just can't keep up. PaaS has too much efficiency, too many features, and too little cost for it not to become the primary deployment method.
One of PaaS's strongest selling points is BC/DR (Business Continuity and Disaster Recovery). You cannot escape the importance of a solid BC/DR plan. Even smaller organizations with modest deployments need to ensure their applications are up and available as close to 100 percent of the time as possible. That's one of the main reasons to move to a Web-based application: So that users can access mission-critical software from anywhere in the world under a variety of conditions.
PaaS helps enable sound BC/DR plans in a few different ways. First and foremost, simply deploying your software on the infrastructure and platforms provided by these organizations is likely a major step up from an on-premise or self-managed deployment. Companies like Google and Amazon have enormous budgets with respect to the maintenance of their platforms, giving them the ability to offer SLAs of over 99.5% uptime. Most organizations simply cannot match the resources that these companies can muster up.
This is most obvious in the tenants you share the infrastructure with, namely, the host company themselves. With Google you're leveraging the same infrastructure they use to deploy their own products. If you develop on Microsoft's PaaS, you're taking advantage of the underlying structure for software like Bing and XBox Live. If it's good enough for those services, you can be assured that it's good enough for yours.
But sound infrastructure and service is not all you need. Sometimes disaster strikes. Earthquakes, hurricanes, and other natural events cause power outages and can take entire data centers offline. All of the money and resources in the world can't save infrastructure from unplanned outages like this.
That's okay though, because PaaS solutions offer easy global distribution for your software. You can deploy an app to multiple locations around the world and easily setup load balancing, such as Microsoft's Traffic Manager, to distribute or failover traffic between those sites. An outage at one center doesn't have to mean downtime for your service. If you take advantage of a highly available, persistent storage backend for your app like DynamoDB or Google Cloud SQL, you can ensure no downtime and no loss of data either.
Dynamic scalability is a feature that PaaS makes especially easy. Sometimes availability is restricted due not to outages or disasters, but simply due to traffic volumes and responsiveness. Nothing is worse for a public-facing application than slow speeds or unresponsive links. Popularity can kill an app. By taking advantage of the scaling options in most PaaS offerings you can increase the number instances of your application and ensure that a rush of traffic doesn't bring your service down. Dynamic scaling can respond instantaneously without your intervention according to rules you've created.
Migrating existing development or planning new development on a Platform-as-a-Service solution can seem like a daunting task initially. There are many speed bumps to address, but PaaS does its best to address those up-front. With the built-in BC/DR features of a PaaS you can rest assured that the business continuity plans for your app or service will be a piece of cake.
This article is published as part of the IDG Contributor Network. Want to Join?