What is Cloud Computing? Cloud vs Legacy IT
Please use the menu below to navigate the article sections:

Most organizations use many forms of cloud computing today. But what is cloud computing and what are the benefits for enterprises?
In this article, you’re going to learn the answer to these questions, from both the technical and business perspectives of cloud computing, and the benefits that companies can gain from using cloud computing services. By the end of this article, you’re also going to understand the difference between “legacy” IT and cloud computing.
Before we get started, a quick definition of cloud computing is required: Cloud computing is the on-demand delivery of IT services from a third-party provider over the Internet. That means you consume a service provided by another company (aka the “service provider”), typically on a pay-as-you-use pricing model.
There are multiple cloud computing service models (e.g. IaaS, PaaS, and SaaS) and deployment models (e.g. Public Cloud, Private Cloud, Hybrid cloud, and Multicloud), and these are discussed in detail in other articles; the scope of this article is to explore the key benefits of cloud computing and how it is often advantageous to “legacy IT”.
Legacy IT
Perhaps the best way to start off is to compare cloud computing to legacy IT. What I mean by legacy IT is self-managed systems deployed within a company’s own data center (on-premises), or in a shared data center (co-location) where the company leases space. This equipment is typically purchased and owned by the company and may also be fully or partially managed by the company’s IT staff.
This model requires large amounts of capital expenditure (CAPEX) to pay for data center costs, equipment purchase, software licensing, maintenance contracts, staff wages and more. Typically equipment is then depreciated over the course of 3-5 years, and must then be replaced.
Your CFO may not be a big fan of this model as it’s not so great for cashflow. Another disadvantage of this model is that it constrains a company’s ability to scale. If your company grows quickly it may be hard to find the capital needed, lead times for purchasing equipment may be too slow, and delivery of the extra capacity may put a huge strain on IT operations staff.
It’s even harder if your company’s growth is unpredictable. Worse still, if your company’s growth contracts, you still have to pay the ongoing costs of the extra equipment you purchased (possibly including loan repayments).
Cloud Computing

So how does cloud computing help? Let’s explore several of the many advantages of cloud computing, and discuss how cloud computing solves many of the challenges of legacy IT.
Variable instead of capital expense
With cloud computing, you consume on-demand computing resources as services. In this self-service model, the service is metered so you pay only for what you use. This is an operational (OPEX) cost to the business which is often preferred by the finance team.
Economies of scale
With cloud computing, you also benefit from economies of scale. Large cloud service providers such as Microsoft Azure and Amazon Web Services (AWS) purchase huge amounts of equipment and have thousands of customers. This enables these cloud computing providers to offer very competitive costs.
Elasticity – bring speed and agility to your business
One of the key benefits that differentiates cloud computing from legacy IT is its elasticity. With cloud computing you are able to scale your consumption of services to meet the demands of the business – no matter how fast your business grows. This is how companies such as Uber and Netflix were able to grow so quickly.
Of course, if you hit hard times and your business shrinks your consumption, and therefore costs will shrink along with it. This is a massive benefit, especially to smaller companies and so it’s no surprise that cloud adoption is strongest with startups.
Eliminate guessing from capacity decisions
Organizations often find themselves guessing how much computing capacity they need to purchase and provision. It’s often the case that IT operations teams err on the side of caution and overestimate their capacity requirements to ensure they don’t get into trouble later on when the server hits peak capacity and fails. There can be a significant cost to this extra capacity that often goes unused.
With cloud consumption being delivered on-demand, and charged based on what you use, wasted capacity can be largely eliminated which can have a favorable impact on a company’s cash flow.
Reduce maintenance costs – focus on business growth instead
As you reduce the costs and operational overhead of managing data centers and IT equipment, you are able to focus more on projects that differentiate your business. In the modern business landscape you either innovate or die, so moving to cloud computing services can literally enable a company to survive in this competitive environment.
Cloud Computing Security

Lastly, I’d like to cover the extremely important topic of cloud computing security. Many organizations are concerned about putting their data and applications into the public cloud, as they lose some of the visibility and control they have today. But what are the security risks of cloud computing?
With the public cloud, you need to understand the concept of the “shared responsibility model“. This model defines the boundaries and responsibility between the service provider and the customer. You are responsible for encrypting your data, patching of operating systems, and configuration of firewalls. The service provider is responsible for the hardware, software, networking, and facilities that run the cloud services.
It depends heavily on which services you consume, but you must always understand what you are responsible for and what the cloud service provider is responsible for. Using AWS as an example, AWS is responsible for the hardware on which your data sits, but it’s up to you not to enable public access and share it with the world!
Another key fact to note is that the major cloud providers such as Amazon Web Services, Microsoft Azure and Google, have stringent security requirements, and compliance with many security compliance programs, certifications and attestations. In fact, in many cases, the public cloud is secured way better than most organization’s on-premises IT.
Further Reading
This article is part of a series, please also check out:
- What is Cloud Computing? Cloud vs Legacy IT
- Cloud Computing Service Models – IaaS, PaaS, SaaS
- Cloud Computing Deployment Models – Public, Private & Hybrid
- Cloud Computing Basics – Compute
- Cloud Computing Basics – Storage
- Cloud Computing Basics – Network
- Cloud Computing Basics – Serverless

A basic understanding of serverless cloud computing is becoming increasingly important as this technology has evolved and matured in recent years and has exploded in popularity. Some people are even saying we live in a “post-container” world. No matter the hype, serverless computing is a useful technology that provides significant benefits to developers and organizations.
Where traditional virtualization provides hardware abstraction, and containers abstract the operating system, serverless computing abstracts the runtime environment. This means that developers no longer have to think about server resources when building and deploying applications, allowing them to focus on creating value rather than spending time on operations.
The diagram below depicts the consumer responsibility (and resulting abstractions) when using the Infrastructure as a Service (IaaS), Container as a Service (CaaS) and Functions as a Service (FaaS) cloud services models.

In its essence, serverless computing provides “functions” which provide data processing for your code using many different programming languages. You simply upload your code and it sits dormant until it needs to be executed. You pay for only what you use, and the functions can scale elastically as required.
There is still a server processing the functions of course. However, it is fully managed by the cloud service provider and is not visible to the consumer. Please note there are additional “serverless” computing offerings available other than functions, but this article focuses mainly on functions.
The key benefits of serverless computing include:
- There are no servers to manage
- Fast instantiation of code
- Continuous scaling (elasticity)
- Pay only for what you use
- Completely dynamic (everything is automated)
- Services based (or functions based; ideal for microservices architectures)
- Dynamic access to cloud resources
Use cases for serverless computing include performing real-time data processing for many types of applications, building scalable back-end services that are able to provide self-scaling and to bind and choreograph systems into integration services, applications, and processes.
It’s key to understand that serverless computing is not a good fit for all use case however. The best use cases usually include applications that are net new “cloud-native” architectures, which require elasticity, and that are based on service-oriented architectures such as microservices architectures.
Serverless computing is not so good for legacy applications that do not require elasticity, and that are based on monolithic components (not services-oriented). In some cases, it may also be cost-prohibitive, or there may be specific security or compliance issues to be considered.
When serverless functions are offered as a service by a public cloud provider they are often known as Functions as a Service (FaaS). The two most well-known offerings are AWS Lambda and Azure Functions.
AWS Lambda
AWS Lambda was one of the first serverless computing offerings in the public cloud space and has the largest user base today. Lambda natively supports Java, Go, PowerShell, Node.js, C#, Python, and Ruby code, and provides a Runtime API which allows you to use any additional programming languages to author your functions.
Each AWS Lambda function runs in its own isolated environment, with its own resources and file system view. Code is stored in Amazon S3 and is encrypted at rest. Though there is a default safety throttle for concurrently executing functions, you can in theory scale to any level.
Lambda executes in response to triggers from an event source. An event source is an AWS service or developer-created application that produces events that trigger an AWS Lambda function to run. For example, S3 can trigger Lambda to execute a function when an object is uploaded to an S3 bucket.
The image below depicts an object being uploaded to Amazon S3, which triggers a Lambda function to resize the images into various sizes for different devices, and then store the results:

As mentioned previously, serverless functions are not the only form of serverless computing, AWS (and other providers) offer other managed services that deliver computing services without the need for the consumer to manage the underlying operating system. These include (amongst others):
- AWS Fargate (containers)
- Amazon Simple Storage Service (S3)
- Amazon DynamoDB (NoSQL DB)
- Amazon API Gateway
Azure Functions
Azure Functions has a smaller user base than AWS Lambda but is still the second most well known (and used) public cloud serverless computing offering. Azure Functions is tightly coupled with the Azure platform and has many of the same features as AWS Lambda. For companies using Microsoft development approaches Azure Functions may be the obvious choice.
As with AWS Lambda, several programming languages are supported including C#, JavaScript, F#, Java, and Python. Azure Functions also executes based on events created via sources including HTTP, scheduled timers, Azure Cosmos DB, Blobs, and Queues.
The image below depicts an object being added to Blob storage and triggering a function to process it and send the contents of the file for OCR detection and eventual storage of the results in a SQL DB:

More information
For further information on serverless computing please refer to the following resources:
This article is part of a series, please also check out:
- What is Cloud Computing? Cloud vs Legacy IT
- Cloud Computing Service Models – IaaS, PaaS, SaaS
- Cloud Computing Deployment Models – Public, Private & Hybrid
- Cloud Computing Basics – Compute
- Cloud Computing Basics – Storage
- Cloud Computing Basics – Network
- Cloud Computing Basics – Serverless
Learn how to Master the AWS Cloud
AWS Training – Our popular AWS training will maximize your chances of passing your AWS certification the first time.
Membership – For unlimited access to our cloud training catalog, enroll in our monthly or annual membership program.
Challenge Labs – Build hands-on cloud skills in a secure sandbox environment. Learn, build, test and fail forward without risking unexpected cloud bills.