The cloud is becoming a major part of software development and IT infrastructure. But it can be hard to understand something you can’t see. So earlier this year, the Nashville team from Slalom stopped by to help our students understand the cloud. Brian Baker, Michael Brinkman, and Celine Padly, walked us through the core concepts of the cloud.
There are many definitions for the cloud. AWS defines it as “the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing.” While Microsoft defines it as a “vast network of remote servers around the globe which are hooked together and meant to operate as a single ecosystem.” But essentially it comes down to using the internet to access other companies’ computers, storage, and networking to deliver content or a service at any time and anywhere.
Most of the time when someone is talking about the cloud, they are referring to the public cloud providers, but there are also private clouds. Most private clouds exist due to security constraints. One example of a private cloud is the federal government who has central data centers that are shared by multiple departments.
There are three major public cloud service providers (CSP), Amazon’s AWS, Microsoft’s Azure, and Google Cloud Platform (GCP). And whether or not you recognize these names, you interact with their cloud service everyday! For example: Netflix, Lyft, and Amazon.com use AWS. YouTube runs on GCP. And Uber uses multiple cloud services.
Now that you have a basic understanding of the cloud, let’s peel back the layers to help us further grasp some important concepts of the cloud, including the compute stack, the shared responsibility model, and what all the as-a-service acronyms really mean.
The compute stack is “the core components of computing “stacked” or layered to show how one builds on the other to achieve what we see as computing value.”
The compute stack. (Graphic courtesy of Slalom.)
CSPs take responsibility for one or more layers of the compute stack, depending on which service(s) a customer chooses. Customers are then responsible for the remaining compute stack layers that are not a part of the services they selected with their CSP.
This is where shared responsibility comes in. To keep all 3 layers up and running, it takes both the CSP and the customer, unless the CSP is responsible for all 3 layers. While shared responsibility is primarily a security-focused concept, it also applies to maintenance and support.
As it relates to the compute stack, there are three as-a-service options. IaaS, PaaS, and the one most have heard, SaaS, pronounced sass.
IaaS - Infrastructure as a Service
With IaaS, the CSP only manages the hardware layer of the compute stack. The customer maintains and supports the operating system and application layer.
PaaS - Provider as a Service
With PaaS, the CSP maintains the hardware and the operating system. The customer is responsible for the application and data.
SaaS - Software as a Service
With SaaS, the CSP maintains everything. The customer uses the application without having to manage anything other than their desired outcomes.
Cloud Migration Versus Cloud Native
A couple of terms you’ll hear when talking about the cloud are cloud migration and cloud native.
When a company starts using the cloud, it’s likely that they will have existing applications and/or infrastructure that they wish to move from local or on-site operation to the cloud. This is cloud migration. It consists of moving all or part of the on-site infrastructure to the cloud and can include applications, databases, servers, and networking equipment.
Applications built from scratch to work on the cloud are called cloud native applications. They are built to take advantage of the scale, elasticity, resiliency, and flexibility that the cloud provides.
After graduating from our Web Development Bootcamp, some graduates will migrate hosting of their capstone projects to AWS or another CSP. This is a migration. In our new Software Engineering program, our students will learn to build cloud native applications using AWS.
To help understand why a company would move to the cloud, let’s look at how the cloud stacks up to more traditional infrastructure that companies were restricted to before the cloud.
Traditional infrastructure requires companies to maintain their own data center with equipment on-site and the personnel to maintain them. This requires a huge upfront investment and has a fixed cost, regardless of how much storage the company is using. They need to always maintain enough storage to accommodate their peak usage. Many companies maintained multiple data centers for back-up. Employees have to be on-site in the office to access the data via the internal network or use a VPN.
The cloud can move everything described above to the internet. Instead of individual companies maintaining data centers, the CSPs maintain data centers across the U.S. and the globe. Using a CSP means no upfront expenses like a warehouse, servers, maintenance, operation, and administration of the equipment. Companies can scale their usage up or down as needed and move faster in response to their customers. Additionally, CSPs bill based on usage, similar to your water or electric bill at home.
You’ve probably already identified some of the benefits of using the cloud, but here are six benefits that Slalom identifies:
So the next time you watch a show on Netflix, book a car with Lyft, or shop on Amazon.com, remember that those companies are using the cloud to scale as needed, provide redundancies to minimize downtime, and automate processes so they can focus on innovation and providing business value.
Thanks again to Brian, Michael, and Celine from Slalom for introducing our students to the cloud.
Check out our Software Engineering Program with Java/AWS Specialization.