While most modern enterprises use the cloud in some fashion, many still don’t understand how best to leverage it for their flagship applications and IT infrastructure. Choosing the appropriate model or models to serve your organization’s vision requires careful planning and understanding of the drivers, benefits, and challenges of each.
Cloud services are hosted computing services that organizations consume through the Internet just like a utility. Organizations rely on cloud services to different extents, from an extension of on-premises infrastructure with the ability to scale up or down in the environment in real-time (Infrastructure as a Service—IaaS), a ready-to-use platform for application development (Platform as a Service—PaaS), or simply by leveraging an already fully built and functioning application (Software as a Service—SaaS).
Here’s an overview of the three major cloud models and their benefits and challenges to an organization:
IaaS — Infrastructure as a Service
Drivers: On-demand scaling, lower infrastructure investment, human capital retention, ability to move workload to the cloud (lift and shift)
IaaS is essentially outsourcing your enterprise computer infrastructure (server, networks, firewalls, etc.) to the cloud. One way to think of IaaS is to imagine building an on-premises interconnected infrastructure—with servers, network switches, a load balancer, and firewall equipment—and managing the installation of the operating system(s), line-of-business applications, and software updates, patches, and licenses. The infrastructure is then moved off-premises and hosted for a fee (fixed or metered) and managed and monitored over the Internet by your internal IT operations personnel. Any organization looking to reduce infrastructure costs and improve operational efficiency might look to IaaS as an option.
- Minimal to no changes to your applications
- Easy to scale to the infrastructure to meet demand
- Infrastructure monitoring is provided
- Loose coupling with the cloud provider (easy to move from one provider to another)
- The infrastructure still requires careful monitoring
- Licensing costs can be high
- Security is a possible issue with some providers
PaaS — Platform as a Service
Drivers: On-demand scaling, rapid development, application monitoring, no in-house ITSM expertise required
PaaS services allow consumers to develop, run, and manage applications on a provider’s development infrastructure using a platform and application built and managed by the provider. The PaaS model builds on top of IaaS, providing platform-specific services that developers can use to accelerate the development of their applications. PaaS consumers have a lesser concern for virtual machines, operating systems and virtual networks and care more about whether they can plug into a ready-to-use database server to store their data or authentication service to authenticate users. Remember that if you’re considering moving an existing on-premises application to a PaaS provider to consume PaaS services, the application will need to be modified to some extent or possibly re-written.
- Infrastructure management is outsourced
- The responsibility for scaling the application is handled by the platform
- The platform, depending on the provider, can provide and manage application monitoring, metrics, notification, etc.
- Developers focus on the application and data and not the infrastructure
- Easy to provision and stand up/tear down environments (Dev, Test, Production)
- Heavy reliance on PaaS offering from a provider can result in the application being tightly coupled with the cloud provider platform. For example, an application built to use Azure Active Directory (AAD) Graph API might require extra work to move to Amazon Web Services because of differences in how they address Identity Access Management (IAM)
- Existing on-premises applications need to be modified or re-written to become cloud-ready
- Careful upfront planning is required to understand the implications of using PaaS offerings (for example, the provider and available services, subscription level requirements, scaling model and limitations, billing, and so on)
SaaS — Software as a Service
Drivers: Low up-front investment, no in-house ITSM expertise required, no in-house development expertise required, accelerated time to market
SaaS is centrally hosted software licensed and delivered on a subscription basis. This model is not necessarily cloud dependent — organizations can build SaaS offerings without ever leveraging the cloud. In the classic “buy vs. build” analysis, consumers leveraging SaaS are those who favor the “buy” option. There is very little up-front investment and no need to maintain a capable IT workforce and invest time and money developing applications already offered by the SaaS provider. The SaaS consumer may want software customization to the extent that it is allowed by the vendor.
- No development and operations costs or infrastructure investment
- Guaranteed SLAs
- Rapid setup and deployment
- Overall low cost of entry
- Easy to develop proof-of-concept without commitment to the offering
- Very little opportunity for customization beyond customization offered by the provider
- No control over the direction of the application
- No control over IP
- A SaaS provider may go out of business or change the vision for the product
Choosing a Cloud Provider
When your business objectives lead you to the cloud, making a decision on the appropriate cloud model(s) is only part of the journey. Selecting a cloud provider is another interesting part of the exercise. Distinguishing what separates a cloud provider from a remote hosting facility can boil down to factors such as: SLAs, billing models, how well the provider’s infrastructure is distributed and connected, and the provider’s particular platform offerings. Quite often, organizations lack the in-house expertise to make well-informed decisions in this very complex landscape.
In the seemingly endless list of cloud providers, well-known leaders are Microsoft Azure and Amazon Web Services (AWS). If you’re considering the cloud, you have the option of using a single provider or a combination of providers, and choosing is going to depend on your organization’s decision points—basically, the features that matter to your organization based on where you are and where you are trying to go. Factors that can influence decisions include seamless integration with third-party applications, relationship with a specific provider, and personal or organizational biases. Here’s one example of a company that leveraged both Azure and AWS, and some key considerations that guided their choice based on services available at the time:
|Decision Points For XYZ Company||AWS||Azure||SaaS|
|Microsoft dev tools, Visual Studio, VSTS for source code repository and builds||X|
|Availability of enterprise licenses||X|
|Seamless integration with other MS products like Office 365||X|
|Use of Active Directory, SQL, IIS, now offered as PaaS||X|
|Phone & SMS||X|
Organizations are realizing real benefits from outsourcing infrastructure and applications entirely to the cloud or even from using a hybrid approach of cloud and on-premises deployments. Moving to the cloud helps organizations reduce cost-to-serve and increase ROI while improving operations. When making the decision, it’s up to your organization to do due diligence to understand what you are trying to do so you can navigate the nuances between the IaaS and PaaS and choose the best provider to serve your organization well into the future.