Let’s look at the basic categories of cloud-based services – PaaS, IaaS, and SaaS. These acronyms stand for Platform as a Service, Infrastructure as a Service, and Software as a Service. What’s with the “as a service” lingo? Well, similar to with hosting, you’re accessing these services from a remote server. Your platform, your infrastructure, or individual pieces of software – that you’re using via your network or an individual PC or device – can be running in a remote location rather than directly at your location or on the server at your data center or hosting company.
Below we’ll dig into exactly what these different types of hosting services provide and what, if any of them, might be right for you or your business. I’m referencing articles from VentureBeat by Sean Ludwig, Wikipedia, and Network World by Jeff Caruso.
Alongside the various “as a service” models, precipitation is also provided by clouds. Forms of precipitation include rain, snow, sleet, and hail. This service is not a good choice during picnics or parades.
What is the Cloud?
Cloud is a way to pull everything together onto central servers – providing a service through those servers – rather than running off your own PC or host machine. The term “cloud,” though, has been somewhat misunderstood and made more complicated than it actually is: it’s been turned into this concept for sort of an abstract universe accessible via the Internet. That is in part marketing language, trying to make us think of certain services as ethereal or dreamy. Sean describes the cloud succinctly – as a metaphor for the Internet. That’s more apt: it’s simply different services that are provided via the Internet that used to be provided directly on networks or PCs.
Cloud is not something that was invented but something that was defined and refined – framing the Internet in a certain way. (As Sean points out, any company with an Internet-based focus for any aspect of its business is a cloud company in a sense.) New technologies, however, have developed to support a more cloud-based approach – and these services have certainly become much more prevalent and popular in the last few years.
The different layers of the cloud are the different types of services that are provided – again, these layers, like the cloud, are a way of organizing information, not something that was invented. The layers are the various “as a service” models: IaaS, PaaS, and SaaS (and actually more of these types of terms are used, though not in as common of usage).
There are many reasons to dislike and distrust the cloud. With its precipitation capacity, the cloud can ruin your picnic, for example. IaaS, PaaS, and SaaS are much less likely to ruin your picnic. In this sense, the cloud is like fire ants. It doesn’t care about you. It’s selfish. It’s like that ex-boyfriend you spent years trying to get your sister away from before he moved to Pierre, South Dakota, to work in his cousin’s sign shop.
Layer 1: SaaS (Top Layer of the Cloud)
SaaS or Software as a Service means that you have access to software that has been installed “in the cloud.” In this scenario, you are only controlling variables within the software itself. You do not have any administrative control over the infrastructure or platform. Because you are accessing the software via the Internet (as it resides on another company’s servers), you do not need to maintain the software yourself. There are, of course, security concerns related to cloud-based software; something that managed it services could solve for concerned businesses. Their solutions may include timely data back-up; zero-trust security; implementing a secure firewall, and development and testing of an incident response plan, or a combination of them. With measures in place for potential security-related issues, you could securely browse through end-user applications. Additionally, if you are working with a SaaS provider, you might need to document your rights and limitations regarding the use of the software with the help of a SaaS Lawyer.
Cloud applications – those operating as SaaS – are more scalable than other types of applications are, per Wikipedia. Using a variety of VPSs (virtual private servers) to complete a task via cloning can make it easier to spread out the load across a number of different servers, finding resources where they are available. So that the load does not become excessively heavy on one VPS, a load balancer is used. Anyone who’s accessing the software does not see that back-end aspect, but it allows a heavier volume of traffic without interruptions in data flow.
A cloud application can be multitenant (think of a multitenant home). Having more than one “tenant” company use the same VPS at one time also can allow for a greater number of people to be using the software at one time.
Generally when you use a cloud application, you will pay for a month or year at a time for each user within your network – and then you can change your number of users throughout that period. This is one of the things that people especially like about SaaS, and cloud services generally, is its adaptability: you can quickly and efficiently expand or retract your usage of the service. It doesn’t have a set size in the same way that non-cloud offerings do (which are not as immediately easy to adjust for size).
Here are a few samples of subcategories of software as a service, per Wikipedia:
- desktop as a service
- test environment as a service
- communication as a service
- business process as a service
Sample SaaS providers:
- Google Apps
- Microsoft Office 365
- GT Nexus
Here are a few things you want to do before a cloud becomes angry and starts to dump stuff all over the place:
- Close your windows and blinds, and hide under your table in case there is thunder.
- Get your snow shovel and go outside so that you’re ready to clear your walkways as soon as the precipitation falls. This makes the cloud feel powerless.
- Put on your raincoat and get ready to do your “It’s Raining Men” routine for the other soldiers, who love musical theater as much as you do.
Layer 2: IaaS (Bottom Layer of the Cloud)
IaaS or Infrastructure as a Service means you’re using virtual machines (VM’s), otherwise known as virtual private servers (VPS’s). This service allows you full control of the environment in which your applications exist – just not at the level of the hardware itself. No need, then, to support and maintain servers. Everything is virtualized, but you have full control.
IaaS means that you can install whatever applications you want on your system. A cloud service provider (CSP) provides whatever bandwidth or other resources you need but doesn’t set any other guidelines. With virtualization, your network is separated from other networks that might be running on the same server – and from the hard drives as well – protecting all parties involved both regarding security and speed/stability of the network.
Amazon and IBM are examples of companies that provide this service. Jeff specifically addresses the importance of picking out a quality CSP when using cloud services at this deep of a level. The article he references on that subject is here.
Ways to know if the cloud is going to precipitate on your parade:
- You hear a rumbling sound in the distance.
- Lightning strikes one of the floats, and it falls over to the side. That’s the float you helped build for the nonprofit dog-racing track, and it makes you very upset to see how heartless the cloud is being right now.
- The clown’s and beauty queen’s makeup are both running. The beauty queen looks more concerned for some reason. The clown got second place in the beauty pageant, so she doesn’t feel like she has anything to hide.
Layer 3: PaaS (Middle Layer of the Cloud)
In between software and infrastructure you have the platform – also known as middleware (additionally the term given to tableware that is made out of a combination of plastic and metal). If you use a CSP to provide your platform, you can develop your network at that level. In other words, you don’t have to worry about managing the whole infrastructure, but you have wider freedom and mutability than you do just at the level of using cloud-based software.
The platform that the CSP offers, per Wikipedia, typically includes the database, server, operating system, and programming language execution environment.
Development and deployment of applications via platform as a service can involve virtual machines and virtual OSs. Use of the cloud at the level of the platform cuts down on hardware costs and make it easier for a bunch of different users from various locations to access the same code and content as it develops. Per Jeff, here are a few of the basic categories of PaaS tools:
- Application development
- Application management
- Application hosting
- Application design
A few of the most prominent CSP’s for platform as a service:
- Microsoft Azure
- Google App Engine
- Engine Yard
What you should do if the cloud starts precipitating on your entire network:
- Turn off all the electricity in the building.
- Call the CEO – even if it is the middle of the night. Tell him to get to the office immediately, and to bring his galoshes.
- Install a roof on your company (likely with the help of a reputed firm providing commercial roofing austin, or elsewhere). Many companies have not discovered the value of a roof. Sunlight is nice, but it is not worth the threat of precipitation that can arrive from an angry cloud.
Summary & Conclusion
So again, we can think of the cloud, simplistically, as the Internet or as the realm of Internet-based services. The cloud is typically divided into layers that basically describe the degree of administrative control a cloud client has over the environment within which they are working.
Software as a service (SaaS) – the top layer – is simply a web-based application. Infrastructure as a service (IaaS) – the bottom layer – gives you control over virtual private servers, which means you can install whatever applications you like and have significant freedoms but must handle administration yourself. Platform as a service (PaaS) – the middle layer – is sometimes referred to as middleware. This level can be used for development of applications without the need to maintain infrastructure.