Introduction to Cloud Computing

  • Overview of cloud computing as a common yet misunderstood term in technology.

  • Objective: To provide a thorough understanding of cloud computing, its definition, trade-offs, and underlying technologies.

Definition of Cloud Computing

  • Core definition: The cloud is the elastic leasing of pooled computer resources over the Internet.

  • Key components of definition:

    • Elastic: Indicates flexibility and dynamic capabilities of cloud resources, enabling scaling up or down programmatically and instantly, akin to paying for electricity based on consumption.

    • Pooled: Refers to multiple organizations sharing the same physical hardware, facilitated by virtualization, enabling economies of scale for cloud providers such as Amazon, Google, and Microsoft.

    • Over the Internet: Customers manage no physical infrastructure, removing the burden of managing hardware, backups, and real estate.

Business Problems Addressed by the Cloud

  • Example: Online store or nonprofit organization experiencing fluctuating traffic (e.g., peak times like Black Friday or year-end donation drives).

  • Traditional approach:

    • Building a server room requires planning for maximum peak usage, leading to high capital expenditure for servers.

    • Result: Servers often sit unused, wasting resources (95% of the time) or undersized, leading to system crashes during high demand periods.

  • Cloud solution: Addresses scalability issues, providing a way to adapt resources to actual use without financial risk.

Trade-offs Between In-house vs Cloud Solutions

  • Positive aspects of the cloud:

    • Low upfront capital costs.

    • Faster development and deployment.

    • Flexibility to handle varying demand.

    • Predictable cost structure.

    • Enhanced security provided by cloud vendors, disaster recovery solutions, and avoidance of obsolescence.

  • Reasons to consider in-house solutions:

    • Control over data and infrastructure.

    • Hands-on visibility into security and disaster recovery systems.

    • Accountability and compliance concerns, especially in industries requiring stringent data governance.

  • Cloud negatives include dependency on vendor, loss of physical control over data, and limited visibility of day-to-day operations leading to black box complexities.

Historical Context of Cloud Computing

  • Mainframe Era (1960s-1980s): Centralized computers accessed via thin clients with no elasticity.

  • Client-Server Era (1990s): PCs sending requests to servers, but still faced fixed capacity limitations.

  • Cloud Era (2008-present): Applications and data are remote; can be accessed via various devices (phones, PCs, IoT).

  • Factors leading to the cloud revolution:

    • Decrease in hardware costs (processors, storage).

    • Advancements in virtualization technology, allowing one server to run multiple independent virtual machines.

    • Standardization in Internet communications.

Types of Cloud Services

  • Infrastructure as a Service (IaaS):

    • Analogy: Buying a car where users manage the entire vehicle.

    • Example platforms: Amazon EC2 (computing), Amazon S3 (storage).

  • Platform as a Service (PaaS):

    • Analogy: Renting a car with the vendor managing more complex parts.

    • Example platforms: Google App Engine, Microsoft Azure.

  • Software as a Service (SaaS):

    • Analogy: Taking a taxi where everything is managed by the vendor.

    • Example platforms: Salesforce, iCloud, Office 365.

Content Delivery Networks (CDN)

  • Definition: A distributed network of servers storing copies of static data to enhance accessibility and speed for end-users, reducing latency.

  • Benefits include:

    • Improved load times for users regardless of geography.

    • Increased reliability and traffic management during DDoS attacks, absorbing sudden influxes to prevent server downtime.

Internet Protocols and Architecture

  • Data Transfer Mechanisms:

    • Messages sent online split into packets, similar to postal packages.

    • Domain Name System (DNS): Translates domain names into IP addresses (the Internet's phone book).

    • Transmission Control Protocol (TCP): Ensures packets arrive in order like registered mail.

  • Addressing: Shift from IPv4 to IPv6 to accommodate more IP addresses in response to increasing Internet use.

  • Internal IPs used within businesses to connect securely to external cloud servers while conserving public IPs and increasing security.

Concepts Supporting Cloud Infrastructure

  • Net Neutrality: The principle that all packets should be treated equally, raising issues when high bandwidth services (like Netflix) dominate traffic.

  • Service-Oriented Architecture (SOA):

    • Standardization of web services for interaction among different cloud components, promoting scalability and vendor flexibility.

    • Encapsulation: Allows different pieces of software to interact without needing to know internal workings, facilitating dynamic scaling and service interchangeability.

    • Common data exchange formats: XML and JSON (JSON is preferred due to its lightweight nature and efficiency).

  • Three-Tier Architecture: Structure comprising user, server, and database tiers, allowing load balancers to distribute traffic efficiently and scale resources dynamically.

Security in Cloud Computing

  • Virtual Private Network (VPN): Used to create secure, encrypted tunnels over the public internet to protect data when using cloud resources.

  • Private Cloud: Internal cloud infrastructure managed with cloud technology; users access it via VPN.

  • Virtual Private Cloud (VPC): A secure, isolated section within a public cloud vendor enabling large-scale resource utilization while maintaining a secure environment.

Conclusion and Reflection

  • The cloud transitions the complexity of hardware management to service contract management, emphasizing trade-offs in control for convenience.

  • Future considerations: The consolidation of cloud infrastructure under a select few powerful companies raises questions about control and dependency in the global economy.

  • Reflect on potential impacts when a vendor's operational or financial changes threaten the promised flexibility of cloud resources.