In this article, I’m going to walk you through the big picture of cloud computing Let’s go deep to understand the three main types of cloud, Private Clouds, Cloud Platforms, and Cloud Applications.
The rise of the cloud is unquestionably one of the most important changes in the history of computing. No matter what your job is, if you work in information technology even if you’re not an IT professional, cloud computing is impacting you and our lives.
Table of contents
- What is cloud computing?
- Using cloud computing : Cloud Applications (Software as a Service)
- Implementing cloud applications or SaaS: Multi-tenancy
- Illustrating cloud applications (SaaS): Some Examples
- Evaluating cloud applications (SaaS): Users
- The SaaS benefits for users of software:
- The SaaS risks for users of software :
- Evaluating SaaS: Software Vendors
- The SaaS benefits for software vendors :
- The SaaS risks for software vendors :
- The Impact of SaaS
- The main points of SaaS applications
- Using cloud computing : Cloud Platforms
- What cloud platforms offer over traditional hosting ?
- Evaluating Cloud Platforms
- Cloud Platforms Benefits :
- Cloud Platforms Risks:
- Cloud Platform Technologies
- Cloud Platforms Technologies and Major Vendors
- Amazon Web Services: Technologies
- Microsoft Azure: Technologies
- Google Cloud Platform: Technologies
- Google Cloud Platform: Things to Know
- Other Cloud Platforms
- Low-code Platforms
- Cloud Platform Pricing
- Multicloud : Using More Than One Cloud Platform
- The Impact of Cloud Platforms
- Using cloud computing: Private Clouds
- the big picture of cloud computing: Summary
- Do you want to read more on cloud computing? Check out these articles.
What is cloud computing?
To start, let’s look at the world without cloud computing. An organization that’s not using cloud computing looks something like this:
It’s got users and an on‑premises data center, giving the organization its own compute, storage, and networking facilities. In this data center, they’re running applications. Sometimes the applications run right on the hardware. But more often today, they’re running on virtual machines and VMs. This is the classic world of enterprise computing. This is how people have done computing since the dawn of the computing era.
But more and more, organizations don’t look like this. The rise of cloud computing brings big changes. It’s useful to think about cloud computing in three big categories, three big ways that cloud computing can change the world.
Categorizing cloud computing
1 – Cloud Applications :
One of them is cloud applications, commonly called Software as a Service, or SaaS, which means running applications at data centers owned by somebody else, accessible across the internet.
2 – Cloud Platforms
The second category is cloud platforms, which include technologies for running applications, storing data, and more, again, running in data centers owned by somebody else, accessible across the internet.
3 – Private Clouds
And the third category, in most people’s view, is private clouds. The general idea of private clouds is to take cloud platform technologies and run them in on‑premises datacenters. As we’ll discuss later though, there are, in fact, various interpretations of what private cloud really means.
4 – hybrid cloud
And one more important idea, a term you hear a lot today, is a hybrid cloud. The core notion is that you can combine cloud platforms with private cloud technology to create a hybrid of both. I’ll say more about this later when we talk about private clouds.
An organization using Cloud Computing:
Here’s how these three things (Cloud Applications, Cloud Platforms, Private Clouds) change the traditional on‑premises world. In the cloud era, we’ll still see at least some organizations running applications on‑premises. But we also, more and more, see organizations using SaaS applications accessed across the internet and running at some service provider.
These cloud applications are running on compute, storage, and networking owned by somebody else. We also see organizations using cloud platforms, which provide VMs along with other services to build applications, work with data, and more. And finally, in at least some organizations, we’re seeing the use of private clouds, which in the main are technologies from public cloud platforms that are brought in‑house.
In this article, I’m going to talk about all three of these aspects of cloud computing, cloud applications, SaaS, cloud platforms, and private cloud. They’re all important, so you need to know something about all of them. Ready to go? Let’s get started.
Using cloud computing : Cloud Applications (Software as a Service)
Most organizations rely on some packaged software, applications they buy from somebody else. Increasingly though, that packaged software is running in the cloud. Rather than running software on‑premises in their own data centers, organizations are using Software as a Service.
In the diagram that I’m using to organize this article, cloud applications fit right here:
But the picture raises an obvious question, doesn’t it? That question is, well, what’s the big deal? The idea of having applications that run remotely at some service provider that you access from your organization is hardly new. It’s been around forever.
People have run email servers and SharePoint and all sorts of business applications at hosters and elsewhere, so what’s the big deal? How is SaaS different? Well, there are a few answers, but the most important is that traditionally when a hoster provides an application, they run an instance of the complete application just for your organization. In SaaS, that’s not typical. SaaS applications are generally multi‑tenant.
Implementing cloud applications or SaaS: Multi-tenancy
Now that’s a fancy word, but, in fact, all multi‑tenant really means is shared. It means that a single application is being shared by multiple customers, multiple organizations. Each of these customers has its own data, and it’s the responsibility of the application to keep that data separate and secure. Not every cloud application uses this approach, but it’s fair to say that the idea of multi‑tenancy is central to the modern notion of SaaS.
Illustrating cloud applications (SaaS): Some Examples
Lots of different vendors provide SaaS offerings across various areas. I’m going to list a few of them, looking at CRM, customer relationship management, ERP, which is enterprise resource planning, email, storage, and productivity.
Most folks would agree I think that Salesforce CRM is really the beginning of modern SaaS. It was Salesforce who showed us that SaaS worked as both a technology and a business. Their CRM offering remains the flagship SaaS technology today, but they’re hardly alone.
Traditional package software vendors are also offering SaaS for CRM and many other things.
Oracle, for instance, offers CX Cloud for CRM, while for ERP they offer Cloud ERP. Other traditional package software vendors are also here, such as SAP, which has SaaS offerings for CRM and ERP.
Firms like Microsoft are in this market in a big way. Microsoft’s Dynamics 365 offers CRM and ERP, and they also have a broad SaaS offering called Microsoft 365, which has solutions for email with Exchange, storage with OneDrive, productivity with Office, and others that I’m not showing here.
Google is a big SaaS provider too. They offer Google Workspace, which includes the very popular Gmail, along with Google Drive for storage, Google Docs for productivity, and other solutions.
Apple provides consumer‑oriented solutions for email and storage with iCloud, while Dropbox focuses on storage. And there are lots more. This is just a sample of what is, in fact, a very large set of vendors offering SaaS solutions across a broad range of markets.
Evaluating cloud applications (SaaS): Users
1- Faster deployment: because no local installation is required
2- Usage-based pricing: letting you pay only for what you use
3- less financial risk: with lower up-front cost and free trials
4- Reduced need for on-premises resources: such as servers and IT staff
5- Easier upgrades: with no on-premises software to update
1- Requires trusting a SaaS provider: for availability and security
2- Can raise legal/regulatory concerns: with storing data outside customer premises
3- Can limit customization: if customers share a multi-tenant application
4- Can be harder to integrate: with on-premises applications
5- Can have lower performance: than on-premises applications
Like pretty much everything, Cloud computing has benefits and also cloud computing has advantages and disadvantages. From the point of view of a user of SaaS, there are benefits and there are risks to adopting this approach.
The SaaS benefits for users of software:
The benefits include these:
1- Faster deployment
You can deploy the application faster because there is no local installation required. Unlike an on-premises application where you’ve got to put on your own servers, configure it, get it running, with SaaS, at least in a simple case, you can just point your browser at the app in the cloud and start using it. Now the reality is there might be some deployment work required with the customization and so on, but still, SaaS applications are typically faster to deploy than on-premise software.
2- Usage-based pricing
SaaS also typically offers usage-based pricing, letting you pay only for what you use. It’s typical, for example, to pay per user per month, not obligatory, but common. This lets you not overpay for software you don’t actually use. It also makes it easier to scale up and down the number of users a given SaaS application has in your organization.
3- Less financial risk
SaaS also can bring less financial risk because the up-front cost is smaller. You can start small, only a few users, then grow if in fact it’s useful. Products commonly have free trials, which means you can try the application at no cost at all. If you don’t like it, if it has no value, just stop using it. Compare that to the conventional scenario of deploying a packaged application in your own data center. There, you buy the app, you install it, you deploy it, then you find out if it has business value. That’s a big risk. It’s much less risky with SaaS.
4- Reduced need for on-promises resources
SaaS, of course, also brings a reduced need for on-premises resources, like servers and IT staff, since SaaS applications are running in the cloud. Now obviously, that’s a benefit unless you’re one of those IT staff people who would have otherwise run on-premises applications. But from the organization’s point of view, that’s probably a benefit.
5- Easier upgrades
SaaS also provides easier upgrades. Why? Because the SaaS provider does the upgrades, not you. Rather than installing updates periodically to keep the application up to date, the SaaS provider does that for you, providing you with new features every so often.
The SaaS risks for users of software :
SaaS has risks, as well as benefits though, like everything. It’s important to grasp those before considering moving in this area. For example:
1- Requires trusting a SaaS provider
SaaS requires that you trust your provider, your cloud provider, for availability and for security. This can be a big issue. Trusting your SaaS provider is very important. It can be hard sometimes to build that trust. The reality though is that we have to build that trust to use these kinds of cloud solutions. And the truth is this, the truth is that if you think your own data center is more secure than the ones used by the major SaaS providers, you are almost certainly wrong. So chances are, using cloud solutions from large reputable organizations will improve your security, not reduce it.
2- SaaS Can raise legal/regulatory concerns
Still, SaaS can raise legal and regulatory concerns because you’re storing data outside your own environment. In fact, sometimes, SaaS applications will be running in some other country, which means you’re storing data outside your national borders. That can be an issue. We’re far enough into the cloud revolution that’s been dealt with in many scenarios, but it’s still something to be aware of.
3- SaaS can limit customization
SaaS can also limit customization. I told you a few minutes ago, one of the hallmarks of SaaS, typically, is multi-tenancy, which means lots of customers are sharing the same app. This limits how much customization you can do compared to having your own instance of the code. Still, modern SaaS providers have found a way to get around this through customization on the side of the app, through configuration, or in other ways.
4- SaaS can be harder to integrate
Integration can also be harder with SaaS applications. Integration is hard with on-premises applications, so with SaaS apps in the cloud, there is even more work to do. Again though, we’re far enough into this cloud world that integration with SaaS has largely become a solved problem.
5- SaaS can have lower performance
And finally, sometimes SaaS applications can have lower performance than on-prem applications. Why? Well, the big reason is the network hop. There are some scenarios where that’s just too slow, too much to take. For example, a real-time factory floor environment might find the, I don’t know, third of a second delay going to a SaaS application across the internet too much to bear. So there are situations where the delay created by the fact that SaaS apps run across the internet can be too much. Like everything, SaaS has benefits, SaaS has risks for users. Most people today most often seem to find that the benefits outweigh the risks.
Evaluating SaaS: Software Vendors
1- Can provide a more predictable revenue stream than traditional licensing
2- Can sell directly to business decision-makers without going through IT
3- Can lower support costs due to shared multi-tenant applications
4- Provides more knowledge about how customers use the application
5- Offers potential to reach new customers in broader markets
1- Must demonstrate real value upfront due to try-before-you-buy options
2- Revenue comes in more slowly because of typical SaaS pricing models
3- May lessen the ability to sell customization services due to multi-tenant applications
4- Can bring new sales challenges e.g customer resistance to the cloud
5- Requires significant business changes e.g pricing and sales
Just as SaaS has both benefits and risks for users of the software, SaaS has benefits and risks for software vendors.
The SaaS benefits for software vendors :
Among the benefits are these:
1- SaaS can provide more predictable revenue stream
SaaS can provide a more predictable revenue stream than traditional licensing. Rather than the big chunks of money you receive each time you sell a license, a SaaS vendor gets perusers, per month revenues. That predictability is attractive for a bunch of reasons. You can plan better, and investors, Wall Street, likes it better as well.
2- SaaS can sell directly to business decision makers
SaaS also lets vendors sell directly to business decision-makers without going through IT. Since it’s the business people who are usually buying the app, they’re the ones who want it, to be able to sell just to them and not have IT be a blocker can be a huge win for software companies. Since IT is no longer running the application, they indeed do not have much of a say, potentially, in which one is chosen. Salespeople for SaaS vendors typically like this.
3- SaaS can lower support costs
Going to SaaS can also lower support costs because you’ve got this shared multi-tenant application that you’re maintaining. You don’t have to maintain many, many copies of your software on customer premises. That’s a good thing.
4- SaaS provides more knowledge
SaaS also can provide more knowledge about how customers use a vendor’s application. The vendor can actually see what’s going on, can see directly which customers are doing what. That’s really useful for things such as knowing how each customer uses your application.
5- SaaS offers potential to reach new customers
And finally, SaaS can offer the potential to reach new customers in broader markets Because, typically, it’s just a website. People can find you, and buy you, or at least try you, directly. You can reach new customers with less effort.
The SaaS risks for software vendors :
The risks though of software vendors adopting SaaS are substantial. They include things like this:
1- Vendor must demonstrate real value up front
The vendor must now demonstrate real value upfront, and the reason is the try before you buy an option that’s typical in SaaS applications. In the conventional on-premises packaged software world, the customer has to take on faith that there will be business value, so slick salespeople can be very convincing. With SaaS, the customer actually tries the application. They know whether or not it has real business value.
2- Revenue comes in more slowly
Also, revenue comes in more slowly because of the typical SaaS pricing models. Per-user, per month can be a great thing over time for SaaS vendors’ bottom line, but it takes longer to get revenue coming in than with selling big licenses upfront.
3- May lessen ability to sell customization
SaaS can also lessen a vendor’s ability to sell customization services because as I mentioned earlier, multi-tenant applications can be harder to customize. This isn’t always true, but some vendors that make a lot of money on services have found that moving to SaaS can hurt that part of their business.
4- Can bring new sales challenges
SaaS can also bring new sales challenges, such as customers who are just not cloud friendly. In fact, especially for smaller software companies, it’s almost obligatory in some cases to have both a SaaS and an on-premises version of your application because some customers will insist on each.
5- Requires significant business changes
Finally, the biggest and most general risk is that going to SaaS requires really substantial business changes for on-premises software companies, how they price, how they sell, how they pay commissions, all these things commonly have to change. It is a big decision. It’s a big change for a software company. Still, for most package software companies today, do they have a choice? Can they feasibly remain to sell only on-premises software? Probably not. The reality is SaaS more and more is ruling the world of purchased software.
The Impact of SaaS
Let’s summarize. What’s the impact of SaaS? Well, it depends on whether you’re a software user or a software vendor.
The impact of SaaS for users
For users, life is better, at least as long as the risks aren’t show stoppers. Life is better because you need no longer to install, and operate, and maintain, and patch on-premises software applications. You need no longer take the giant risk of writing a big check up front for an application that you hope will have business value. With SaaS, the vendor runs the software and takes the burden of operations off you, and the vendor, typically, lets you try before you buy so you know whether or not the app will have value. There are huge benefits for users. Now sometimes, the risks are too great. Sometimes, for example, regulatory concerns will stop you from using SaaS, but that’s not true, however. The great majority of users seem to find that they prefer SaaS to conventional on-premises software.
The impact of SaaS for software vendors
For software vendors, life is different. Is it better? Is it worse? It’s unclear, but it’s certainly different because everything changes, pricing, the sales process, operations. I didn’t mention this earlier. It’s important though. In conventional on-premises software, the user is burdened with running everything. They own the computers and They do operations and management. In the SaaS world, that burden shifts to the vendor, and so software vendors now must learn to effectively run large scalable applications. This is a whole new skill set but being successful at SaaS requires that you get good at this. So, for software vendors, the impact of SaaS is both positive and negative, pros and cons, but it is certainly huge. Everything changes.
The main points of SaaS applications
The main points are these:
SaaS brings big changes to software users, to software vendors. SaaS has pros and cons, but the pros outweigh the cons in a majority of situations. This is why SaaS is remaking the software industry.
Using cloud computing : Cloud Platforms
Cloud platforms are an essential aspect of cloud computing. In fact, to developers, people who write software, they’re the most important part. Before I talk about them, let’s review again the big picture of cloud computing.
Even in the cloud era, many organizations will continue to run applications on‑premises. But more and more, they’ll rely on external service providers that run cloud applications, SaaS applications, and provide cloud platforms.
Organizations will also, in some cases, bring cloud platform technologies on‑premises in the form of private clouds. Our focus in this module is on cloud platforms.
There’s an obvious question here though. Cloud platforms provide services, like virtual machines and storage, and so on, through a remote provider accessed across the internet. But wait a minute. Isn’t that called hosting?
What cloud platforms offer over traditional hosting ?
Understanding what cloud platforms offer over traditional hosting is important.
1- Immediate access to more services
First, cloud platforms offer much more immediate access to a broader range of services than conventional hosting providers. Unlike a classic hoster where you might get a machine of your own, that might take a while to install. In cloud platforms, you can get a virtual machine or a database, or something else through your browser in just a few minutes. Quite different. Also, cloud platforms today offer a very wide range of services as we’ll see, far more than conventional hosting.
2- Usage-Based Pricing
Another big change brought by cloud platforms was the advent of usage‑based pricing, pay for what you use, and no more. Rather than having a server be dedicated to you, you could instead essentially rent virtual machines by the hour, by the minute sometimes, rent data storage by the gigabyte per month. Usage‑based pricing was a real innovation of cloud platforms.
3- Global Scale
And finally, the global scale that the major cloud platform providers bring is phenomenal. Their data centers are much bigger than conventional hosters. So while in some ways cloud platforms are similar to traditional hosting, you can think of them almost as an extension and evolution of hosting, they are nonetheless very different.
Evaluating Cloud Platforms
1- Faster deployment because there’s no wait for computing resources
2- Usage-based pricing letting you pay only for what you use
3- A less financial risk with a lower up-front investment in hardware and software
4- Reduced need for on-premises resources such as servers and IT staff
5- Easier upgrades with no on-premises software to update
1- Requires trusting a cloud platform provider for availability and security
2- Can raise legal/regulatory concerns with storing data outside customer permises
3- Can be harder to integrate with on-premises software
4- Can have have lower performance than on-premises platforms
5- Can give developers less control than on-premises platforms
Evaluating cloud platforms requires looking at both the benefits and the risks.
Cloud Platforms Benefits :
Let’s start with benefits:
1- Faster deployment
First, cloud platforms give you faster deployment because there’s no wait for computing resources. You don’t need to order a physical server and wait weeks for it to be delivered and installed. You could instead through your browser ask for virtual machines, or data, or something else and have them available in minutes.
2- Usage-Based Pricing
Also, cloud platforms give you usage-based pricing as I just discussed. You pay for what you use.
3- Less financial risk
Cloud platforms bring less financial risk because you now have a much lower up-front investment in hardware and software. You don’t have to buy servers and hope that whatever you’re doing, your project, your startup, whatever, is successful. You need not make that large up-front investment before you can do anything. Instead, you rent what you need. If the project succeeds, great! If it doesn’t, shut things down and stop paying. This lower financial risk for new projects means that you could do more innovation. You can take more chances because you’re spending less on each attempt. That’s a big win, and it’s a big reason why cloud platforms have helped create the boom in IT startups that we’ve seen in the last few years.
4- Reduced need for on-premises resources
Cloud platforms also bring a reduced need for on-premises resources, such as servers and IT staff. Now that’s a benefit unless you’re one of those IT staff, separate issue. But for developers, for organizations, having fewer on-premises resources to pay for is a good thing.
5- Easier upgrades
Cloud platforms also give you easier upgrades because you no longer have on-premises software to update.
Cloud Platforms Risks:
There are some real benefits to cloud platforms, but there are also some real risks.
1- Requires trusting a cloud platform provider
For most people, the first thing on the list of risks is the same thing that was first on the list of risks for SaaS applications. It’s the challenge of trusting a cloud provider to be there, to be available, and most of all, to keep your data secure.
Let’s talk about this for just a minute because it’s important. I mentioned in the last module that if you think a cloud provider’s data platform is less secure than your own, you’re probably mistaken, at least for the major providers. But more than that, we are not entirely rational in how we trust.
Ask yourself this, what is the world’s most dangerous technology? What is the world’s scariest technology? Is it nuclear weapons? It is some computer virus that’s going to come to wipe all our machines. No. No, the world’s scariest technology, the world’s most dangerous technology is Windows Update.
Because every patch Tuesday, Microsoft, through Windows Update, puts whatever software it chooses directly into our operating systems, and we all just say, sure, install. How do we know that the next update or the last one won’t steal all our data? The answer is that we don’t, but we trust Microsoft.
The benefits of these updates are substantial, and we’ve learned to trust Microsoft. I’m not suggesting that Windows Update is dangerous. Rather, I am suggesting that over time, we learn to trust organizations that provide useful services and prove themselves worthy of that trust.
That’s exactly what’s happening with cloud platforms today. More and more, we trust them as we’ve long trusted our vendors for many other things.
2- Cloud platforms can raise legal and regulatory concerns
Another risk, also like what we saw with SaaS applications, is that cloud platforms can raise legal and regulatory concerns. Increasingly, however, as cloud computing becomes the norm, this is being dealt with through regulatory change or other kinds of understandings.
3- Cloud platforms Integration can be harder
Integrating applications is challenging when they’re all in the same data center. When they’re in the cloud, it can be even tougher. Although, once again, the maturing of cloud computing makes this simpler over time.
4- Cloud platforms can have lower performance
Sometimes, lower performance is a concern. There are situations where cloud platforms just aren’t appropriate for performance reasons. For example, an application controlling real-time controls on a factory floor might not be able to accept the delay, the latency, of talking to a public cloud application. In fact, that’s one reason why organizations use private clouds in some situations.
5- Cloud platforms can give developers less control
And for developers, cloud platforms can give them less control. On-premises, developers can have physical machines they own entirely to work with. In the public cloud, however, you’ve got virtual machines, or sometimes, as we’ll see, even a higher level of abstractions to work with. Developers must learn to live within the constraints that those abstractions provide.
So, like almost everything in life, cloud platforms have benefits, and they have risks. In many situations, increasingly, in most situations, the benefits outweigh the risks.
Cloud Platform Technologies
So far, I’ve talked about cloud platforms in general terms. To understand this area though, we’ve got to also look at cloud platform technologies.
Infrastructure as a Service IaaS
I’m going to start with compute technologies. The most fundamental cloud platform compute technology is called Infrastructure as a Service, IaaS, pronounced IaaS or EaaS depending on where you live in the world, and the idea is simple. As the figure shows, a user, such as a developer, can create and use virtual machines. The cloud platform provides VM images that can be used to create those VMs, and the leading platforms all support both Windows and Linux. This is useful for all kinds of things. A developer, for example, might build a new application in IaaS VMs, or you might move an existing on-premises application, either a packaged app or a custom app, from your on-premises data center onto a cloud platform. They’re just virtual machines. So just as apps can run on-premises in VMs, they can often, although not quite always, run unchanged in IaaS VMs.
Platform as a Service PaaS
IaaS is useful, but it’s not the only choice. It’s also possible to build and run applications using an approach called PaaS, Platform as a Service. Here, applications are still running in VMs, but the developer who writes those applications doesn’t see the VMs. Instead, he or she is running the application on some set of supporting services. What those are can vary quite a bit. But across all PaaS technologies for compute, the services make it easier and faster to build and run applications on cloud platforms. It also can make it cheaper to run these applications because PaaS lowers the amount of management work required. The PaaS services take care of a lot of the housekeeping for you. PaaS is designed mostly for brand-new applications, and for that, it can be a great choice.
Containers as a Service Caas
For quite a while, IaaS and PaaS were pretty much the whole story for cloud platform compute. Today though, there are more options. For example, there is what’s sometimes known as Containers as a Service. The idea is that rather than working at the virtual machine level, you instead can deploy and manage containers that run inside VMs then have your applications run inside those containers. A container management service can decide where your containers should run and can manage them as they run. The most popular choice for this service today is called Kubernetes. Kubernetes was originally built by Google, but it’s supported today by all the leading cloud platforms.
Functions as a Service FaaS
Another option for computing on cloud platforms is an idea that’s sometimes-called Functions as a Service. It’s also commonly referred to as serverless computing. The idea is that you need not think about virtual machines or even containers. Instead, a developer can just build applications as functions and invoke those functions directly. This is simple, which is good, and it can also be very cheap because you’re typically charged based only on execution time, which is often quite small. You can wind up having a powerful application that handles lots and lots of requests from many users for not much money.
Cloud Platform Technologies: Data
Another category of cloud platform technologies is those for working with data. Among the most important approaches here are these.
You’re always free to run a database management system such as SQL Server, or MySQL, or Oracle in a virtual machine, an IaaS VM, however, cloud platforms also provide managed services for working with data, for example, most of them provide object storage. And despite the name, object storage just provides unstructured data, raw bytes.
You can also use cloud services for relational storage or for NoSQL storage, such as document-oriented JSON databases.
All of these are managed services, which aren’t the same as running your own database in a VM. Managed systems can be simpler, less expensive, and easier to operate than running a standard database system in a VM. They can also scale much better to handle more users and more data.
Cloud Platforms Technologies and Major Vendors
To think about all these cloud platform offerings together, it’s useful to create a grid that shows the leading technologies and the major vendors in this market.
In this grid, the columns are compute technologies, IaaS, PaaS, Containers as a Service, and Functions as a Services, followed by data technologies, object storage, relational, and NoSQL. The rows will be cloud platform vendors, Amazon Web Services, Microsoft Azure, and Google Cloud Platform. Are there other firms in the cloud platform market? Sure, absolutely. Are these three the leaders today? They are, and so they’re the ones most worth looking at in this course. Next, I want to take a look at each of these three vendors using this grid to summarize what they offer.
Amazon Web Services: Technologies
I’m going to start our walk-through today’s leading platforms with Amazon Web Services. AWS was the first real cloud platform, and it offers technologies in all the areas I’ve just talked about.
1- Amazon Web Services offers Compute Cloud
For IaaS, for example, Amazon Web Services offers Elastic Compute Cloud, EC2, for PaaS, their primary service is Elastic Beanstalk, and for Containers as a Service, they offer the Elastic Kubernetes Service, EKS. As I mentioned earlier, all the leading cloud platforms today support Kubernetes for working with containers. They also offer serverless computing, Functions as a Service, with a service called Lambda.
2- Amazon’s object storage technology
For data, Amazon’s object storage technology is S3, the Simple Storage Service. Their primary managed relational service is RDS, the Relational Database Service, and their primary NoSQL Technology as a Service is DynamoDB, although there are others as well.
3- Amazon Web Services: Things to Know
Some things to know about Amazon Web Services, first, they were the first mover. AWS first appeared with S3 and then EC2 in 2006, quite a while ago. They’re viewed as a leader for good reason. They have the largest market share today in cloud platforms. Also, AWS offers diverse services, a mix of open-source things, like Kubernetes and MySQL, with proprietary solutions, including Microsoft Windows and lots of things invented by Amazon itself, such as DynamoDB.
Microsoft Azure: Technologies
Another major player in the world of public cloud platforms is Microsoft Azure. Azure also offers technologies in all the categories I’ve introduced so far.
Microsoft Azure: Compute
Their IaaS technology is called Virtual Machines, and their primary PaaS offering is App Service. For containers, Microsoft provides Azure Kubernetes Service, AKS, and for serverless computing, they’ve got Azure Functions.
Microsoft Azure: Data
For object storage, Azure has Blobs, for a relational service, they’ve got SQL Database, and for NoSQL, there are various options with Cosmos DB as perhaps the most visible.
Microsoft Azure: Things to Know
Some things to know about Microsoft Azure include this, Microsoft is a technology company. Unlike Amazon, which is in many different business, retail, and movies, computing, and lots more. Microsoft has chosen not to become a conglomerate. They have remained focused on technology. Microsoft also has strong relationships with many existing enterprises because Microsoft is a core enterprise vendor and has been for a long time. In part because of this, Microsoft has focused for quite a while on Hybrid Cloud. They very much encourage customers to combine their on-premises resources with the public cloud. Also, like AWS, Microsoft offers diverse services, providing both open-source and proprietary technologies on their cloud platform. In fact, something like half of the VMs running on Azure today run Linux, not Windows. Microsoft is clearly a different company today than it was just a few years ago.
Google Cloud Platform: Technologies
The third major vendor in this market is Google with Google Cloud Platform.
Google Cloud Platform: Compute
For IaaS, Google offers Compute Engine, for PaaS, App Engine, for containers support, Kubernetes Engine, and for serverless computing and Function as a Service, they offer Cloud Functions.
Google Cloud Platform: Data
For data, Google offers Cloud Storage for object storage, Cloud SQL as a managed relational service, and Cloud Bigtable for a managed NoSQL technology.
It’s worth noting here that all three of the major cloud platform vendors have similar technology sets. This is no surprise. It’s what commonly happens as markets mature. Just a few years ago, these three offerings were much more different from each other.
But today, they’ve all worked out what the market really wants. And so, we’ve seen this convergence of services. That’s why it’s possible to think about the core cloud platform services in a simple grid like this.
Google Cloud Platform: Things to Know
Some things to know about Google Cloud Platform include these. Google was later to the market. Amazon and Microsoft were first with a fully featured cloud platform. Google today seems wholly committed, however, to catching up in this space.
In fact, they were the creator of some key technologies. Google invented Kubernetes for instance, which was adopted by other platforms after they released it as open source. Also, like Amazon and Microsoft, Google Cloud Platform offers diverse services, including open source and proprietary options. They too support both Windows and Linux together with services that are unique to Google.
Please don’t be confused, however. Even though we’ve just talked about a core set of technologies that are common across all three cloud platform leaders today, there are many other services offered by these platforms.
For example, support for data analytics is present in all three of them. Amazon has Redshift, Azure has Synapse Analytics, and Google has BigQuery. All three platforms also offer machine learning technologies, Amazon ML, including SageMaker, Azure ML, and Google AI Platform, and there are lots more. I’ve focused on the fundamental services, but the three leading platforms all offer dozens more.
Other Cloud Platforms
The big three cloud platforms, Amazon Web Services, Microsoft Azure, and Google Cloud Platform, get most of the attention in this area, but there are others, and they’re worth mentioning.
For example, Alibaba Cloud offers IaaS, object storage, Kubernetes, and lots more. They offer a full suite of cloud services, and they are a dominant player in China in particular. IBM Cloud also offers IaaS, object storage, Kubernetes, lots of cloud services. Interestingly, they also offer bare‑metal servers. You can actually rent just raw hardware from them. And there are lots more. For example, many traditional hosters now offer some cloud services. The challenge, though, is that they don’t have the scale of the market leaders, and so it’s tough for them to compete in price and other areas. The key idea to keep in mind is that while the big three have the majority of market share today, there are plenty of other smaller vendors in this market as well.
The three cloud platforms I’ve just talked about, AWS, Microsoft Azure, and Google Cloud Platform, all provide a broad range of services. But there’s another kind of cloud platform that also fits in this discussion, one that focuses on a very specific thing, helping people who might not be pro developers build new applications quickly and easily. These offerings are commonly known as low‑code development platforms.
It’s fair to think of these as a flavor of PaaS, of Platform as a Service. A low‑code platform provides services for creating application logic working with data and other things that people building applications need.
But the PaaS services I talked about earlier in AWS and Azure and Google Cloud Platform are all aimed at professional software developers. That’s generally not true of low‑code platforms. Pro developers certainly can use them, and they often do. But the real target for most low‑code platforms is what is known as citizen developers, people who have some technical knowledge but aren’t professional software people.
The goal is to help more people build more applications so organizations can get more apps up and running with less effort. Low‑code platforms are widely used today The popular choices include Salesforce Platform, Microsoft’s Power Apps, Mendix, and OutSystems. It’s certainly fair to say that the low‑code approach is an important aspect of cloud platforms today.
Cloud Platform Pricing
It’s worth taking a closer look at cloud platform pricing. In general, what you pay is based on what you use. It’s usage‑based pricing. For example, you might pay for virtual machines by the hour or a minute or second, and you might pay for storage by the month and network traffic by the gigabyte.
This kind of pricing is great for variable computing loads. When your usage goes up, you pay more, then see your cost decline as usage shrinks. But what about more steady computing tasks, like running some kinds of enterprise applications?
If you’re load doesn’t vary much, you can benefit from something else that’s common with cloud platforms, the fact that commitment brings discounts. For example, you might commit to using five VMs for a year and get a total price that is substantially lower than the standard per‑hour pricing. This is useful for steady loads.
Whatever approach you choose though, it’s important to realize that your monthly bills can be substantial. A cloud platform isn’t always less expensive than running things in your own data center. Still, many organizations are moving entirely to cloud platforms today, so we should expect the use of on‑premises data centers to keep decreasing. Cloud pricing is becoming the norm.
Multicloud : Using More Than One Cloud Platform
Another concept that’s useful to know about is multi-cloud, where a single organization uses two or more different cloud platforms. For example, your company might choose to use both AWS and Microsoft Azure. Doing this can bring benefits. For example, you can now choose the best services for you from both platforms. You also can choose the lowest cost services from each one. Plus, you’re not locked into a single cloud platform.
These benefits are attractive to quite a few people. But like most things, going multi-cloud also brings some risks. One of them is that choosing this route can increase complexity. You now have to use and manage two or maybe more different environments. Also, adopting a multi-cloud strategy can complicate security, again, because you have to work across multiple platforms. And while it’s true that a multi-cloud approach limits your lock into a single cloud platform, you are now locked into multiple cloud platforms. Is this really better? The reality is this, especially in large organizations. Different departments often choose different cloud platforms. And so in practice, multi-cloud can be hard to avoid. Still, it’s important to know the benefits and the risks of this approach.
The Impact of Cloud Platforms
There are lots of ways to think about the impact of cloud platforms. For startup companies, they’ve been transformative. It’s now much cheaper and much easier to do a technology-based startup because you can use public cloud platforms rather than buy your own hardware. This is a big win. And even for enterprise IT, cloud platforms are having a huge impact.
Enterprise IT: The Traditional World
Here’s one way to think about that. Traditionally, the enterprise IT default platform looked like this. The clients were PCs and laptops. Everyone had their own internal data center infrastructure with servers, and operating systems, and databases, and so on. On top of that, organizations run packaged applications like SAP, and SharePoint, and whatever, and their own custom apps. This was the default enterprise world for decades.
Cloud computing for Enterprise IT: The New Default
In the world of the cloud though, this changes. First, as we all know, the clients have changed. PCs and laptops still matter, but so do mobile devices, like tablets and phones. And the server-side is changing radically for most organizations. It now looks like this.
Whenever possible, organizations are choosing to use SaaS rather than on-premises applications. More and more, on-premises packaged apps are being replaced by apps in the cloud.
Similarly, custom applications that were once written on an organization’s own internal infrastructure are now built on cloud platforms.
Cloud platforms are the new foundation for competitive advantage. Why is that? It’s because an app you can purchase, whether it’s an on-premises packaged app or a SaaS app, can be bought by your competitors as well. No real advantage is usually possible here.
The real advantage comes from custom applications that you build yourself that do unique things. That’s what gives you a competitive advantage, and that is now the province of cloud platforms. That’s where you’ll now build your custom apps. The choice your organization makes here is very important.
Cloud Platforms: The Main Points
The main points of this module are these. Cloud platforms have pros and cons like everything. In most situations though, you should expect the pros to outweigh the cons. And the leaders in this market today are clear, Amazon and Microsoft with Google may be a little behind, and in low code platforms, Salesforce. And finally, the big truth, cloud platforms are becoming the default for new custom applications.
Using cloud computing: Private Clouds
Some people think private clouds are the least important part of cloud technology. Others think they’re essential. Whatever the truth, they’re certainly worth talking about.
Recall what the big picture looks like:
Many organizations using cloud computing are likely to still run some applications on-premises, at least for a while. They will, however, use cloud applications, SaaS, and cloud platforms.
Private clouds, our topic here, bring the technology of the cloud into an organization’s own on‑premises world. Exactly what that means is up for debate, however.
Examining Private Cloud
The traditional definition of private cloud is what I just said:
It’s taking public cloud services and providing them on-premises. However, as we’ll see, there are various perspectives on what that means.
One thing that’s clear, however, is what private cloud is not. It’s not just a new name for traditional on‑premises data centers, but the term is sometimes used this way.
A CIO might say, well, we’re going to run on our private cloud when all they really mean is their own on‑premises datacenter. This is not right.
Private cloud, to mean anything at all, must mean bringing some cloud technologies into your own on‑premises world. It’s just not fair to begin referring to your on‑premises datacenter with no changes as a private cloud.
It is fair to say, however, that private cloud is a confusing market. It’s a confusing market largely because vendors use the term in different ways, as we’ll see.
What is a hybrid cloud?
Most conversations today about private cloud is also about hybrid cloud. So, what is a hybrid cloud?
The first thing you might think of is, well, if I’ve got an application running in the public cloud with data on a private cloud, that must be a hybrid cloud. But that’s not right. That’s a hybrid application. Any public cloud platform can do hybrid applications. So don’t confuse a hybrid application with a hybrid cloud. To be a hybrid cloud, you need to have public cloud services linked with private clouds in some way, and various services can be linked.
So, for example, you might have compute services like IaaS that work in both the public cloud and a private cloud and work together in some fashion. You might have compute services like PaaS that lets you move applications back and forth. You might have common identity or common management or other tools.
The point is, hybrid cloud is an important idea, and it means combining public and private cloud services. It’s not the same thing as a simple hybrid application.
Some Approaches to Private Cloud
I’m going to talk about three approaches to private cloud, all of which are different and all of which have value.
I’ll talk first about the idea of deploying public cloud technology on on‑premises servers. Examples of this include Microsoft’s Azure Stack and Amazon’s AWS Outposts. I’ll also talk about using cloud technology for creating IoT devices that link with public cloud platforms. Examples of this include AWS IoT Greengrass and Azure IoT Hub. And finally, I’ll talk briefly about the idea of edge computing, which includes a broad category of solutions. All three of these approaches are interesting, and all three are worth looking at.
Illustrating Azure Stack
For the first approach to private clouds, putting public cloud technology on on‑premises servers, I’m going to look at Microsoft’s Azure Stack.
Azure Stack is a family of technologies, and the one most relevant here is called Azure Stack Hub. It’s simple to understand.
Here’s the idea. As we discussed earlier, Microsoft Azure provides services in the public cloud. Azure Stack Hub takes a subset of those services and makes them available in enterprise datacenters. In other words, Azure Stack Hub brings public cloud services to on‑premises datacenters.
Example Azure Stack Services
What kinds of services?
Things like IaaS with Azure Virtual Machines and PaaS services with Azure’s App Service. It also provides Containers as a Service with Azure Kubernetes Service, Functions as a Service, serverless computing with Azure Functions, and blobs for object storage and more.
Azure Stack: Things to Know
Some things to know about Azure Stack Hub:
First, it’s really Azure. It uses a subset of Microsoft’s Azure code. Second, it’s sold as an appliance. You don’t buy just the software. You buy the hardware and the software packaged together from a vendor like HP Enterprise or Dell or somebody else.
This might seem odd, but the truth is that making this cloud software work effectively on any old random heterogeneous servers you might have to lie around is difficult. So instead, Microsoft defines what hardware you have to use with Azure Stack Hub. This makes it much more like Azure datacenters, which themselves have quite homogeneous hardware.
And one more thing to know about Azure Stack Hub is that it changes organizations because the management of an Azure Stack Hub environment differs from how you manage conventional servers. With traditional servers, you commonly have server people and storage people, and networking people. But Azure Stack Hub provides all of these as a unified set of technology. And so, organizations that adopt a solution may well need to change how their people are organized too.
Illustrating AWS Greengrass
The second approach to private clouds that we’re going to look at is using cloud technologies to support on‑premises IoT devices. The example I’m going to use for this is AWS IoT Greengrass. One could argue that Greengrass doesn’t really fit in this section, that it’s not really a private cloud, and that’s actually a reasonable argument. Nonetheless, here’s the idea:
Amazon Web Services is a major public cloud platform. Greengrass takes services from AWS, the public cloud, and brings them into the enterprise. In that sense, it’s a private cloud.
The big difference though is that the technologies Greengrass includes are for IoT devices, not servers. And they can also be used in a consumer context. What’s interesting here is that Amazon is bringing services designed for the public cloud into an environment intended for a quite different purpose.
Example Greengrass Services
Those services include these:
A core technology in IoT Greengrass is Amazon’s Lambda. It provides Functions as a Service, serverless computing.
Greengrass also includes messaging services between Greengrass devices and more, but those are generally not borrowed from AWS in the public cloud. Rather, they’re designed just for IoT Greengrass. The big borrower of the public cloud is Lambda, the serverless approach to computing.
Greengrass: Things to Know
Some things to know about Greengrass include these:
It’s a different approach, and it addresses a different problem than Azure Stack. Greengrass is very much aimed at the future. IoT is a high‑growth market, while on‑premises servers are not a high‑growth market today. In fact, so much do computing in the public cloud that sales of on‑premises servers are declining. So why focus on private cloud for a shrinking number of systems goes the argument? Why not focus instead on what will be left on-premises, such as IoT devices, once the public cloud becomes dominant? This makes some sense, and it explains why technology like Greengrass exists. Greengrass is not a conventional private cloud technology, but it’s still an interesting approach to using cloud‑derived technologies in an on‑premises environment.
Like the term private cloud, edge computing means different things to different people. In general, though, it’s fair to say that edge computing involves moving some computation into on‑premises devices. It’s important to understand when it matters.
One big reason to move computing out of the cloud to the edge is if interacting with the cloud is too slow. For example, suppose you need a real‑time response, and your network connection to the cloud isn’t fast or reliable enough to allow this. Maybe you’re doing real‑time control of a robot on a factory floor or monitoring a patient in a hospital bed.
Edge computing might be a better solution in these scenarios. An interesting thing to realize is that the term edge computing shows the extent to which the public cloud has become the center of the IT universe. Everything else is defined in relation to it. Things that aren’t in the cloud are on the edge. Is edge computing a private cloud? Probably. Although as I’ve already said, different vendors use this term differently. Still, edge computing is certainly a relevant concept in thinking about the cloud today.
Cloud computing: The Impact of Private Clouds
What’s the impact of private clouds today? How should you think about them?
Well, one thing to realize is that you should think and, not or. Public and private clouds address different problems, and so they’re complementary. Public clouds help you scale, help you get cheaper resources, and more. Private clouds make your on-premises world better. And remember public cloud plus private cloud yields hybrid cloud, a common goal today. Also, the private cloud market has been slow to take off. This is due in part to complexity.
Several vendors tried to turn their on-premises virtualization environments into private clouds, something that didn’t work out all that well, so we’re now seeing other approaches. And finally, realize that private clouds can provide real value. For example, fast access to computing resources is a real win in many environments, and IaaS VMs on demand can give you that in your own data center. Just as important, private clouds give you modern application services. You can no longer just install the new version of Windows Server or Linux and get the latest application platform technologies. If you want things like serverless computing, you need to use a cloud platform. Those services are only available as part of cloud technologies, and so private clouds have become essential for getting modern application development services in your own environment. Especially if you’re still building on-premises applications, don’t ignore private clouds.
the big picture of cloud computing: Summary
And there you have it, the big picture of cloud computing today. The key points to remember are these:
First, cloud computing is here. It’s a reality. It’s a very important change in how our world works. Second, all three aspects of the cloud are worth understanding, cloud applications, SaaS, cloud platforms, and private clouds, including hybrid cloud. And finally, a new world is unfolding. This level of change happens so rarely in our industry, and yet, it’s happening right now with the growth of cloud computing. It’s happening at a time when you and I are both working in this field. Aren’t we lucky? It’s a great time to work in technology.