Public Cloud Explained
Summary
TLDRThis video script explores the concept of public cloud as a versatile resource for developers, emphasizing its on-demand resource provisioning and cost efficiency. It uses the supermarket analogy to illustrate the variety of services available, from Infrastructure-as-a-Service (IaaS) to Software-as-a-Service (SaaS). The script delves into control and overhead aspects of different computing solutions, such as bare metal, VPC, VMware, Kubernetes, and Cloud Foundry, highlighting their abstraction levels and management responsibilities. It also covers application architecture, integrating cloud services like storage, DevOps toolchains, logging, monitoring, networking, and security, and touches on advanced capabilities like AI, machine learning, and data analytics, concluding with an invitation to explore IBM Cloud.
Takeaways
- ποΈ Public cloud is likened to a supermarket, offering a variety of resources and solutions for developers to choose from based on their needs.
- π» The script introduces the concept of Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS) as part of the public cloud offerings.
- π§ Public cloud resources come with varying levels of control and overhead, with bare metal offering the most control but also the highest maintenance overhead.
- π Solutions like VPC and VMware reduce overhead by automating the process of setting up machines, compared to bare metal.
- π¨ Kubernetes and OpenShift provide higher abstraction levels, managing the underlying machines and allowing developers to focus on containerization.
- π Cloud platforms like Cloud Foundry and serverless functions free developers from managing infrastructure, allowing them to concentrate solely on writing code.
- ποΈ The script outlines a sample application architecture using a combination of legacy VMs, bare metal, and containerized applications managed by Kubernetes or OpenShift.
- ποΈ Public cloud also offers integrations and services for storage solutions, such as SQL databases for the front-end and cloud object storage for the back-end.
- π§ The importance of DevOps and toolchain capabilities in managing code repositories and infrastructure as code is highlighted.
- π Security and networking are critical in the public cloud, with the script discussing private endpoints for sensitive data and the use of VPN gateways for secure communication between front-end and back-end applications.
- π The script mentions the potential for central logging and monitoring solutions to streamline the management of applications and infrastructure.
- π The public cloud offers a vast array of additional services beyond the basics, including AI, machine learning, data analytics, and insights.
Q & A
What is a public cloud and what are its main benefits?
-A public cloud is a resource for developers that allows them to provision resources on demand and pay only for what they use. Its main benefits include greater developer efficiency and reduced overall costs.
What analogy is used to explain the concept of a public cloud?
-The public cloud is compared to a supermarket that offers multiple vendors and solutions, allowing users to pick and choose the right tools and solutions they need.
What are IaaS, PaaS, and SaaS in the context of public cloud services?
-IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service), and SaaS (Software-as-a-Service) are different levels of services offered by public clouds, each providing varying degrees of control and overhead for computing solutions.
What is the significance of 'control and overhead' in computing solutions within a public cloud?
-As the size of the computing solution 'box' increases, the level of control over the solution increases, but so does the overhead required to maintain it.
What is the role of bare metal in a public cloud environment?
-Bare metal provides the highest level of control for users but also requires significant overhead to maintain the instances.
How do Kubernetes and OpenShift contribute to managing cloud resources?
-Kubernetes and OpenShift provide higher abstraction over the worker nodes, managing the underlying machines, allowing developers to focus on writing and deploying containers.
What types of storage solutions are mentioned for different parts of an application in a public cloud?
-The script mentions using SQL databases for front-end applications to store customer login data and cloud object storage for back-end applications for other data storage needs.
How can DevOps and toolchain capabilities be leveraged in a public cloud?
-DevOps and toolchain capabilities in a public cloud can be used to deploy application containers and manage infrastructure as code, for example, using tools like Terraform.
What is the purpose of having a central logging and monitoring solution in a public cloud?
-A central logging and monitoring solution provides a single source of logs for applications running on Kubernetes as well as back-end applications, ensuring centralized monitoring and troubleshooting.
How is networking and security managed in a public cloud environment?
-Networking and security can be managed by using private endpoints for sensitive data and public endpoints for less sensitive data. VPN gateways can be used to connect front-end and back-end systems securely.
What additional services can a public cloud offer beyond computing and storage?
-Public clouds offer services for artificial intelligence, machine learning, data analytics, and more, providing a wide range of capabilities beyond just computing and storage.
What is the importance of infrastructure as code in a public cloud setup?
-Infrastructure as code allows for the automated and consistent management of cloud resources, improving efficiency, and reducing the risk of manual errors.
How can developers start using a public cloud without incurring initial costs?
-Developers can start using a public cloud by signing up for a free account, such as the free IBM Cloud account, which provides no-cost access to cloud resources.
What is the benefit of using containers in a public cloud environment?
-Containers allow for greater flexibility and scalability, enabling developers to focus on application code while the platform manages underlying infrastructure and scaling.
How does the public cloud improve developer efficiency?
-The public cloud improves developer efficiency by providing on-demand resources, automated infrastructure management, and a wide range of integrated services, allowing developers to focus more on coding and less on maintenance.
Outlines
π Public Cloud as a Supermarket of Computing Resources
The first paragraph introduces the concept of public cloud as a modern resource for developers, emphasizing its on-demand resource provisioning and pay-as-you-go pricing model which enhances efficiency and reduces costs. It uses the analogy of a supermarket to explain the variety of vendors and solutions available in the public cloud. The paragraph then delves into the different levels of control and overhead associated with various computing solutions, starting from bare metal with the highest control and overhead to higher-level abstractions like Kubernetes and Cloud Foundry, which offer less control but reduced overhead by managing infrastructure and allowing developers to focus on code. The paragraph also touches on the integrations and services available in a public cloud, setting the stage for a sample application architecture discussion.
ποΈ Building a Sample Application Architecture with Public Cloud Services
The second paragraph extends the discussion to constructing a sample application architecture using public cloud services. It starts by considering the back-end of a legacy application that might rely on VMs or bare metal, represented by VPC or bare metal instances. The paragraph then moves on to describe the deployment of containers for the front-end application, managed by Kubernetes or OpenShift, which handle scaling and allow developers to focus on writing containerized applications. It also covers the integration of storage solutions, such as SQL databases for the front-end and cloud object storage for the back-end. The paragraph further explores DevOps and toolchain capabilities, advocating for infrastructure as code management with tools like Terraform. It concludes with a discussion on central logging, networking, security, and the use of VPN gateways to enable secure communication between the front-end and back-end applications within the cloud environment. The paragraph wraps up by highlighting the vast array of additional services available in the public cloud, such as AI, machine learning, data analytics, and insights, and ends with an invitation for viewers to engage with the content and explore the IBM Cloud platform.
Mindmap
Keywords
π‘Public Cloud
π‘Infrastructure-as-a-Service (IaaS)
π‘Platform-as-a-Service (PaaS)
π‘Software-as-a-Service (SaaS)
π‘Control and Overhead
π‘Bare Metal
π‘Virtual Private Cloud (VPC)
π‘Containers
π‘Kubernetes
π‘Cloud Foundry
π‘Integrations and Services
π‘DevOps
π‘Infrastructure as Code (IaC)
π‘Logging
π‘Networking and Security
π‘Artificial Intelligence (AI) and Machine Learning (ML)
Highlights
Public cloud offers on-demand resource provisioning and pay-as-you-go pricing, enhancing developer efficiency and reducing costs.
An analogy comparing public cloud to a supermarket with multiple vendors and solutions for developers to choose from.
Introduction to Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).
The trade-off between control and overhead in public cloud computing solutions.
Explanation of bare metal services offering the highest control with significant maintenance overhead.
VPC and VMware solutions reduce overhead through automation for spinning up machines.
Kubernetes and OpenShift Container Platform abstract worker nodes, allowing developers to focus on container development.
Cloud Foundry and serverless functions enable developers to concentrate on code, with the platform managing infrastructure.
Public cloud provides integrations and services for spinning up required capabilities.
Sample application architecture using a mix of legacy VMs, bare metal, and containerized applications.
Scaling of legacy back-end applications across multiple machines for improved performance.
Front-end applications using a containerized model with Kubernetes or OpenShift for worker node management.
Utilization of cloud integrations for storage solutions, including SQL databases and cloud object storage.
DevOps and toolchain capabilities for deploying containers and managing infrastructure as code.
Central logging solutions for aggregating logs from both Kubernetes and traditional back-end applications.
Networking and security considerations, including private endpoints and the use of VPN gateways for secure communication.
Public cloud's extensive capabilities beyond basic computing, such as AI, ML, data analytics, and insights.
Invitation for viewers to ask questions, like, subscribe, and start exploring the cloud with a free IBM Cloud account.
Transcripts
Public cloud
is an incredible resource for developers today.
It brings the ability to provision resources on demand
and only pay for what you use.
This leads to greater developer efficiency
while bringing down overall costs,
but what exactly makes up a public cloud?
Today we'll start with an analogy.
Say you wanted to bake a pie from scratch,
- well, how committed are you?
Are you going to make your own flour?
Are you going to grow your own fruits?
Well, in this society we've generally accepted that
for certain ingredients you'll go to a supermarket.
A public cloud is a supermarket of sorts,
it has multiple vendors and multiple solutions
allowing you to pick and choose
the right tools and solutions for your tastes.
Now, to start my explanation of public cloud,
I could start by talking about things like
Infrastructure-as-a-Service,
or maybe Platforms or Software-as-a-Service,
more naturally known as PaaS, IaaS, and SaaS,
but instead I'm going to focus on
the overall control and overhead
for the different computing solutions that are available
in a public cloud.
So, as a box gets bigger here
there's more control
but that comes with more overhead.
Now, let's start with the biggest box,
where we've got things like bare metal.
Now with this you're going to have the most control
but that also comes with
a lot of overhead to actually maintain those instances.
Let's take it a step higher.
Here we've got things like VPC and VMware.
So, with these solutions you're going to have a little less overhead
because there's automation
that allows you to spin up the actual machines.
Going a step higher,
we've got solutions like Kubernetes
and OpenShift Container Platform.
These will allow you to get
higher abstraction over the actual worker nodes,
the machines that power your actual cluster,
are basically going to be managed by the platform
and you can focus on writing containers.
And going up higher on the list,
we get to things like Cloud Foundry
as well as functions
which are going to allow you to focus,
as a developer, entirely on the code,
and let the platform take care of things like networking,
and scaling, and that kind of thing.
So, we've got our set of capabilities for computing,
but that's not the only thing in a public cloud,
you're going to have integrations and services
that allow you to start spinning up
capabilities that you need.
So, today let's go over a sample application architecture
for which we're going to use the public cloud.
Now, let's say to start, we have something like
a legacy application that relies on VMs
or bare metal capabilities.
So, we'll say over here that we've got VPC
and/or bare metal.
Now, on top of this we're going to spin up
some containers, some machines, rather.
Now, in those machines,
let's say we have our legacy back-end application.
So, we'll scale it out onto 3 different machines.
So, there we go, we've got our back-end pieces.
Now, that covers our back-end computing
for our sample application.
Now let's say for our front-end application
we're taking a model where we have a front-end
and a back-end for front-end
which are based on containers.
So, here it's a little bit of a different model,
the worker nodes are going to be managed for us
by the Kubernetes or OpenShift layer.
So, here we'll have the Kubernetes
and our OpenShift layer.
Now on top of this we can start deploying our containers.
So, let's say like we mentioned,
we have that front-end as well as a back-end
for that front-end application.
And for each of those we want to scale those out,
which Kubernetes or OpenShift can handle for us.
There we go.
So, these are the basics of our application architecture,
we've got some back-end stuff,
we've got some front-end stuff,
and all of that is kind of running on some of our compute solutions.
Let's actually start taking advantage
of some of the cloud integrations that are possible
to build out some of the other requirements we have here.
First things first, storage.
So, our front-end application
- let's say we need something like,
I don't know, a SQL database
to actually store things like customer login data.
So, our applications here, are going to use
say, a SQL datastore.
There we go.
Now, for our back-end application,
let's say we need something different,
not a standard SQL store, but
something like cloud object storage.
So here, we'll sketch out
a cloud object store instance
which is going to be using ...
which our back-end application will be using.
So, we've talked about storage.
Next, let's talk about DevOps and toolchain capabilities
which we'll also take advantage of our public cloud for.
Now, our code
is probably split into two different repositories
for this particular application that we've got here,
our Kubernetes app.
We'll say we've got a set of code
for the actual containers and applications,
and a separate set of code for the actual infrastructure,
because we want to manage our infrastructure
as code as well.
Now, for this
we want to take advantage of some toolchain capabilities.
So for our app, we'll take advantage of a toolchain
which will deploy our containers.
Now, for our infrastructure,
I'm going to take advantage of a similar toolchain,
but in this case we want to use Terraform,
which is an open source way of managing your infrastructure as code
to actually manage the infrastructure.
So, in this case,
this will manage spinning up the worker nodes,
as well as the Kubernetes layer.
So, there we go,
we've talked about so far:
storage, as well as DevOps from our cloud.
Next, let's talk about having a central,
logging or monitoring solution for our tools.
So, we've got our back-end application here,
as well as our front-end application,
and, for both of those,
we want to stream to a central logging store.
So, let's say I've got a logging service that I've created here
and that's going to be
our central source of logs
for both our application running on Kubernetes,
as well as our back-end application
running within VMware, or bare metal, or VPC.
So, there we go, we've talked about central logging now.
Now, the next service that I want to take advantage of
is thinking about things like networking and security.
So, in this in this sample architecture,
for our back-end piece,
let's say we've got really private data
we want to make sure that access to that back-end piece
only happens over private endpoints,
and for our front-end piece
we don't care quite as much
- we can access over the public endpoint.
So, making kind of like a bi-section here,
we'll say that this is entirely private,
private endpoints only,
and on this side
we can access our data over public endpoints.
Now this doesn't mean our data is insecure,
we can still use
something that allows us to bring our own keys
to secure our data
with our own certs and keys.
So, both of these environments
are going to be completely secured,
- but by making this bi-section,
how does our front-end app now start talking to
some of those back-end capabilities that we've got?
So again, we can tap into our cloud
and take advantage of something like a VPN gateway.
So here we go, we'll set up a gateway
so that our front end and back-end
can start talking to one another.
Now this is just scratching the surface
of the capabilities that are available in a public cloud.
We haven't even begun to talk about some of the
artificial intelligence, machine learning,
data analytics and insights,
and so many other services
that are available in a generic public cloud.
Thanks for watching this overview of public cloud.
If you have any questions
please drop us a line below.
If you want to see more videos like this in the future,
please "like" and subscribe
- and don't forget,
you can always get started on the cloud had no cost
by signing up for a free IBM Cloud account.
Browse More Related Video
5.0 / 5 (0 votes)