Today I am looking at the cloud computing architecture!
I have recently started researching the specifics of cloud computing/cloud architecture and came across some interesting services that we use a lot.
While researching this topic I did discover people mention of "Desktop as a service (DaaS)" and "Functions as a Service (FaaS)," but this post will be me looking at the three main ones.
Cloud Architecture refers to the various components engineered to leverage the power of cloud resources to solve business problems and defines the relationships between said components.(1)
Cloud Architecture is made up of 3 main services
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
SaaS is the consumer-facing apps and software where the finished product is seen through mobile applications and enterprise level business solutions.
With SaaS, software is hosted and maintained in the cloud and companies don't have to install any software locally. SaaS enables companies to purchase software, hosted by the provider, on a per monthly basis without having to worry about updating that software, maintaining that software, or fixing any of the bugs in that software.
- Google G Suite
- Microsoft Office 365
PaaS is built on top of the IaaS layer as it requires RAM, bandwidth, CPU to operate. It is the secondary layer of cloud computing where the platform provides developers the tools and environments needed to build programs, applications, databases, and software, equivalent to middleware services.
- Google App Engine
The infrastructure is a traditional hardware in a data center such as servers, networks, storage devices, etc. running in the cloud. It enables companies to lease physical servers packed with computing resources like RAM, bandwidth, CPU and IP, hosted in a remote data center and is available to customers on a pay per usage basis.
- AWS (Amazon Web Services)
- Google Compute
- Microsoft Azure
- Local hard drive is free to take on heavier computing tasks
- The provider host the Cloud-based software.
- The provider updates, maintains, and rolls out new versions of the software to consumers. Thus, consumers no longer have to purchase every new release of the software.
- Low monthly cost. Companies offer cloud-based solutions at a low monthly cost model of payments.
For example, "the SaaS model of applications not only enables businesses to save more money on needed applications by cutting down on per seat pricing and the upkeep, but it also allows businesses to gain access to continually updated application versions without ever having to lift a finger."(2)