Public Cloud Explained

IBM Technology
18 Mar 202009:08

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

00:00

πŸ›’ 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.

05:01

πŸ—οΈ 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

Public Cloud refers to a computing environment where resources are provided over the internet by third-party providers, allowing users to access and use these resources on-demand. In the video, it is likened to a supermarket, offering a variety of services and solutions that developers can choose from based on their needs. The concept is central to the video's theme, which discusses the benefits and components of public cloud services.

πŸ’‘Infrastructure-as-a-Service (IaaS)

IaaS is a model of cloud computing where an organization outsources the infrastructure to a third-party provider. The video mentions IaaS as one of the components of a public cloud, providing an example of the level of control and overhead associated with different computing solutions. It is part of the spectrum of services that make up the public cloud, offering the most control but also the most overhead.

πŸ’‘Platform-as-a-Service (PaaS)

PaaS is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. The video briefly mentions PaaS as part of the discussion on the different levels of cloud computing services available within the public cloud environment.

πŸ’‘Software-as-a-Service (SaaS)

SaaS is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is mentioned in the video as another layer of cloud computing services, where the focus is on the software itself rather than the underlying infrastructure. SaaS is integral to the public cloud's offerings, providing easy access to software applications over the internet.

πŸ’‘Control and Overhead

In the context of the video, control refers to the degree of management and customization available to the user, while overhead refers to the effort and complexity involved in maintaining and operating the service. The video uses these terms to describe the trade-offs between having more control over computing resources and the additional overhead that comes with it, such as in the case of bare metal services.

πŸ’‘Bare Metal

Bare metal computing refers to a cloud service that provides direct access to physical servers without the abstraction of a hypervisor. In the video, bare metal is presented as the service with the highest level of control, which also implies a higher level of overhead for maintenance and management, exemplifying the trade-off between control and ease of use in public cloud services.

πŸ’‘Virtual Private Cloud (VPC)

A VPC is a virtual network dedicated to an organization's needs within a public cloud. It provides a logically isolated section of the cloud infrastructure where the organization can launch resources in a secure and private environment. The video mentions VPC as a solution with less overhead than bare metal because of the automation it provides for spinning up machines.

πŸ’‘Containers

Containers are lightweight, standalone, and executable software packages that include everything needed to run a piece of software, including the code, runtime, system tools, libraries, and settings. The video discusses containers as a higher level of abstraction in the public cloud, managed by platforms like Kubernetes and OpenShift, allowing developers to focus on writing containerized applications.

πŸ’‘Kubernetes

Kubernetes is an open-source platform designed to automate deploying, scaling, and operating application containers across clusters of hosts. In the video, Kubernetes is presented as a solution that abstracts the underlying infrastructure, allowing developers to focus on writing and deploying containerized applications without worrying about the underlying machines.

πŸ’‘Cloud Foundry

Cloud Foundry is an open-source, multi-cloud application platform as a service (PaaS) that makes it easier to build, deploy, and scale applications. The video mentions Cloud Foundry as a service that allows developers to focus entirely on writing code, with the platform handling aspects like networking and scaling.

πŸ’‘Integrations and Services

Integrations and services in the context of the video refer to the additional capabilities and functionalities provided by the public cloud, such as storage, databases, and networking options. These integrations and services are essential for building out the requirements of applications, as illustrated by the video's discussion on sample application architecture and the use of SQL databases and cloud object storage.

πŸ’‘DevOps

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the systems development life cycle and provide continuous delivery of value to end users. The video discusses DevOps in the context of utilizing public cloud toolchains for deploying applications and managing infrastructure as code, emphasizing the importance of automation and collaboration in cloud environments.

πŸ’‘Infrastructure as Code (IaC)

Infrastructure as Code is the management of infrastructure using code and software development practices. The video mentions Terraform, an open-source tool for IaC, as a way to manage infrastructure within the public cloud, allowing for versioning, reusability, and automation of infrastructure setup and updates.

πŸ’‘Logging

Logging in the context of the video refers to the process of collecting, storing, and analyzing log files generated by applications and systems. A central logging service is discussed as a way to aggregate logs from various parts of the application architecture, providing a unified view for monitoring and debugging purposes.

πŸ’‘Networking and Security

Networking and security are critical aspects of cloud architecture, ensuring that data is transmitted securely and that access is controlled. The video discusses the use of private endpoints for sensitive data and public endpoints for less sensitive data, as well as the use of VPN gateways to secure communication between different parts of an application architecture.

πŸ’‘Artificial Intelligence (AI) and Machine Learning (ML)

AI and ML are advanced technologies that enable systems to learn from and make decisions based on data. The video briefly mentions these technologies as part of the broader capabilities of a public cloud, suggesting that they can be integrated into applications to provide intelligent functionalities and insights.

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

play00:00

Public cloud

play00:00

is an incredible resource for developers today.

play00:03

It brings the ability to provision resources on demand

play00:06

and only pay for what you use.

play00:08

This leads to greater developer efficiency

play00:11

while bringing down overall costs,

play00:13

but what exactly makes up a public cloud?

play00:17

Today we'll start with an analogy.

play00:19

Say you wanted to bake a pie from scratch,

play00:22

- well, how committed are you?

play00:24

Are you going to make your own flour?

play00:25

Are you going to grow your own fruits?

play00:27

Well, in this society we've generally accepted that

play00:31

for certain ingredients you'll go to a supermarket.

play00:34

A public cloud is a supermarket of sorts,

play00:37

it has multiple vendors and multiple solutions

play00:40

allowing you to pick and choose

play00:42

the right tools and solutions for your tastes.

play00:46

Now, to start my explanation of public cloud,

play00:49

I could start by talking about things like

play00:51

Infrastructure-as-a-Service,

play00:53

or maybe Platforms or Software-as-a-Service,

play00:56

more naturally known as PaaS, IaaS, and SaaS,

play01:00

but instead I'm going to focus on

play01:02

the overall control and overhead

play01:04

for the different computing solutions that are available

play01:07

in a public cloud.

play01:09

So, as a box gets bigger here

play01:13

there's more control

play01:15

but that comes with more overhead.

play01:19

Now, let's start with the biggest box,

play01:22

where we've got things like bare metal.

play01:28

Now with this you're going to have the most control

play01:31

but that also comes with

play01:32

a lot of overhead to actually maintain those instances.

play01:36

Let's take it a step higher.

play01:38

Here we've got things like VPC and VMware.

play01:44

So, with these solutions you're going to have a little less overhead

play01:48

because there's automation

play01:49

that allows you to spin up the actual machines.

play01:53

Going a step higher,

play01:54

we've got solutions like Kubernetes

play01:58

and OpenShift Container Platform.

play02:00

These will allow you to get

play02:03

higher abstraction over the actual worker nodes,

play02:06

the machines that power your actual cluster,

play02:09

are basically going to be managed by the platform

play02:12

and you can focus on writing containers.

play02:15

And going up higher on the list,

play02:17

we get to things like Cloud Foundry

play02:19

as well as functions

play02:21

which are going to allow you to focus,

play02:22

as a developer, entirely on the code,

play02:25

and let the platform take care of things like networking,

play02:27

and scaling, and that kind of thing.

play02:30

So, we've got our set of capabilities for computing,

play02:34

but that's not the only thing in a public cloud,

play02:36

you're going to have integrations and services

play02:39

that allow you to start spinning up

play02:41

capabilities that you need.

play02:43

So, today let's go over a sample application architecture

play02:47

for which we're going to use the public cloud.

play02:51

Now, let's say to start, we have something like

play02:55

a legacy application that relies on VMs

play02:58

or bare metal capabilities.

play02:59

So, we'll say over here that we've got VPC

play03:06

and/or bare metal.

play03:08

Now, on top of this we're going to spin up

play03:10

some containers, some machines, rather.

play03:13

Now, in those machines,

play03:15

let's say we have our legacy back-end application.

play03:19

So, we'll scale it out onto 3 different machines.

play03:24

So, there we go, we've got our back-end pieces.

play03:27

Now, that covers our back-end computing

play03:29

for our sample application.

play03:31

Now let's say for our front-end application

play03:33

we're taking a model where we have a front-end

play03:35

and a back-end for front-end

play03:36

which are based on containers.

play03:38

So, here it's a little bit of a different model,

play03:41

the worker nodes are going to be managed for us

play03:44

by the Kubernetes or OpenShift layer.

play03:47

So, here we'll have the Kubernetes

play03:50

and our OpenShift layer.

play03:53

Now on top of this we can start deploying our containers.

play03:56

So, let's say like we mentioned,

play03:58

we have that front-end as well as a back-end

play04:00

for that front-end application.

play04:06

And for each of those we want to scale those out,

play04:09

which Kubernetes or OpenShift can handle for us.

play04:16

There we go.

play04:16

So, these are the basics of our application architecture,

play04:19

we've got some back-end stuff,

play04:21

we've got some front-end stuff,

play04:22

and all of that is kind of running on some of our compute solutions.

play04:26

Let's actually start taking advantage

play04:28

of some of the cloud integrations that are possible

play04:30

to build out some of the other requirements we have here.

play04:34

First things first, storage.

play04:36

So, our front-end application

play04:37

- let's say we need something like,

play04:39

I don't know, a SQL database

play04:41

to actually store things like customer login data.

play04:47

So, our applications here, are going to use

play04:51

say, a SQL datastore.

play04:58

There we go.

play04:59

Now, for our back-end application,

play05:01

let's say we need something different,

play05:02

not a standard SQL store, but

play05:04

something like cloud object storage.

play05:07

So here, we'll sketch out

play05:12

a cloud object store instance

play05:16

which is going to be using ...

play05:18

which our back-end application will be using.

play05:21

So, we've talked about storage.

play05:23

Next, let's talk about DevOps and toolchain capabilities

play05:26

which we'll also take advantage of our public cloud for.

play05:29

Now, our code

play05:30

is probably split into two different repositories

play05:33

for this particular application that we've got here,

play05:35

our Kubernetes app.

play05:36

We'll say we've got a set of code

play05:38

for the actual containers and applications,

play05:41

and a separate set of code for the actual infrastructure,

play05:45

because we want to manage our infrastructure

play05:48

as code as well.

play05:49

Now, for this

play05:50

we want to take advantage of some toolchain capabilities.

play05:53

So for our app, we'll take advantage of a toolchain

play06:00

which will deploy our containers.

play06:06

Now, for our infrastructure,

play06:08

I'm going to take advantage of a similar toolchain,

play06:10

but in this case we want to use Terraform,

play06:16

which is an open source way of managing your infrastructure as code

play06:19

to actually manage the infrastructure.

play06:21

So, in this case,

play06:24

this will manage spinning up the worker nodes,

play06:27

as well as the Kubernetes layer.

play06:30

So, there we go,

play06:30

we've talked about so far:

play06:32

storage, as well as DevOps from our cloud.

play06:35

Next, let's talk about having a central,

play06:38

logging or monitoring solution for our tools.

play06:42

So, we've got our back-end application here,

play06:46

as well as our front-end application,

play06:48

and, for both of those,

play06:49

we want to stream to a central logging store.

play06:52

So, let's say I've got a logging service that I've created here

play06:58

and that's going to be

play06:59

our central source of logs

play07:01

for both our application running on Kubernetes,

play07:04

as well as our back-end application

play07:06

running within VMware, or bare metal, or VPC.

play07:11

So, there we go, we've talked about central logging now.

play07:14

Now, the next service that I want to take advantage of

play07:16

is thinking about things like networking and security.

play07:20

So, in this in this sample architecture,

play07:24

for our back-end piece,

play07:25

let's say we've got really private data

play07:27

we want to make sure that access to that back-end piece

play07:30

only happens over private endpoints,

play07:32

and for our front-end piece

play07:34

we don't care quite as much

play07:36

- we can access over the public endpoint.

play07:39

So, making kind of like a bi-section here,

play07:42

we'll say that this is entirely private,

play07:46

private endpoints only,

play07:48

and on this side

play07:49

we can access our data over public endpoints.

play07:52

Now this doesn't mean our data is insecure,

play07:55

we can still use

play07:56

something that allows us to bring our own keys

play07:59

to secure our data

play08:00

with our own certs and keys.

play08:03

So, both of these environments

play08:05

are going to be completely secured,

play08:09

- but by making this bi-section,

play08:11

how does our front-end app now start talking to

play08:14

some of those back-end capabilities that we've got?

play08:16

So again, we can tap into our cloud

play08:18

and take advantage of something like a VPN gateway.

play08:23

So here we go, we'll set up a gateway

play08:27

so that our front end and back-end

play08:29

can start talking to one another.

play08:31

Now this is just scratching the surface

play08:34

of the capabilities that are available in a public cloud.

play08:37

We haven't even begun to talk about some of the

play08:40

artificial intelligence, machine learning,

play08:43

data analytics and insights,

play08:45

and so many other services

play08:47

that are available in a generic public cloud.

play08:50

Thanks for watching this overview of public cloud.

play08:53

If you have any questions

play08:54

please drop us a line below.

play08:56

If you want to see more videos like this in the future,

play08:58

please "like" and subscribe

play09:00

- and don't forget,

play09:01

you can always get started on the cloud had no cost

play09:03

by signing up for a free IBM Cloud account.

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Public CloudDeveloper EfficiencyCost SavingsIaaSPaaSSaaSCloud ComputingInfrastructure AutomationContainer PlatformsDevOpsCloud Security