More and more SaaS organizations today are leveraging the public cloud for the benefits it provides such as infinite scale and economics, which are significant advantages over traditional on-premises and private cloud deployments. Enterprise SaaS bellwethers Box and Salesforce.com have already made the move into the public cloud and, according to market research firm IDC, the trend is expected to continue.
Cloud services are forecasted to grow at a 19.4% annual rate over the next five years, from nearly $70 billion in 2015 to more than $141 billion in 2019. That’s six times the growth rate of enterprise IT spending as a whole and will cause cloud spending to double during that time period.
As public cloud computing has grown in popularity, several different models and deployment strategies have emerged to help meet specific needs of different users. Each type of cloud service, and deployment method, provides users with different levels of control, flexibility, and management. Understanding the differences between Infrastructure as a Service (IaaS), Platform as a Service (PaaS), as well as what deployment strategies you can use, will help you decide what set of services is right for your needs.
So, if you’re an enterprise SaaS company considering moving your application to the public cloud, let us help you weigh your options.
The IaaS Approach – Making Your Application Cloud-Enabled
The quickest and easiest way to migrate your on-premises enterprise SaaS application to the public cloud is to recreate your on-premises infrastructure in a public cloud “virtual data center.” In this approach, you run the application and services in the exact same fashion as your on-premises deployment, but in the cloud. Compute resources, complemented by storage and networking capabilities, are owned and hosted by a service provider and offered to customers on-demand—this is called Infrastructure-as-a-Service, or IaaS.
The IaaS approach is a popular first step when moving applications to a public cloud because it reduces the number of unknowns, and is most similar to existing IT resources that many IT departments and developers are familiar with today. Users can also enjoy the benefits of scalability and reach as machines can be added and removed on demand. This process of provisioning additional servers takes only a few clicks of a button as opposed to the weeks it would take on-premises. The reach benefit is achieved at the hardware/data center infrastructure level. IaaS provides global infrastructure without the need of creating and maintaining multiple data centers in the same regions and between geographic regions.
While the IaaS approach liberates users from having to provision computing capabilities, giving users an environment where they can deploy their own virtual machine, it still requires a good amount of work as users are dealing with everything from the machine up: the OS, managing security and patches, installing the runtimes and the middleware, as well as managing the data and the application.
The PaaS Approach – Making Your Application Cloud Native
While IaaS helps businesses abstract away hardware, some public cloud providers go so far as to abstract much of the work of dealing with servers, providing clients with an environment where the operating system and server software—including the underlying server hardware and network infrastructure—are managed by the cloud provider. This category of cloud computing that provides a platform and environment as well as the overall infrastructure to support application development is referred to as Platform-as-a-Service, or PaaS.
PaaS services can consist of preconfigured features that customers can subscribe to; they can choose to include the features that meet their requirements while discarding those that do not. PaaS removes the need for organizations to manage the underlying infrastructure (usually hardware and operating systems) and allows users to focus on the deployment and management of their applications. Users no longer need to worry about resource procurement, capacity planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved in running their application.
However, in order to properly take advantage of a PaaS cloud and make your application cloud-native, applications must first be re-architected for the specific cloud provider and its native applications. While the cloud-native application development approach does require a great deal of rewriting and binds that application code to a specific cloud provider (there are very few, if any, standards in public cloud computing), the advantages of leveraging a cloud’s native features over an IaaS approach far outweigh any disadvantages.
Among some of the key advantages are:
- Performance. You’re typically able to access the native features of the public cloud services to provide better performance than non-native features. For example, the ability to deal with an I/O system that works with an auto-scaling and load-balancing feature.
- Efficiency. Cloud-native applications leverage the cloud-native features and APIs, which provide a more efficient use of underlying resources, over and above what IaaS provides. This means that the application’s impact on the underlying hardware and software is better managed, thus giving users better performance at a lower cost.
- Cost. Since you’re building applications that are more efficient, they typically cost less to run. Cloud providers, including AWS, send you a monthly bill based on the amount of resources you consumed. If you’re able to do more with less, that translates directly into dollars saved.
- Scalability. Since you write the application to the native cloud interfaces, you also have direct access to the auto-scaling and load-balancing features of the cloud platform.
- Security. Security showcases another distinct advantage of the PaaS model. A PaaS offering provides continual security updates for individual stack components as they are issued.
Choosing The Way Forward
Whether you decide to take the quick and easy approach to making your enterprise application cloud-enabled, the IaaS approach, or make your application cloud-native by rearchitecturing it so that it’s decoupled from any specific physical resource – the PaaS approach – moving away from a traditional corporate datacenter is key for any enterprise SaaS B2B company in order to achieve the performance, scalability, efficiency and security that you cannot readily achieve on your own.
The road ahead will largely be determined by how boldly you want to leverage the full potential of the cloud and provide developers and IT departments with the ability to focus on what matters most while avoiding undifferentiated work like procurement, maintenance, and capacity planning.
For a deep dive into why public cloud-based data protection makes sense today, download our new white paper titled ‘Why Leverage The Public Cloud for Enterprise Data Protection.’