Pontoon An Enterprise grade serverless framework using Kubernetes Kumar Gaurav, Director R&D, VMware Mageshwaran R, Staff Engineer R&D, VMware

Similar documents
Serverless in the Java ecosystem

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Serverless architectures with Fn Project

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

Getting Started With Serverless: Key Use Cases & Design Patterns

AWS Lambda: Event-driven Code in the Cloud

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Kubernetes Integration with Virtuozzo Storage

The Fn Project Open Source Serverless Computing

Going cloud-native with Kubernetes and Pivotal

Using GPUaaS in Cloud Foundry

Running MarkLogic in Containers (Both Docker and Kubernetes)

OpenShift Roadmap Enterprise Kubernetes for Developers. Clayton Coleman, Architect, OpenShift

Mesosphere and the Enterprise: Run Your Applications on Apache Mesos. Steve Wong Open Source Engineer {code} by Dell

Serverless Computing: Design, Implementation, and Performance. Garrett McGrath and Paul R. Brenner

SUSE s vision for agile software development and deployment in the Software Defined Datacenter

Designing MQ deployments for the cloud generation

InterSystems Cloud Manager & Containers for InterSystems Technologies. Luca Ravazzolo Product Manager

Container-Native Storage

Exploring Cloud Security, Operational Visibility & Elastic Datacenters. Kiran Mohandas Consulting Engineer

Important DevOps Technologies (3+2+3days) for Deployment

Hedge The New Serverless Framework By Janne Kujanpää

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

/ Cloud Computing. Recitation 5 February 14th, 2017

Serverless The Future of the Cloud?!

A Glance Over the Serverless Framework

Beyond 1001 Dedicated Data Service Instances

How to go serverless with AWS Lambda

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

SERVERLESS APL. For now this is just research in Cloud technologies in SimCorp A/S.

VMWARE PIVOTAL CONTAINER SERVICE

Leveraging the Serverless Architecture for Securing Linux Containers

Building an Operating System for AI

Cisco Container Platform

Code: Slides:

Lessons Learned: Deploying Microservices Software Product in Customer Environments Mark Galpin, Solution Architect, JFrog, Inc.

What s New in K8s 1.3

Deep Dive Amazon Kinesis. Ian Meyers, Principal Solution Architect - Amazon Web Services

Construct a sharable GPU farm for Data Scientist. Layne Peng DellEMC OCTO TRIGr

AZURE CONTAINER INSTANCES

RED HAT GLUSTER TECHSESSION CONTAINER NATIVE STORAGE OPENSHIFT + RHGS. MARCEL HERGAARDEN SR. SOLUTION ARCHITECT, RED HAT BENELUX April 2017

Reimagining OpenStack*

Think Small: API Architecture For The Enterprise

IBM Bluemix compute capabilities IBM Corporation

OpenWhisk on Mesos. Tyson Norris/Dragos Dascalita Haut, Adobe Systems, Inc.

CONTAINERS AND MICROSERVICES WITH CONTRAIL

Serverless Computing and the Apache OpenWhisk Project

CNA1699BU Running Docker on your Existing Infrastructure with vsphere Integrated Containers Martijn Baecke Patrick Daigle VMworld 2017 Content: Not fo

VMware s (Open Source) Way of Container. Dr. Udo Seidel

The Software Defined Data Centre & vsphere 6.5 The foundation of the hybrid cloud Barry Coombs

VMWARE PKS. What is VMware PKS? VMware PKS Architecture DATASHEET

VMworld 2017 Content: Not for publication #CNA1699BE CONFIDENTIAL 2

NET1821BU THE FUTURE OF NETWORKING AND SECURITY WITH NSX-T Bruce Davie CTO, APJ 2

Event Streams using Apache Kafka

VMware Cloud on AWS Technical Deck VMware, Inc.

Continuous Delivery for Cloud Native Applications

MSB to Support for Carrier Grade ONAP Microservice Architecture. Huabing Zhao, PTL of MSB Project, ZTE

Zend PHP Cloud Application Platform

Building an on premise Kubernetes cluster DANNY TURNER

STATE OF MODERN APPLICATIONS IN THE CLOUD

DEFINING SECURITY FOR TODAY S CLOUD ENVIRONMENTS. Security Without Compromise

Setting up Kubernetes with Day 2 in Mind. Angela Chin, Senior Software Engineer, Pivotal Urvashi Reddy, Senior Software Engineer, Pivotal

Serverless Design Patterns And Best Practices

FIVE REASONS YOU SHOULD RUN CONTAINERS ON BARE METAL, NOT VMS

Catalyst. Uber s Serverless Platform. Shawn Burke - Staff Engineer Uber Seattle

Serverless Architecture Hochskalierbare Anwendungen ohne Server. Sascha Möllering, Solutions Architect

SQL Server on Linux and Containers

Knative: Building serverless platforms on top of Kubernetes

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

Building Kubernetes cloud: real world deployment examples, challenges and approaches. Alena Prokharchyk, Rancher Labs


BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Bitnami s Kubernetes Projects Leverage Application delivery on Next Generation Platforms

Going Serverless. Building Production Applications Without Managing Infrastructure

Persistent Storage with Docker in production - Which solution and why?

Automated Deployment of Private Cloud (EasyCloud)

Migrating Applications with CloudCenter

Minimal OpenStack Starting Your OpenStack Journey

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

In-cluster Open Source Testing Framework

MQ High Availability and Disaster Recovery Implementation scenarios

Spark and Flink running scalable in Kubernetes Frank Conrad

YOUR APPLICATION S JOURNEY TO THE CLOUD. What s the best way to get cloud native capabilities for your existing applications?

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

AWS Lambda and Cassandra

Hedvig as backup target for Veeam

Defining Security for an AWS EKS deployment

Leveraging Docker and CoreOS to provide always available Cassandra at Instaclustr

Cloud Native Applications. 主讲人 :Capital One 首席工程师 Kevin Hoffman

CloudCenter for Developers

How Container Runtimes matter in Kubernetes?

Deploying and Operating Cloud Native.NET apps

Companion Guide to Practical Tools for Serverless Computing UCC 2017

Case Study: Aurea Software Goes Beyond the Limits of Amazon EBS to Run 200 Kubernetes Stateful Pods Per Host

Orchestration Ownage: Exploiting Container-Centric Datacenter Platforms

Docker Live Hacking: From Raspberry Pi to Kubernetes

ANIKET DAPTARI & RANJINI RAJENDRAN CONTRAIL TEAM

Science-as-a-Service

DEPLOY MODERN APPS WITH KUBERNETES AS A SERVICE

Transcription:

Pontoon An Enterprise grade serverless framework using Kubernetes Kumar Gaurav, Director R&D, VMware Mageshwaran R, Staff Engineer R&D, VMware

Serverless: a quick review Enables running back end logic with out managing server applications Mostly event driven and instantaneously scalable Constraints Ephemeral should start, process and finish in some time (Calls for small startup time) Stateless shares no process state across executions (Calls for external persistence / state management) Typical Use cases Scheduled tasks, Dynamic and burstable workloads, Message driven applications projected CAGR of 32.7%

Agenda What is our need Requirements Pontoon Architecture Capabilities Operational aspects Take away Demo

What is our need? We work for VMware Cloud Services We ship our binaries in Docker container packaging, and use Kubernetes as the orchestration layer Run on AWS cloud and as well as vsphere private cloud AWS Lambda By April 17, we needed a framework to run scheduled & on-demand jobs We evaluated popular frameworks, but finally built one (Pontoon) on top of Kubernetes Jobs in about 2-3 eng months effort * Solve for self * My company pays me for solving business problem only

Serverless Functions Our Requirements 1. Function is a process 2. Finite 3. Stateless 4. JVM, Python and Go (maybe!) 5. Runtime: few sec to few min 6. Idempotent

Serverless Framework Our Requirements 1. Native to Kubernetes 2. Persist logs 3. Functions can access other k8s resources 4. Retry limit, and max parallelism 5. Should be highly available 6. Visibility on function execution and status 7. At least once execution 8. Register function by API 9. Not needed: chaining of functions

Requirement translation * How to package function? * Spec for developers? Business Logic worker Init Init Init cont cont cont ainer ainer ainer - Execute job, persist output - Interact with other live services Concurrent Job Store - Prioritized consumption - Update on progress - Add jobs to queue - Remove completed - Error handling policy Orchestrator with Scheduler (now+cron) Disk backed (priority) queue Other Other services Other live services services Shared persistence REST CRUD APIs (for developers)

Fitment of existing frameworks Requirements Iron IO Functions Fabric8 Funktion Fission OpenWhisk K8S Integration Yes, not native K8s only K8s only Yes, not native Access to K8S cluster resources No Yes Yes No Language agnostic Yes, Container Yes, Container Yes, Environment Yes, Container Visibility on event queue/ monitoring No Yes No - Persisted Logs No Yes Yes - Cons Error handling; k8s network; Logs Stores code in config map; SANDBOXED CLOSEST MATCH JVM not supported Deploy on k8s wasn t fully supported at time of eval This might be a bit outdated. Comprehensive study was done in early April 2017. New entrants: kubeless

Enters Pontoon Pontoons are airtight hollow structures, similar to pressure vessels, designed to provide buoyancy in water. Their principal applications are in watercraft hulls and aircraft floats, floating pier and pontoon bridge construction, and marine engineering applications such as salvage. -- wikipedia Light weight. Purpose built. Versatile.

Pontoon - Design choices Do not interact with docker daemon directly Need to handle image cleanup Might not work with K8S cluster monitoring tools Requires custom CLI for monitoring Embrace Kubernetes Job & Deployments Cold startup - Job Ability to control parallel executions Easier optimization using no. of completions Deployment - Warm nodes (not yet done) We don t aspire for pure play FaaS. If you were thinking of enhanced auth/security

Pontoon - Architecture POST /api/v1/function/{app} { name : CostEngine, image : **/pontoon/cost-engine:1-41-12, "timeout": 30, "memory": 1500, "maxretrycount": 3, "priority": 1, parallelism : 3 }POST /api/v1/event/{app}/{function} [ Event payload in JSON format ] Function Reporter GET localhost:8000/input POST localhost:8000/done or /fail Find the pending events in Queue and create a job with completion & parallelism count

Capabilities Functions can be grouped as App Ability to pass configuration s as headers and env Configurable Retry, max parallelism Cron based schedule support Integration with Open tracing

Operational aspects Deployment using a single yaml Integrate your Logging solutions Event Audit Configurable history Monitoring UI Duplicate event detection (configurable) Runs everywhere on K8S Unit testability using HTTP Mock Server

A quick DEMO!

Monitoring: Logs

Monitoring: Status reporting

Monitoring: Job Execution

Our Experience take away Look at your requirements first Then scout community projects If needed, build your own: it s easy! Watch out for scale issues not in function but on its dependency (DB, other services etc.,) Doesn t mean no-ops. Needs observability & monitoring Product becomes more robust transition to 12factor app Saves us ~1,000 USD a day Expect 10X more scale by end-2018 Next: Pontoon running on AWS Spot Instances

Questions???