With the release of Azure Functions 2.0, Functions core tools now support exporting
Azure Functions into Dockerfile, so you can package an application function into con-
tainers and get deployed on an Azure Container Instances (ACI). ACI fires up in a few
seconds and provides hypervisor-level security to make sure the application is hardened
and isolated at the instance level.
While Microsoft and Amazon may choose to run these transient containers as VMs, Goo-
gle has built Cloud Run based on Knative to deploy transient container stacks on top of
Kubernetes and Istio. Knative focuses on an idiomatic developer experience and is
designed to plug easily into existing build and CI/CD toolchains.
Users and Systems (IoT)
use applications devel-
oped and deployed by
developers and hosted
by operators
Istio
Knative
Developers
build and
deploy apps
API
Github
Kubernetes
Contributors develop
and contribute code and
docs to the OSS project
Operators deploy and man-
age Knative instances using
Kubernetes API and tools
Platform Providers (such as
Google Cloud Platform) pro-
vide underlying infrastructure
Figure 5: Knative Architecture
Though implementations differ, the focal point is the management via Kubernetes. Vir-
tual Kubelets integrates ACI with k8s, whereas Firecracker provides OCI-compliant con-
tainers to manage container images on Kubernetes, and Knative is already built on k8s.
Adopting Kubernetes to be a unified platform to manage both serverless and container
workloads not only allows you to fully exploit and embrace the modern, cloud-native
architectures, but also optimizes your DevOps capabilities.
SPRING 2019 | THE DOPPLER | 47