What the XaaS?


Hiraash Thawfeek

Zuhlke

Differenciating Cloud

Scope of Delivery

Public (Cloud)

Private (Remote or On-Premise)

Hybrid (Mix of both)

Different Vendors

Amazon Web Services

Google Cloud Platform

Microsoft Azure

Alibaba Cloud

...

Cloud as Service Abstractions

Infrastructure as a Service (IaaS)

Platform as a Service (PaaS)

Software as a Service (SaaS)


Containers? - Container as Service (CaaS)

Function as a Service (FaaS)

What matters to you

  • Increased development velocity - Build fast.
  • Automated operations - Deliver fast.
  • Adequate control - Control over underlying capabilities.
  • Simplifying maintenance - Get less affected by change.
  • Current skill-set of your team.
  • Cost of infrastructure.

Infrastructure as a Service (IaaS)

  • Virtual Machines, Storage, Networking.
  • Full control of VM and OS.
  • Flexibility to configure server software.
  • Free to utilize resources.
  • Already familiar way to work.
  • Less tie-in into vendor.
  • High management overhead.
  • Need for specific skills.
  • Not very effective use of hardware.
Application Data Runtime Container Operating System Virtualization Servers Storage Networking

Container as a Service (CaaS)

  • Containerize your application.
  • Highly reusable/portable.
  • Vendor agnostic.
  • Consistent environment.
  • Very fast to start and run compared to VMs
  • You get everything as a VM for much less overhead.
  • Bit of management overhead.
  • Need for some specific skills.
Application Data Runtime Container Operating System Virtualization Servers Storage Networking

Platform as a Service (PaaS)

  • Build applications on the cloud.
  • Developer focused.
  • Less to no operations.
  • Fast to start development and get application up and running.
  • Highly scalable.
  • High fault tolerance.
  • No portability.
  • Tight vendor tie-in.
  • Data security - no control.
Application Data Runtime Container Operating System Virtualization Servers Storage Networking

Function as a Service (FaaS)

  • Write handlers and map triggers.
  • Highly scalable.
  • Charged by execution time.
  • Can cost up to 95% less compared to IaaS
  • High fault tolerance.
  • Stateless. Each run is independent.
  • Only use for serving API.
  • Not ideal for long running processes.
  • Not easily portable. Vendor tie-in.
Function Data Runtime Container Operating System Virtualization Servers Storage Networking

When to use what?

Usecase: Building a software that needs to be pushed into four different regions/countries that each use their own cloud providers.

CaaS

Usecase: Have a on-premise setup that you want to move to the cloud with minimal/no development.

IaaS

Usecase: Three developers with no cloud experience have to quickly build a app that lets you order food online.

PaaS

Usecase: You have a drawing app where users can draw vector graphics. When user saves a graphic, you want a service to convert the graphic into three sizes of png files and store them.

FaaS

Usecase: You want to run your app with specific version of Tomcat and custom built tomcat plugins.

IaaS / CaaS

Questions?


Thank you!

@hiraash