Midwest PHP 2018 Header

Terry gave an overview of Virtual Machines (VM), Serverless options, and Containers. He also did some demos to show them off.

Main Take Aways

I think all three of these are good options but I’m still not sure when it makes sense to use containers.

Things I’m Going to Do

Try containers.

My Raw Notes

  • When picking solutions need to worry about Devs, Sysadmins and Financial people
  • What’s the problem?
    • Options are confusing and expensive
    • Where there is money there is FUD
  • Three options
    • VMs, Containers -> think their local machine but arn’t, serverless
  • VMs everyone’s first step
  • VMs
    • Split off CPU and memory into a box
    • Separates hardware from software
    • Pros:
      • Eliminate direct hardware costs
      • No changes for devs
      • Reduces toil for system admins
    • Cons:
      • Can lead to billing surprises
      • Change might cause bugs
      • System Admins lose control, problems can be created you can’t control
    • Iceburg pricing
      • Cloud pricing is more expensive when you compare hardware cost
      • Doesn’t account for maintenance, cooling, space, etc.
    • Radio Show pricing
      • When people started making TV show it was basically radio shows on TV - doing it live
      • Over buy physical server based on future growth - not completely utilized
      • Easier to buy to much VM costs
    • VM PRicing Mitigation
      • discount in pricing - move risk from cloud provider to cloud provider
      • Unstable VM - dramatically reduces prices but resources aren’t guaranteed
      • Custom VMs - Constrain resouces to your processing need
  • Serverless
    • Marketing term
    • “There’s no serverless it’s just someone else’s container”
    • Was originally PaaS
    • Pay per use
    • Code is the deliverable
    • Hardware is abstracted
    • Ways it’s handled
      • Application
        • Microservices
        • Mobile Backends
      • Event
        • File writes
        • Queue messages
      • Storage
        • Database
        • Data Warehouse
        • File storage
    • Pros
      • Pay only for exact use - no waste
      • Easier to create micro services
      • Easier to isolate services
      • No System Admin work
    • Cons
      • Burst pricing can surprise you
      • Sustained usage will tend to be more expensive
      • More serverless systems require proprietary interface
      • Existing apps require work to migrate
      • Constraints on operations you can do
  • Containers
    • VMs are slow to spin up
    • Containers think they’re running like a VM but they spin up much faster
    • Create frontend container and backend container
      • If you need more you can easily spin up more frontend containers
    • Kubernetes lets you tell what containers you need and it manages them
    • Allows you to fill up all capacity easily and when you need new physical server just add it and rebalances
    • Pros:
      • Allows better resource usage
      • Easier to create microservices
      • Easiy to isolate services
      • Less constraints from serverless
      • Encourages devs to wite easily logged, monitored, and diagnose applications
    • Cons:
      • Still requires sunk minimum costs
      • Microservices are great until they aren’t and then they hurt
      • More complexity
      • Create an additional layer of management
    • Mitigation
      • Providers have services for managed container hosting
      • Managed Kubernetes as well
  • Conculsion
  • Workload
    • VMs
      • Good for consistent load
      • Licensed executables
      • Custom Hardware
    • Containers
      • Middle step
      • Variable load
      • Microservices
      • Diminishing Legacy Apps
    • Serverless
      • Greenfield
      • Microservices
      • Unknown load
  • Staffing
    • Devel heavy - Serverless, containers
    • Systems heavy - VMs, Containers
    • Some other - VMs
  • “Personally, I love serverless but use containers”

  • Lock in
    • VM
      • Every cloud provider
    • Containers
      • Every cloud provider
    • Servers
      • Cloud Proprietary
      • No winners yet
  • “Containers, wherever you run them are a safe bet”
  • “Ultimately I think serverless will win out”