What is the Cloud?
The term The Cloud broadly refers to data-centers that house various computer systems configured for different use cases. Providing a specific definition depends on the audience.
The average individual’s interactions with The Cloud are typically through the apps on their internet-connected devices. Any data that is not stored on one of your devices, but is still available to you, would be stored in a data center (same for any data that is backed up in the cloud). If you live in Europe, your access to this data would be governed by GDPR. There is no federal equivalent of GDPR in The United States, but some states, like California (with its CCPA), have enacted equivalent laws.
Apps Owned by the Largest Tech Companies
Companies like Amazon, Apple, Google, Microsoft, etc… have their own data centers, and your data is stored directly in them.
Apps Owned by Other Companies
- Other companies could potentially have their own smaller data centers, or machines running on-premise in a room in an office or warehouse.
- Another possibility is the company stores your data, as well as the compute that runs the back-end of their application, on traditional hosting services that were popular in the 90s and 2000s. This option could technically be referred to as The Cloud, but it’s likely not using modern infrastructure where the number of compute resources serving the traffic can easily adjust to serve it.
- The rapidly growing trend, however, is companies (small and large) deploying their applications on Cloud Platforms, like AWS. More details on this below.
New Developers and Business Owners
As a new developer or business owner, The Cloud should refer to any Cloud Platform offered by either AWS, Azure, GCP, etc… These cloud platforms allow users to rent web-connectable computing resources (either per-second or per-usage). Furthermore, in the vast majority of use cases, renting these computing resources is cheaper than owning. This is due to the maintenance cost that is associated with being responsible for running the hardware and software.
The types of computing resources (often referred to simply as products) offered by Cloud Platforms can be broken down into the following categories:
IAAS products are the basic building blocks of Cloud Platforms. They represent physical (or virtual) computing resources with minimal pre-configured software. In AWS, a great example of an IAAS product is EC2. In fact, most AWS products that provide compute are built on top of EC2 internally. EC2 comes in many forms and prices, but its default offering is as a virtual machine that can be connected to various other AWS components.
PAAS products are a layer on top of IAAS products. They combine one or more IAAS products with pre-configured software to create a single higher-level product. In AWS, a great example of a PAAS product is Elastic Beanstalk.
SAAS products are fully functioning applications that require minimal or zero developer time to integrate into a business. Their billing structure is either pay-per-usage, pay-per-period-of-time, pay-per-customer, or some combination of these. In AWS, examples of SAAS products are: Chime, Connect, or WorkDocs.
FAAS products (also known as serverless computing) take a piece of code and run it on-demand. These functions can be connected to the web just like any other compute resource. Their billing is per-request and this makes them tremendously economical for low-traffic use cases. AWS pioneered this concept and their docs for AWS Lambda do a great job of covering the technical details, which are outside the scope of this blog post (given the ultra-novice title).
Brief note on cost comparison of The Cloud vs On-Premise:
Comparing the cost of operating in The Cloud vs On-Premise is difficult because of the infinite variables in: use cases, business trajectory over time, business pivots, needs of availability, adherence to best practices (in various sub-fields, like security), and more. This Scientific Research paper attempts to evaluate the cost difference over time. However, if one looks closely at the baseline numbers that underpin all the calculations, you find that they’re based on assumptions of the aforementioned variables. Furthermore, the evaluation lacks a comparison of the staffing costs for both options. One of the top advantages of The Cloud over On-Premise is its elasticity and flexibility in regard to scale and use cases.
This post covers a good breadth of scope around the term The Cloud for a novice who searches for its definition. However, any further depth requires research into the documentation of the Cloud Platform.
Sam Malayek works in Vancouver for Amazon Web Services, and uses this space to fill in a few gaps. Opinions are his own.