Cloud Computing
What is Cloud Computing?
Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access technology services, such as computing power, storage, and databases, on an as-needed basis from a cloud provider like Amazon Web Services (AWS).
The evolution of the generations:
- Gen 1: On-Premises and Traditional IT Ops
- Gen 2: Hybrid cloud, infrastructure (VM) focused
- Gen 3: Cloud first, agile operations
- Gen 4: Cloud native, born in cloud
Organizations of every type, size, and industry are using the cloud for a wide variety of use cases, such as data backup, disaster recovery, email, virtual desktops, software development and testing, big data analytics, and customer-facing web applications. For example, healthcare companies are using the cloud to develop more personalized treatments for patients. Financial services companies are using the cloud to power real-time fraud detection and prevention. And video game makers are using the cloud to deliver online games to millions of players around the world.
Benefits of cloud computing
Agility
The cloud gives you easy access to a broad range of technologies so that you can innovate faster and build nearly anything that you can imagine. You can quickly spin up resources as you need them–from infrastructure services, such as compute, storage, and databases, to Internet of Things, machine learning, data lakes and analytics, and much more.
You can deploy technology services in a matter of minutes, and get from idea to implementation several orders of magnitude faster than before. This gives you the freedom to experiment, test new ideas to differentiate customer experiences, and transform your business.
Cloud providers are constantly innovating and adding new services and technologies to their offerings depending on what they learn from multiple customers. Leveraging state-of-the-art services and technologies helps you innovate faster for your business scenarios, compared with having in-house developers who might not have the necessary breadth of knowledge across the industry.
Elasticity
With cloud computing, you don’t have to over-provision resources up front to handle peak levels of business activity in the future. Instead, you provision the amount of resources that you actually need. You can scale these resources up or down to instantly grow and shrink capacity as your business needs change.
The resources that you need for your business are highly dynamic in nature, and there are times when you need to provision resources for planned and unplanned increases in usage. When you maintain and run your hardware, you are tied to the hardware you have as the ceiling for the growth you can support in your business. Cloud resources have an elastic scale, and you can burst into high demand by leveraging additional resources in a few clicks.
Cost savings
The cloud allows you to trade fixed expenses (such as data centers and physical servers) for variable expenses, and only pay for IT as you consume it. Plus, the variable expenses are much lower than what you would pay to do it yourself because of the economies of scale.
Lowered TCO
TCO refers to the total cost of ownership of the technical solution you maintain, including the datacenter costs, the software costs, and the salaries of people who need to be employed to manage the operations. In almost all cases, barring a few exceptions, the TCO is significantly lower for building solutions on the cloud compared with the solutions that are built in house and deployed in your on-premises datacenter. This is because you can focus on hiring software teams to write code for your business logic while the cloud providers take care of all other hardware and software needs for you. Some of the contributors to this lowered cost include the following:
Cost of hardware
The cloud providers own, build, and support the hardware resources at a lower cost than if you were to build and run your own datacenters, maintain hardware, and renew your hardware when the support runs out. Further, with the advances made in hardware, cloud providers enable newer hardware to be accessible much faster than if you were to build your own datacenters.
Cost of software
In addition to building and maintaining hardware, one of the key efforts for an IT organization is to support and deploy operating systems and keep them updated. Typically, these updates involve planned downtimes that can also be disruptive to your organization. The cloud providers take care of this cycle without burdening your IT department. In almost all cases, these updates happen in an abstracted fashion so that you don’t need to be affected by any downtime.
Pay for what you use
Most of the cloud services work on a subscription-based billing model, which means that you pay for what you use. If you have resources that are used for certain hours of the day or certain days of the week, you only pay for that time, which is a lot less expensive than having hardware all the time even if you don’t use it.
Deploy globally in minutes
With the cloud, you can expand to new geographic regions and deploy globally in minutes. For example, AWS has infrastructure all over the world, so you can deploy your application in multiple physical locations with just a few clicks. Putting applications in closer proximity to end users reduces latency and improves their experience.
Types of cloud computing
The three main types of cloud computing include Infrastructure as a Service, Platform as a Service, and Software as a Service. Each type of cloud computing provides different levels of control, flexibility, and management so that you can select the right set of services for your needs.
Infrastructure as a Service (IaaS)
IaaS contains the basic building blocks for cloud IT. It typically provides access to networking features, computers (virtual or on dedicated hardware), and data storage space. IaaS gives you the highest level of flexibility and management control over your IT resources. It is most similar to the existing IT resources with which many IT departments and developers are familiar.
Platform as a Service (PaaS)
PaaS removes the need for you to manage underlying infrastructure (usually hardware and operating systems), and allows you to focus on the deployment and management of your applications. This helps you be more efficient as you don’t need to worry about resource procurement, capacity planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved in running your application.
Software as a Service (SaaS)
SaaS provides you with a complete product that is run and managed by the service provider. In most cases, people referring to SaaS are referring to end-user applications (such as web-based email). With a SaaS offering, you don’t have to think about how the service is maintained or how the underlying infrastructure is managed. You only need to think about how you will use that particular software.
Comparison of Cloud Services
Service | Amazon Web Services (AWS) | Microsoft Azure | Google Cloud Platform (GCP) |
---|---|---|---|
Virtual Servers | Elastic Cloud Compute | Virtual Machines | Google Compute Engine |
Serverless Computing | Lambda | Azure Functions | Cloud Functions |
Kubernetes Management | Elastic Kubernetes Service | Kubernetes Service | Kubernetes Engine |
Object Storage | Simple Storage Service | Azure Blob | Cloud Storage |
File Storage | Elastic File Storage | Azure Files | Filestore |
Block Storage | Elastic Block Storage | Azure Disk | Persistent Disk |
Relational Database | Relational Database Service | SQL Database | Cloud SQL |
NoSQL Database | DynamoDB | Cosmos DB | Firestore |
Virtual Network | Virtual Private Cloud | Azure VNet | Virtual Private Network |
Content Delivery Network | CloudFront | Azure CDN | Cloud CDN |
DNS Service | Route 53 | Traffic Manager | Cloud DNS |
Authentication and Authorization | IAM | Azure Active Directory | Cloud IAM |
Key Management | KMS | Azure Key Vault | KMS |
Network Security | AWS WAF | Application Gateway | Cloud Armor |