Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DockerCon 2019: Opensource Summit Serverless

DockerCon 2019: Opensource Summit Serverless

Serverless is complementary technology running side-by-side containerization. In this session, using OpenFaas and Nuclio, panelists will present use cases via a series of demos and Q&A followed by birds of feather round table discussion. This session will go beyond hello world and highlight on-prem usage of serverless and containerization technologies and the real use cases in the enterprise.
Hosted by Rupak Ganguly - Solutions Architect, Docker with panelists:
Yaron Haviv - CTO, Iguazio | Burton Rheutan - DevOps Lead, OpenFaaS Core Contributor | Pav Jimanov - CEO, SoftwareDefined

Rupak Ganguly

May 02, 2019

More Decks by Rupak Ganguly

Other Decks in Technology


  1. “Serverless usually refers to an architectural pattern where the server

    side logic is run in stateless compute containers that are event-triggered, ephemeral and fully managed by third party.” - Martin Fowler of ThoughtWorks serverless?
  2. OpenFaaS Burton Rheutan @_burtonr OpenFaaS Core Contributor 118 118 Money

    DevOps Lead Pav Jimanov @PavJimanov 2019 Dockercon Principal at SoftwareDefined Docker Captain
  3. The OpenFaaS Story • Began Nov ‘16 • DockerCon Hack

    by Alex Ellis • Containers for Alexa on Swarm • Added to CNCF Landscape • 200+ Contributors • 29+ Production users • 2 Bossie Awards • 2017 & 2018
  4. OpenFaaS Function $ faas new http-status –-lang python requests def

    handler(req): r = requests.get(req) return str(r.status_code) handler.py requirements.txt Python Template Docker Image Container Registry
  5. Event Connector Kafka OpenFaaS Gateway Function 2 payment.created Kafka Connector

    invoke Function Topic Function 1 cart.checkout Function 2 payment.created cart.checkout payment.created Function 1 cart.checkout
  6. Event Connector Kafka OpenFaaS Gateway Function 2 payment.created Kafka Connector

    invoke Function Topic Function 1 cart.checkout Function 2 payment.created cart.checkout payment.created Function 1 cart.checkout • CloudEvents • Kafka • HTTP • Cron • AWS SNS • Redis • MQTT • NATS • ...and more
  7. Serverless...on servers • Portable • Docker Swarm • Kubernetes •

    Hashicorp Nomad • AWS Fargate • Raspberry Pi (ARM) • Lightweight • Run in existing cluster • Separate namespaces (K8s) Image courtesy of Chris Watterson
  8. • Join the Community • https://docs.openfaas.com/community • Try out the

    workshop • https://github.com/openfaas/workshop • Support the project • https://opencollective.com/openfaas What’s Next
  9. Local Operation with Swarm Function OpenFaaS Gateway VueJS UI C#

    API default network func_functions network
  10. Main Challenge Today: How to Innovate & Iterate Faster Complex,

    Long Development ƒ Many moving parts, lack of skilled developers, scientists, and DevOps Production readiness ƒ Error-handling, security, logging, auto- scaling, live updates, .. Slow to respond or act ƒ High-latency, or fast but inaccurate ƒ Cloud latency/bandwidth barriers Modern Apps Today: Serverless Automate dev and ops High-performance Data, AI and app services Federated multi-cloud, on-prem or edge The Need:
  11. But, Serverless Comes With Challenges Slow performance, lack of concurrency

    Stateless, limited application patterns Limited number or cloud specific event sources Hard to debug and diagnose, build dependencies Cloud vendor API lock-in
  12. ƒ Non-blocking, parallel ƒ Zero copy, buffer reuse ƒ Up

    to 400K events/sec/proc ƒ GPU Support Nuclio: Taking Serverless to The Next Level Function Workers Event Listeners Open-source Serverless for compute and data intensive tasks, 100x faster than AWS Lambda ! Extreme Performance Shard 1 Workers Workers Shard 2 Shard 3 Shard 4 Workers Advanced Data & AI Features DB, MQ, File Functions ƒ Auto-rebalance, checkpoints ƒ Any source: Kafka, NATS, Kinesis, event- hub, iguazio, pub/sub, RabbitMQ, Cron, .. ƒ Jupyter, Spark, Rapids integration ƒ Data bindings ƒ Shared volumes ƒ Context cache Statefulness nuclio processor
  13. 5 Best Match: Serverless + Kubernetes DBaaS Object (S3) •

    Cloud independent APIs, on-prem, edge • Auto-scaling + abstract infrastructure • One platform for serverless & containers • Abstraction: Auto generated code, Docker files & YAMLs • Automated dev & ops flow, observability • Maximizing performance and resource efficiency • Everything is a Kubernetes resource • “Serverless” data services • Endless scalability
  14. 7 Main usage: Fast, Intelligent, Data Driven Apps Persistent Data

    and Computation Cluster Scalable & Open ML Pipeline Serverless Models & APIs Automated Collection & Pre-processing Monitor Intelligent & Interactive Apps Simple and self-service consumption Real-time and historical data Open Services Data Sources
  15. 8 Demo: Real-Time Analysis of Financial Data RT Tweet Sentiment

    Analysis Tick feed Analysis & Tagging Real-time Dashboard News Stream viewer World Trading Data Data Exploration & Analysis • Enriched tweet stream • Stocks tables • Stocks + sentiment TSDB
  16. 9 Auto-Healing Network Operations ƒ Replaced a complex Hadoop based

    data pipeline that was never productized ƒ Cross correlating real time data from multiple sources with historical data ƒ AI based predictions trigger pre-programmed actions that fix evolving problems in the network ƒ Implemented within weeks Predict and avoid network outages in real-time
  17. 10 Demo: Predictive Infrastructure Monitoring NLP processing Of real-time logs

    Network data Exploration & Correlation ML Training, Model export Failure & Anomaly prediction Real-time telemetry Auto-deploy Real-time DB
  18. 11 ƒ Eliminating scale, operations and cost challenges ƒ Nuclio

    comes with a bunch of advantages: o Make your apps faster and simpler o Support many data sources (not locked to cloud) o Comes in open source or fully managed flavors Serverless Is rapid dev & ops for microservices Summary My Email: [email protected]
  19. Rate & Share Rate this session in the DockerCon App

    Follow: @rupakg, @pavjimanov @_burtonr @yaronhaviv Tweet: #DockerCon