Cloud Computing
Cloud computing is the delivery of various computing services, such as servers, storage, databases, and software, over the internet. It provides faster innovation, flexibility, and cost savings, as you only pay for the services you use, allowing you to lower your costs and scale based on your business needs.
Benefits of Cloud Computing
- Cost Efficiency: Eliminate the upfront expense of hardware, software, and data centers by leveraging cloud infrastructure.
- Speed: Quickly deploy services with just a few clicks, reducing time to market.
- Global Scale: Scale services globally, delivering resources from the nearest location to ensure low latency and optimal performance.
- Productivity: Focus on core business objectives rather than managing physical servers and infrastructure.
- Reliability: Simplify data backup, disaster recovery, and business continuity through built-in redundancy.
- Security: Use advanced security features such as encryption and multi-factor authentication (MFA) to protect sensitive data.
- Performance: Improve performance by distributing workloads across multiple servers and geographic regions for speed and redundancy.
Types of Cloud Computing
- Public Cloud: Services are owned and operated by third-party cloud providers and delivered over the internet. You pay for only for what you use(AKA Operating expense-OpEx).
- Private Cloud: Infrastructure is owned and used exclusively by a single organization. you pay for all the Infrastructure upfront (AKA Capital expense-CapEx).
- Hybrid Cloud: Combines public and private cloud environments.
- Multi Cloud: Use multiple public cloud providers.
Cloud Platform Models
Cloud services come in more than one flavor. Choosing the right one will depend on your specific needs and how much fine control you'll need over the underlying gears and levers.
Infrastructure as a Service
Infrastructure as a Service (IaaS) products generally simulate the look and feel you'd get from managing physical resources. laaS products give you direct access to a provider's compute, storage, and networking assets. Because it's you that's in there playing around at the hardware level, rather than the laaS provider, you are responsible for the consequences of any bad configurations. The trade-off is that you get to closely configure every layer of your operating stack.
- Example:
- Amazon Web Services (AWS) EC2: Rent virtual servers to run applications with control over the OS and network settings.
Platform as a Service
Unlike laaS, Platform as a Service (PaaS) products simplify the process of building an application by hiding the complexity of the infrastructure that runs it. You're given an interface through which you define the behavior and environment you want for your application.
This will often include the code that will run your application.
- Example:
- Google App Engine: A fully managed environment for deploying web apps. Developers write code, and the platform handles scaling and other operational details.
Software as a Service
Software as a Service (SaaS) products offer services meant to be accessed by end users.
-
Example:
- An easily recognizable illustration is Google's Gmail service, which allows users to manage their email by logging in to a browser interface or through an email client (like Microsoft Outlook) that's running locally.
Shared Responsibilty Model
Resource: Microsoft's Shared Responsibility Model
📚 Further Reading
-
What is Cloud Computing?
From Microsoft Azure's Cloud Computing Dictionary -
Shared Responsibility in the Cloud
From Microsoft Azure's Cloud Computing Dictionary -
AWS Certified Solutions Architect Study Guide: Associate SAA-C01 Exam
By Ben Piper and David Clinton
ISBN: 978-1119504215