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.
What is 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.
Understanding The Cloud
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
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.”
- Application Layer - the software you use..chrome, Word
- Operating System Layer - Windows, MacOS, virtual machines
- Hardware Layer - CPU, Hard drive, Memory - tangible elements inside your computer
The compute stack. (Graphic courtesy of Slalom.)
The Shared Responsibility Model
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-a-Service
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.
Why move or build on the cloud?
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.
6 Benefits Of The Cloud
You’ve probably already identified some of the benefits of using the cloud, but here are six benefits that Slalom identifies:
- Cost reduction
As mentioned above, there is no upfront capital cost and companies pay for the capacity they use which helps them right-size their infrastructure - Redundancy/Availability
With multiple data centers across the US and the world, companies can keep their data in multiple locations which can minimize the risk of downtime if a data center goes down. Even if your company doesn’t have offices globally, you can leverage the CSPs global-scale infrastructure. - Innovation
CSPs are always innovating. With access to advance technologies like AI (artificial intelligence) and ML (machine learning), companies can experiment with new technologies without the risk associated with buying new hardware/software. - Security
CSPs provide a robust set of security services “out of the box." - Scalability
CSPs allow for provisioning additional computing horsepower to quickly respond to spikes in demand and then reduce capacity when demand slows. This keeps companies up and running and they can pay for additional capacity only when they need it. This adaptability allows companies to scale up very quickly. This was critical at the beginning of the pandemic when everyone started to work remotely. As employees return to the office, companies can scale back down. - Automation
CSPs allow companies to automate scaling up and scaling down and many other areas, such as using code to automate capitalizing on the other value propositions and easily automate day-to-day operations. This allows employees to refocus their energy on creating new business value versus maintenance.
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.
Want to learn to build applications on the cloud?
Check out our Software Engineering Program with Java/AWS Specialization.