5 KINDS of CLOUD DEV

Erik Ralston

Chief Architect @

Co-Founder @

What is

THE CLOUD?

Someone Else's Computer

Global

Pay-as-You-Go Infrastructure & Services

Virtual Machines (IaaS) Containers

Applications (PaaS) Microservices

Serverless

Servers

Networking

(Ask an IT Pro)

Data Center

Virtual Machines

AKA Infrastructure-as-a-Service

Physical

Servers

 

Virtual Machines

Networking

(Ask an IT Pro)

Advantages

  • Full OS Access
  • Full Control Over Config
  • Full Control Over Scale
  • Full Control Over Network
  • Devs are probably using their machines

Disadvantages

  • Admin Wizards ONLY!
  • Wide gap between dev, test, and prod
  • Cats not cattle?
  • GOOD LUCK!

Amazon EC2

(Elastic Cloud)

Virtual Machines

Containers

Physical

Servers

 

Container

Smart

Load Balancer

VM

Advantages

  • Full OS Access
  • Full Control Over Config
  • Abstract Scale
  • Automatic Dev Sandbox

Disadvantages

  • You're the OS Admin!

Amazon EC2 Container Service

ECS

Containers

Applications

AKA Platform-as-a-Service

Web App

Smart

Load Balancer

Advantages

  • Abstracts Almost Everything
  • Scale Configuration
  • Easy DX for Most Processes
  • Easy Architecture

Disadvantages

  • Extremely Limited OS Access
  • Can turn into too many black boxes
  • DX Can Suck If You Have Many Tools

Elastic Beanstalk

App Service (Web Apps, Logic Apps)

Microservices

AKA PaaS on Steroids

Microservices

(At the Class Level)

Advantages

  • Features Individually Scale in Your App
  • Efficient for Long Thinking Apps
  • Solves a lot of team problems in building apps

Disadvantages

  • No OS, Limited App
  • Architecture is complicated (Stateful, Stateless, lots of boxes)
  • DX is based on custom tools (MS is pretty easy)

AWS Lambda

Service Fabric

Serverless

AKA PaaS on LSD

Endpoint

Advantages

  • INFINITE Scale
  • Cheapest Compute
  • Transient Transactions
  • Easy API
  • Easiest DX (Just make some classes and deploy)

Disadvantages

  • Hard to limit spending
  • Must throttle with architecture
  • Security must be baked into platform
  • DX Does Require Tools

AWS Lambda

Azure Functions

Virtual Machines (IaaS) Containers

Applications (PaaS) Microservices

Serverless

Thank      

You

5 Kinds of Cloud Development

By Erik Ralston

5 Kinds of Cloud Development

A 100-level talk on the various models of Cloud Dev: Virtual Machines, Containers, Web Apps, Microservices, and Serverless

  • 747