Cloud development has been integral to the explosive growth of cloud computing in the last several years. According to the Cloud Vision 2020: The Future of the Cloud Study from LogicMonitor, some 83% of all enterprise workloads will find themselves in the cloud by 2020. As more businesses begin to understand the sheer benefits that cloud computing brings to their operations, this huge paradigm shift for businesses will only continue.
At the heart of cloud development is the importance of understanding what we mean when we say “cloud” and “cloud services.”
The cloud is a web-based pool of configurable computer resources that can be quickly provisioned with only a relatively small amount of effort, thus making it very attractive to organizations looking to increase efficiency and cut down on costs.
When it comes to actual cloud services, your business has numerous ones from which to choose. Getting the most from cloud computing demands that you have a solid understanding of each service and what it’s best used for.
Broadly speaking, services in the cloud can be broken down into these four groups.
IaaS – Infrastructure as a Service
According to a Grand View Research industry report, the market size for infrastructure as a service will rise to $60 billion by 2024, making it the second-biggest type of cloud service based on its market size. The same report indicates that the period of 2016 to 2024 will have seen a 25% growth rate in IaaS.
If you need the simplest type of cloud computing, you’re going to go with IaaS. IaaS, as far as cloud development goes, means you’re simply renting IT infrastructure like virtual machines, networks, operating systems, and storage from your cloud provider, paying as much as you need as you go along.
Usually, IaaS is based on cloud orchestration technology, which is the automated configuration, coordination and operation of computer software and systems. Examples of cloud orchestration technology range from Open Nebula and Apache Cloudstack to Open Stack. This results in the establishment of a virtual machine and the physical host to start it.
With every resource that you do rent with this particular approach to cloud services, you have the luxury and convenience of renting it for only as long as you require it, mainly because each resource is available for rent as a standalone service component.
When you choose IaaS, a cloud development service—like Microsoft’s Azure, Google’s Cloud Platform, or Amazon Web Services (AWS)—will have to actually manage any infrastructure. You do, however, have to install, configure and then manage the software—things like apps, middleware and operating systems.
PaaS – Platform as a Service
You can think of platform as a service as a full cloud development environment. It’s essentially one level higher than IaaS because it comes with more than just the bare bones of pre-configured hardware, along with a hypervisor (computer hardware, software or firmware that operates a virtual machine) or virtual UI. PaaS goes farther and includes the entire operating ecosystem, such as the operating system (OS) and application services.
Therefore, the PaaS model is best suited for your organization if your business has already decided on a specific development environment for a specific application, yet you (for whatever reason) are married to the concept of a third-party maintaining the deployment platform for you.
A good way of thinking of PaaS is that it’s the middle ground between the very basics of IaaS and the complete sophistication of SaaS.
Whereas IaaS stops with only the infrastructure, PaaS comes with additional features that make it more robust, such as middleware, database management services, business intelligence (BI) services, and development tools. Because of this extra functionality, it supports the total web app lifecycle, which includes:
- Building
- Testing
- Deployment
- Management
- Updates
Since this approach is the middle ground between IaaS and full-on SaaS, it’s the solution for pragmatists. Your organization is able to avoid both the cost and the complications of purchasing and then managing software licenses, the fundamental middleware or application infrastructure, or the development tools. You manage any services and applications that you develop while the cloud provider usually handles everything else.
According to Statista, the PaaS market is only expected to grow to $8.6 billion by 2020, making it considerably smaller than the total market share of SaaS. However, from 2010 to 2020, the PaaS market nonetheless experienced massive growth, going from only $283 million in 2010 to its projection of $8.6 billion 10 years later.
SaaS – Software as a Service
Perhaps the most well-known and frequently mentioned cloud service, software as a service is a method of providing a service through the web, typically on demand and via a subscription model, that’s also centrally hosted. The software, as well as the underlying infrastructure, is managed by the provider, along with any maintenance issues like security patches and software updates, thus making it the most sophisticated type of cloud service.
By 2020, the SaaS market will swell to a lofty $76 billion. To say that a lot of companies are using SaaS…would be an understatement.
Let’s look at some concrete examples of brands you’re familiar with that use the SaaS model:
- Cisco WebEx
- Adobe Photoshop, Illustrator, XD, etc.
- Google Apps
- Salesforce
Probably the biggest benefit of this approach to services delivery is the convenience of not having to bother with installing and running your apps on your individual computers (as used to be the case) anymore—because the service is made available over the Internet.
The range of use cases that are served by SaaS is almost endless, with some prominent examples including:
- Accounting
- Customer relationship management (CRM)
- Virtualization
- Payroll software
- Messaging applications
- Office software
- Management software
- Content management (CM)
- Collaboration software
- Talent acquisition
- Human resource management (HRM)
- Invoicing
- Learning management systems
- Service desk management
- CAD (computer-aided design) software
Normally accessed by people using a thin client through a browser, SaaS delivery models are accessible to your organization by phone, tablet and desktop, for the ultimate in device compatibility and therefore convenience.
An example of the productivity enhancements achieved through cloud development, SaaS comes with a whole host of benefits for your business:
- You only pay for as much as you need (scaling up or down based on your usage levels)
- You enjoy strong security for your data
- You’ll never lose your data if your accessing computer or device fails
Serverless Computing
Serverless computing is interesting since it overlaps in scope with PaaS. One prominent feature of serverless computing is its great scalability and tendency for being event-based. This means that resources are only utilized when a certain trigger or function takes place.
In a nutshell, serverless computing is geared toward creating app functionality without the need to constantly manage any infrastructure or servers necessary for this app functionality. Instead it’s the cloud service provider that takes care of any setup, capacity planning, and, of course, server management.
That’s not to say that no servers are involved. “Serverless” is somewhat of a misnomer, but, in reality, servers are still part of the picture. It’s just that the aforementioned setup, capacity planning and management are issues you don’t have to worry about, as the cloud provider (and its servers) handles all of it.
Compare this with a traditional server environment. There, it’s the cloud developer that’s charged with both provisioning and configuring the servers, as well as installing the operating system and then constantly maintaining the infrastructure.
Some of the benefits of serverless computing include:
- The freedom to create apps
- The freedom to manage apps
- The freedom to deploy apps
These apps scale on demand.
Serverless architectures also have a number of uses, such as:
- Image manipulation
- Anything related to the Internet of Things (IoT) back ends
- Mobile and web apps
- Processing events from SaaS applications
With serverless computing, you only have to pay for either the length of time that you run your code or that you use the resources.
Cloud Services: Several Use Cases
Due to the growth of cloud development in the 21st century, your business now has a range of choices to help you run your operations more productively, smoothly and for less money. Before you move your operations to the cloud, make sure that you have a firm understanding of the different types of cloud services, so you can select the option that’s best for your organization.
There are pros and cons to IaaS, PaaS, SaaS and serverless computing. Take into consideration factors such as what industry you’re working in and how much money you want to spend.