Pontoon: An Enterprise Grade Serverless Framework Using Kubernetes As Used in VMware Cloud Services [I]
In VMware Cloud services, we perform both batch and real-time computations based on periodic schedules and on-demand events, using our in-house developed serverless framework called Pontoon. This prov …
Talk Title | Pontoon: An Enterprise Grade Serverless Framework Using Kubernetes As Used in VMware Cloud Services [I] |
Speakers | Kumar Gaurav (Director R&D, VMware), Mageshwaran Rajendran (Staff Developer, VMware) |
Conference | KubeCon + CloudNativeCon North America |
Conf Tag | |
Location | Austin, TX, United States |
Date | Dec 4- 8, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
In VMware Cloud services, we perform both batch and real-time computations based on periodic schedules and on-demand events, using our in-house developed serverless framework called Pontoon. This provides better utilization of resources and enables our service developers to write serverless functions with simple declarations. Kubernetes provides Jobs and Deployments as design constructs to handle such needs, while other frameworks like IronIO Functions, Fabric8, et al aim to solve end-to-end use case . However, we had to extend on top of Kubernetes Jobs & Deployments to define the packaging and I/O interactions of the function, implement a priority queue for execution, and provide declarative retry policy while ensuring high availability. A developer ‘writes’ a function supporting common EAI patterns for start time parameterized variables, and defines it’s packaging and scheduling using a yaml file. The framework then packages it as a Container alongwith an ‘observer’ container in a pod, ‘registers’ it with the scheduler while ensuring choice of ‘warm’ vs on-demand requisite replicas of the pod, and then through a ‘Scalar’ manages the execution and life cycle of job, while logging and tracing failures/success. This framework is in use over months in VMware Cloud services and we are now open sourcing it.