The Doppler Quarterly Spring 2019 | Page 49

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