1. Innovate Faster
First and foremost, using a PaaS to deploy and run your application enhances your agility. The Web is accelerating the pace of innovation. To compete, you need to quickly transform new ideas into real applications and evolve those applications with agility in order to meet fast-changing business and technical requirements.
Market opportunities exist very briefly. Your business needs to build, deploy, and iterate in days or weeks, not months or years. Setting up platform-level software to run your application is time-consuming and complex. By simplifying, automating, and in many cases eliminating the steps associated with setting up the foundation for your application, you can get your application deployed much more quickly in the first place, and you can iterate, adapt, and extend it more rapidly over time.
2. Focus Resources
Eliminating much of the overhead to deploy and manage applications doesn’t just mean you can do certain things faster. It means you don’t have to do certain things at all. Which means that you don’t even need to know how to do them. Which allows you to be even better at knowing how to do the things that differentiate your business, like building applications with innovative features and exceptional user experiences.
Let’s say you’re an entrepreneur with a great idea and some seed funding, or you’re an enterprise line-of-business manager with some spare budget you’d like to put on a special project. Do you want to spend your precious funding on some generalist developers who can code moderately well and also do system administration, or would you rather get top-notch coders who don’t necessarily have deployment expertise? Would you rather spend a dedicated headcount on an ops person or have an additional application developer?
3. Save Money
Focusing development resources and spending less headcount on unneeded expertise are both benefits that intuitively translate into reducing costs. But beyond these obvious things are even more ways that PaaS saves real money compared with doing it yourself on IaaS.
With PaaS you are tapping into a real economy of scale. Imagine the number of hours it would take to set up the core stack—the platform-level components—for your applications. Imagine the hours consumed on an ongoing basis to maintain the stack. Imagine the cost of those hours, and consider the incremental value from this work to your application. Now consider those same costs amortized across thousands of applications. There is very little differentiating value from doing this low-level work yourself, so clearly, buying platform from a provider is more efficient than building it yourself.
4. Get the Best Technology
The benefit of economies of scale doesn’t simply stop at getting the same thing for less money. What you actually end up with is something better, for less money. The stack and platform-level technology you would build yourself will almost never be as good as what a top PaaS will provide.
Few companies have both the ability to pay and the attractiveness to hire the world’s best platform builders. The top platform builders are in companies whose main business is platform. People who are world-class in a given discipline for the most part want to work somewhere where that discipline is core to the business, not in an ancillary or supporting role.
A PaaS typically employs specialists who constantly tune, optimize, load-balance, reconfigure, and so on. The result of faster page loads is often a reduction in bounce rates, because customers are more satisfied with the service level they experience. And since search engines use bounce rates and page load times to prioritize paid search rankings, faster application performance can substantially improve your application visibility and business performance.
We’ve mentioned the stack itself several times, and getting the best stack means getting a stack with the latest versions of all components, configured optimally to work with each other and as the foundation for applications such as yours. In addition to the stack itself, there is the deployment mechanism, the platform software that instantiates virtual servers on the infrastructure and installs instances of the stack on them. Many aspects differentiate a good deployment mechanism from a bad one: what configuration parameters are exposed, what component options exist, how stack versions are managed, what activities are automated, what components are pre-built into binaries versus compiled at deployment time, and so on.
Above all of this, there is the user interface, which may include GUI and CLI variants. Getting the user interface and user experience right is make-or-break for platform interaction. The best platform user interfaces will be simple yet flexible—the things you don’t care to customize shouldn’t get in the way, and the things you do want to customize should be easy to do so. The interface needs to be both learn-able and usable — i.e. quick to get started with but also powerful enough to support the expert user.
5. Stay Up to Date
A particular challenge of deploying your application on a self-built stack is the sheer number of components that need to be tracked, maintained, updated, and re-integrated over time. It’s one thing to get it all set up and humming along in the first place, but the first time you need to swap in an update to the app server or the load balancer or the cache you may find yourself in a nightmare of reconfiguration. One bad experience like this leads many do-ityourselfers to remain indefinitely on an increasingly outdated stack for fear of rocking the boat. The downside of course is that you end up missing out on the latest security updates, performance improvements, and new features— and what may have started as competitive advantage becomes a weighty impediment to keeping up with your competitors.
With PaaS, you not only get the best possible stack as of the moment you deploy, you also get a stack that keeps up with you over time, ensuring that your application is always running on the latest and greatest. You don’t fall behind your competitors, and you also don’t waste time and incur risk by doing it yourself. The PaaS experts constantly incorporate and test component updates and bring them into the platform. At Youcal, updates are rolled out in a way that minimizes risk of incompatibility and gives you complete control over how updates are brought into your production applications.
6. Maximize Uptime
PaaS offerings can help you achieve your availability goals and give you innovative new disaster recovery / business continuity options. PaaS vendors have the tools, technologies, and experience to help you avoid the unplanned outages that cause downtime. The best PaaS vendors embed technologies and techniques in their products to keep availability high enough that they can offer service-level agreements (SLAs) at or above 99.9% availability. Youcal, for example, employs application templates and configuration recipes that minimize human error, ensure up-to-date snapshots of content assets, and allow fast and easy rollbacks if something goes awry.
Beyond basic data backup and OS hardening, PaaS vendors can protect your data in other ways. With Youcal, completed transactions can be recovered in the case of database failures, so you never lose data from a committed transaction. And because application configuration is all captured in application templates and recipes, it’s easy to reproduce your application in another availability zone if the primary zone has a disruption. We automatically spreads your application across multiple availability zones, enhancing application resilience.
7. Scale Easily
It’s one thing to get the best technology at the best cost for a given size of business. It’s another thing to achieve that at many different sizes — potentially spanning orders of magnitude — as your business grows. When building a platform yourself, you basically have three choices: you can optimize for the scale you’re at now, you can optimize for a scale you expect to be at a later date, or you can invest a lot in building your own scaling mechanism. In the first case you risk having to redo your platform and incur downtime when you outgrow your initial set-up. In the second case you will likely waste resources due to over-provisioning. And in the third case, you will like spend a lot of opportunity cost building something that ends up not nearly as good as what you can get from a PaaS.
With a PaaS, on the other hand, you get the benefit of a great scaling mechanism developed by experts over time and in response to the needs of many customers. On top of that, the PaaS scaling mechanism leverages the underlying infrastructure’s elasticity but presents it in an easy-to-use way, abstracting the complexity of the mechanism’s details.
8. Strengthen Security
Security showcases another distinct advantage of the PaaS model. With the sheer volume and the diversity of security threats on an upward spiral, protecting against attacks is best left to specialists. A PaaS offering provides continual security updates for individual stack components as they are issued. At Youcal the stack engineering team maintains fully updated Microsoft and .NET technologies, so security vulnerabilities in core language or framework components are quickly remedied and customers are notified following the patch.
9. Do Your Project Right
An interesting behavior happens in real-world enterprises when departments or lines of business can’t get corporate approval or fast enough turnaround to build and deploy a new Web application; they tend to do it anyway. Through the back door. They go to a digital media agency; they re-channel some discretionary budget and hire consultants; they get it done using the “easier to get forgiveness than permission” principle.
These unofficial or back-door efforts usually result in a mess, sooner or later. At the very least, they add to the complexity and inefficiency of the environment, because they introduce new and unapproved tools, processes, and/or infrastructure. In other cases they create an even bigger mess: what if the new Web service really takes off, and suddenly the LOB manager needs to procure budget to scale up? What if the new Web service unexpectedly disrupts, corrupts, or causes downtime in legacy applications? It might not be as easy to get “forgiveness” as presumed.
PaaS dramatically cuts the risk, cost, and complexity of new projects. It brings predictability to both the cost and the ramifications of introducing new Web applications and services. To the extent needed, a PaaS offering can complement and add value to existing development and IT operations. Simply put, it doesn’t need to come in through the back door.
10. Get the Best Support
As outlined above, when you build and run on a PaaS, you use technology that has been developed and refined in response to the needs of thousands of customers. But it’s not just the technology that embodies that aggregated expertise. It’s the people themselves. When you call Youcal Support, you speak to someone who has dealt with hundreds of problems in the same domain as yours. You speak to someone who has access to — may even be sitting next to — some of the leading experts in the community, whether for core Azure or .NET components or for complementary customer projects.