Cloud Computing Notes

Cloud Computing

  • Definition: On-demand delivery of computing power, database storage, applications, and other IT resources through a cloud service platform via the internet with pay-as-you-go pricing.
    • Key component: "via internet"
    • Requires an internet connection to access resources.

Cloud Computing Architecture

  • Consists of two main parts:
    • Front End: The interface through which users connect to the cloud.
    • Back End: Physical peripherals containing:
      • Data storage
      • Application servers
      • Network control

Types of Cloud Computing

  • Public Cloud:
    • Suitable for data that doesn't need protection.
  • Private Cloud:
    • Used for sensitive or private data that requires restricted access.
  • Hybrid Cloud:
    • Combines public and private clouds.
    • Non-sensitive data goes to the public cloud, while sensitive data remains in the private cloud.

Application Layers in Cloud Computing

  • Bottom Layer (IaaS - Infrastructure as a Service):

    • Provides bare metal (hardware).
    • Requires manual installation of the operating system and applications.
  • Middle Layer (PaaS - Platform as a Service):

    • Includes hardware with the operating system pre-installed.
    • Reduces the need for OS installation.
  • Top Layer (SaaS - Software as a Service):

    • Provides a turnkey solution with bare metal, operating system, and applications pre-installed.
    • Ready to use without configuration.
  • Cost vs. Effort: The bottom layer is less expensive but requires more work, whereas the top layer requires little to no work but is more expensive.

Global Infrastructure (AWS Example)

  • Benefits for Global Expansion:

    • Using a single provider like AWS ensures compatibility across different geographical locations (Asia, Europe, Middle East).
    • Avoids compatibility issues that arise from using different architectures in different countries.
    • Reduces overhead by eliminating the need for application programming interfaces (APIs) for communication between systems. Interface to connect two different systems.
  • Security Compliance:

    • AWS handles compliance with local regulations and legal systems, simplifying expansion into new regions.

AWS Services

  • AWS offers numerous services that can be combined to create custom solutions.
  • Services are like Lego pieces that can be assembled based on specific needs.

Managing AWS Services

  • Console User Interface: Allows manual management of cloud resources.
  • Command Line Interface (CLI): Enables automation of repetitive tasks through scripts.
  • API (Application Programming Interface):
    • AWS provides a Software Development Kit (SDK) to develop custom APIs for compatibility with other providers.

Specific AWS Services

  • EC2 (Elastic Compute Cloud):
    • Provides scalability by allowing users to increase or decrease CPU power and memory as needed.
    • Enables cost savings by scaling down resources during slow periods and scaling up during peak seasons.
    • Demonstrates the concept of elastic computing.
  • Lambda:
    • Allows programmers to test software in different environments.
  • S3 (Simple Storage Service):
    • Offers scalable storage that can be adjusted as needed.
    • Provides flexibility in storage management.

AWS Advertising and Considerations

  • AWS promotes its services based on durability, scalability, security, and cost-effectiveness.
  • Other cloud providers like Oracle Cloud Computing and Microsoft Azure also have their own advertising campaigns.
  • It's crucial to evaluate whether the features and services meet specific needs before purchasing.

Databases in AWS

  • AWS supports both relational databases (using SQL) and non-relational databases (NoSQL).

  • Relational Databases:

    • Amazon Aurora: MySQL and PostgreSQL compatible.
  • Non-Relational Databases:

    • Amazon DynamoDB: Does not require SQL.
    • Use cases depend on preference for SQL and database requirements.
  • MariaDB:

    • A free alternative to MySQL.
    • If a business uses a database, it is better to use a paid application instead of free, because when something goes wrong, the company can provide support.

Identity and Access Management (IAM)

  • Allows administrators to grant permissions to users for different tasks.
  • Enables the creation of user accounts for employees.
  • AWS charges per account, which can accumulate significant costs as the number of accounts grows.
    • Example: 100 accounts at $0.50/month = $50/month or $600/year
    • Example: 1,000 employees would be 500 per month to maintain those accounts, which totals 6,000 a year.
  • While IAM is useful, its cost implications must be considered.

Discussion: Cloud Computing vs. In-House Systems

  • Access:

    • In-House: Can use remote access VPN connections via dedicated services (e.g., AT&T, Verizon) without relying on the internet.
    • Cloud Computing: Requires an internet connection, so services are inaccessible if the connection fails.
  • Security:

    • Legal aspects: Consider how cloud providers handle law enforcement requests for data access (court order requirements).
    • Putting data in a third party's hands raises security concerns.
  • Pricing:

    • Different cloud providers (e.g., AWS, Google Drive) have varying pricing structures for storage, retrieval, and uploads.
    • Need to study and verify which structure is a better deal for you.
  • It is a give and take situation when comparing cloud computing vs in-house solutions.

Assignment: Key Concepts

  • Cloud Computing: On-demand delivery of computing power, database storage, applications, and other IT resources through a cloud service platform via the internet with pay-as-you-go pricing.
  • S3 (Simple Storage Service): Provides storage and easy access to computing power.
  • Lambda: A service for developing software applications.
  • IAM (Identity and Access Management): Manages access to resources.

Analogy

  • AWS services are like Lego pieces that can be combined to create custom solutions.

Examples of Services

  • EC2, S3, and IAM are examples of services provided by AWS.