Skip to content

Latest commit

 

History

History
56 lines (49 loc) · 2.66 KB

1.3.1. Compute & Serverless & Storage.md

File metadata and controls

56 lines (49 loc) · 2.66 KB

Compute & Serverless & Storage

  • Cloud is like electricity
    • only pay for what you need
    • don't worry about how & when power plants upgrade to the latest technology.
    • you don't manage scaling, e.g. many people can move to town and light will stay on
  • Cloud computing
    • Solves management of hardware and software
    • = Renting resources, like storage space or CPU cycles, on another company's computers
    • Flexible and cost-efficient,
      • E.g. you only pay for what you use.
  • Cloud Provider
    • Provides cloud computing services
    • E.g. Microsoft, Amazon, Google
    • Typical services:
      • Compute power: such as Linux/Windows servers or web applications
      • Storage: such as files and databases and blobs
      • Networking: such as secure connections between the cloud provider and your company/datacenter
      • Analytics: such as visualizing telemetry and performance data

Compute Power

  • Choose how you want work to be done based on your resources and needs.
  • Virtual Machines (VM)
    • Emulation of a computer, like your desktop / laptop
    • Includes operating system and hardware, you can install any software on it.
    • More control and responsibility over maintenance.
    • Cloud provider runs it for you in one of its datacenters
      • Often sharing that server with other VMs
  • Containers
    • Consistent, isolated execution environment for application
    • Similar to VM but they don't require guest operating system
      • They can run on different guest systems
        • Highly portable, can run on-premises or in the cloud with often no changes to application.
      • Takes few seconds/lesser time to start up as there's no OS to initialize
    • Application and its dependencies are packaged into a container
    • Docker
      • Open source
      • The leading platform for managing containers.

Serverless computing

  • Lets you run application code without creating, configuring, or maintaining a server
  • Your application is broken into separate functions that runs when triggered by some action/event
  • Good for automation e.g. serverless process that automatically sends an email confirmation after a customer makes an online purchase.
  • pay for the processing time used by each function as it executes.
    • ❗On contrast, VMs and containers are running even if the applications on them are idle.

Storage

  • Most devices and applications read and/or write data
    • E.g. when leaving a voicemail
  • Cloud providers offers different services
    • e.g. for storing a text you can use file on disk.
    • e.g. for relationships in address book, you can use a database
  • Advantage of a cloud-based data storage is you can scale to meet your needs.