☁️Cloud Computing Architecture Unit 1 – Cloud Computing: Concepts and Models

Cloud computing revolutionizes how businesses access and manage IT resources. It offers on-demand access to shared computing power, storage, and services over the internet, enabling companies to scale efficiently and innovate faster without heavy upfront infrastructure investments. This unit explores key concepts like virtualization and elasticity, various service models (IaaS, PaaS, SaaS), and deployment options (public, private, hybrid). It also covers benefits, challenges, architectural basics, real-world applications, and future trends in cloud computing.

What's Cloud Computing?

  • Cloud computing delivers computing services over the internet (the cloud) including servers, storage, databases, networking, software, analytics, and intelligence
  • Offers faster innovation, flexible resources, and economies of scale typically only paying for cloud services used helping lower operating costs, run infrastructure more efficiently, and scale as business needs change
  • Enables ubiquitous, on-demand access to a shared pool of configurable computing resources (networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction
  • Allows companies to avoid or minimize up-front IT infrastructure costs instead of owning their own computing infrastructure or data centers, companies can rent access to anything from applications to storage from a cloud service provider
  • Empowers organizations to deploy their applications in multiple physical locations at the click of a button which can provide redundancy and reduce latency

Key Concepts and Terminology

  • Virtualization: The process of creating a software-based, or virtual, representation of something, such as virtual applications, servers, storage, and networks. It is the single most effective way to reduce IT expenses while boosting efficiency and agility for all size businesses.
    • Hypervisor: A piece of software, firmware, or hardware that creates and runs virtual machines (VMs) acting as a platform for the VMs and managing the execution of the VMs
  • Scalability: The ability of a system to handle growing amounts of work by adding resources to the system
    • Horizontal scaling (scaling out): Adding more machines or instances to the system
    • Vertical scaling (scaling up): Adding more power (CPU, RAM) to an existing machine
  • Elasticity: The ability to scale computing resources up and down easily while avoiding the need to invest in infrastructure
  • Fault Tolerance: The ability of a system to continue operating without interruption when one or more of its components fail
  • High Availability: The ability of a system to operate continuously without failing for a designated period of time, ensuring minimal downtime
  • Workload: The amount of processing that the computer has been given to do at a given time

Cloud Service Models

  • Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet (Azure, AWS, Google Cloud Platform)
    • Offers access to fundamental resources such as physical machines, virtual machines, virtual storage, etc.
    • Highest level of flexibility and management control over IT resources
  • Platform as a Service (PaaS): Provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure (Heroku, Google App Engine, AWS Elastic Beanstalk)
    • Allows you to avoid the expense and complexity of buying and managing software licenses, the underlying application infrastructure and middleware, container orchestrators such as Kubernetes, or the development tools and other resources
  • Software as a Service (SaaS): Provides a completed product that is run and managed by the service provider (Salesforce, Google Apps, Dropbox)
    • Users don't have to worry about how the service is maintained or how the underlying infrastructure is managed
    • Generally, users can access the software through a web browser or API
  • Function as a Service (FaaS): Allows developers to build, compute, run, and manage application packages as functions without maintaining the infrastructure (AWS Lambda, Azure Functions, Google Cloud Functions)
    • Enables developers to deploy individual functions (pieces of business logic) in the cloud that are executed independently

Cloud Deployment Models

  • Public Cloud: Cloud computing resources owned and operated by a third-party cloud service provider delivered over the internet (AWS, Microsoft Azure, Google Cloud Platform)
    • All hardware, software, and other supporting infrastructure is owned and managed by the cloud provider
    • Scalable and elastic to meet the needs of application and workload demands
  • Private Cloud: Cloud computing resources used exclusively by a single business or organization, physically located on the company's on-site datacenter or hosted by a third-party service provider
    • Offers a higher level of security and privacy through company firewalls and internal hosting
    • Ensures the company is in complete control of their data, security, and system performance
  • Hybrid Cloud: Combination of public cloud and private cloud services with orchestration and automation between the two
    • Allows data and applications to move between private and public clouds for greater flexibility and more deployment options
    • Enables taking advantage of economies of scale and cost savings through the public cloud while maintaining security and control of mission-critical data on-premises

Benefits and Challenges

Benefits:

  • Cost Savings: Eliminates the capital expense of buying hardware and software, setting up, and running on-site datacenters
  • Scalability and Elasticity: Ability to scale resources up and down as needed to meet fluctuating demand
  • Reliability: Data backup, disaster recovery, and business continuity easier and less expensive because data can be mirrored at multiple redundant sites on the cloud provider's network
  • Agility: Quickly develops, tests, and launches applications and services without worrying about underlying infrastructure
  • Global Reach: Deploy applications in multiple regions around the world with just a few clicks allowing to provide lower latency and a better experience for customers at minimal cost

Challenges:

  • Security and Privacy: Ensuring data security, privacy, and regulatory compliance as data is stored on third-party servers
  • Vendor Lock-In: Difficulty moving data and applications between cloud providers due to lack of standardized protocols, APIs, data structures, and service models
  • Governance and Control: Ensuring proper governance and control over data and applications in the cloud
  • Performance and Latency: Ensuring consistent performance and minimizing latency, especially for applications that require real-time response
  • Cost Management: Controlling and optimizing costs as cloud usage grows and becomes more complex

Cloud Architecture Basics

  • Front-end: The part of the application that the user directly interacts with, usually consisting of user interfaces and client-side logic (web browsers, mobile apps)
  • Back-end: Consists of servers, databases, and APIs that power the front-end and are responsible for data storage, processing, and business logic
  • APIs (Application Programming Interfaces): Allow different components of the cloud architecture to communicate and exchange data with each other (REST, GraphQL)
  • Databases: Store and manage data in the cloud (relational databases like MySQL and PostgreSQL, NoSQL databases like MongoDB and Cassandra)
  • Serverless Computing: Allows running code without provisioning or managing servers with the cloud provider allocating machine resources on demand and taking care of the servers on behalf of the customer (AWS Lambda, Azure Functions)
  • Containers: Lightweight, standalone, and executable packages that include everything needed to run a piece of software (Docker, Kubernetes)
  • Microservices: Architectural style that structures an application as a collection of small, loosely coupled, and independently deployable services

Real-World Applications

  • Netflix: Utilizes AWS for its streaming service, database storage, analytics, and recommendation engines allowing to quickly deploy thousands of servers and terabytes of storage within minutes
  • Salesforce: Provides a SaaS CRM platform that enables businesses to connect with customers, partners, and potential customers entirely in the cloud
  • Dropbox: Relies on a hybrid cloud approach storing files in its own data centers while also taking advantage of AWS for increased reliability and performance
  • Airbnb: Uses AWS to host its website, mobile app, and big data projects allowing to grow from a small startup to a global company valued at over $30 billion
  • Spotify: Migrated its backend infrastructure to Google Cloud Platform to leverage its scalability, reliability, and access to advanced data analytics and machine learning capabilities
  • Multi-Cloud and Hybrid-Cloud Strategies: Organizations increasingly adopt multi-cloud (using multiple cloud providers) and hybrid-cloud strategies for better flexibility, cost-optimization, and avoiding vendor lock-in
  • Artificial Intelligence and Machine Learning: Cloud providers offer AI and ML services (AWS SageMaker, Google Cloud AI) making it easier for businesses to leverage these technologies without significant investment in infrastructure and expertise
  • Serverless Computing: The adoption of serverless computing is expected to grow as it allows developers to focus on writing code without worrying about infrastructure management
  • Edge Computing: Processing data closer to where it's being generated (IoT devices) to reduce latency and improve real-time decision making
  • Sustainability: Cloud providers are investing in renewable energy and implementing sustainable practices to reduce the carbon footprint of data centers and cloud operations


© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.

© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.