SlideShare a Scribd company logo
1 of 22
iguazio © 2016
1
https://nuclio.io
iguazio © 2016
2
2 Years to Production
Moving Target, Skill Gaps
High CapEx & OpEx
Not Enterprise Grade
Businesses Rely on Modern Services
But DIY is Complex and Failing
2
iguazio © 2016
3
High-Level Abstractions and Serverless Solve the Complexity
Enabling faster business transformation
iguazio © 2016
4
iguazio Data Platform: Simple, Fast, and Secure
SERVERLESS FUNCTIONS MICRO-SERVICESSTATELESS DATA APIs
NoSQL API Stream API Object API File API
Security Queries & Functions Unified Data Data Lifecycle
High-performance unified data fabric
S3
Kinesis
DynamoDB
SQL (Presto)
Managed data services and
serverless like in the cloud, just:
• Unified
• Up to 100x Faster
• Deployed ANYWHERE
• 1/3rd the COST
Unified Data Platform
Productivity with Performance
iguazio © 2016
5
What is Serverless?
“No need to spend time and resources on server provisioning, maintenance,
updates, scaling, and capacity planning. Instead, all of these tasks and capabilities
are handled by a serverless platform and are completely abstracted away from the
developers and IT/operations teams” - CNCF Serverless Paper
Event
Sources
Function
Instance
invoker
Function
Instance
invoker
Function
Instance
invoker
Event
Sources
Event
Sources
Synchronous or
Asynchronous Invocation
FaaS Controller
Platform Services (Identity, Data, etc.)
iguazio © 2016
6
Serverless Application Examples
APIS, UI,
DASHBOARDS
DATA / EVENT
SOURCES
DATA
SERVICES
DATA
SERVICES
DATA
SOURCE
DESTINATION
IOT DEVICE /
GATEWAY
CENTRAL /
EDGE CLOUD
Real-time Analytics & AI Data Transformation & Movement
IoTAPIs, UI, Bots
APP
SERVICES
APP
SERVICES
SENSORS
iguazio © 2016
7
Serverless Pros and Cons
• Serverless:
Easy to deploy functions, no scripts, Dockerfiles, build, etc.
Auto-scaling and event triggers are built-in
Use any language
• What’s missing in current implementations?
Slow performance, lack of concurrency, no stream partitioning
Limited number of event sources (mostly HTTP, some Kafka)
Hard to debug and diagnose
Hard to manage complex functions and dependencies
iguazio © 2016
8
nuclio: A New Real-Time Serverless Platform
Comprehensive, Open, Super Fast and Runs ANYWHERE
Variety of event
sources, single API
8
400K Events/sec per Process
Maximum
performance
Dev, test, and run
ANYWHERE
Simple, fast and
secure data integration
https://github.com/nuclio/nuclio
http://nuclio.io
Platform
Controller
Local or shared
image repository
Event
Listeners
Real-Time, Auto-scaling Function OS
Language Runtime
Function
Workers
Data
Bindings
Pluggable
Data Services
Pluggable
Event Sources
Platform API: config, log, monitor, security
HTTP, AMQP, MQTT, Kafka,
Kinesis, NATS, Files/DB
CLI
& UI
iguazio © 2016
9
nuclio Perf Results: Single Process, Basic Echo Functions
Lang Threads HTTP Req/sec Avg Latency
1 40,281 24 us
100 372,496 2.03 ms
1 30,156 38us
100 66,681 3.41 ms
Setup: a single AWS C5.9Xlarge instance
Other Serverless/FaaS platforms processed only
1-5K events/sec at magnitudes higher latency !
Up to 100X Faster
Py
Go
iguazio © 2016
10
Data Bindings
$ nuctl deploy <name> <source> [options]
Enabling Simple and Continuous Dev and Ops (CI/CD)
One click to test, deploy, upgrade or rollback code
Runs ANYWHERE, Self-healing and auto-Scaling
LOCAL or CLOUD
iguazio © 2016
11
nuclio Playground – Online Dev, Config, and Test Environment
Edit, Deploy, Run, Test
Configure
iguazio © 2016
12
nuclio
Function Spec
Support Kubernetes CRD:
Functions can be created and
deleted using kubectl
tags/labels used for search and
event sources (Label Selectors)
Control Min/Max Replicas
for controlled auto-scale
Pass text or secret
environment variables
(k8s convention)
Flex resource allocation,
GPUs are coming
Pluggable Data
Sources
Various src code options*: inline code, path
(local/http/git), or local/remote pre-built image
namespaced
For the full spec see: https://github.com/nuclio/nuclio/blob/master/docs/configuring-a-function.md
iguazio © 2016
13
Function Example – Sentiment Analysis
Dependencies
(in YAML, UI or Code comments)
Call API
(Trigger independent)
Structured
Logging
Structured or Unstructured Response
DEMO
Type the following command and browse to <host-ip>:8070
docker run -p 8070:8070 -v /var/run/docker.sock:/var/run/docker.sock
-v /tmp:/tmp nuclio/playground:0.2.1-amd64
iguazio © 2016
15
Serverless Invocation Modes
Function
Instance
invoker
Message
Function
Instance
invoker
Function
Instance
invoker
Exchange
Message Queue
(e.g. RabbitMQ)
HTTP
API GW
Function
Instance
invoker
Function
Instance
invoker
Function
Instance
invoker
Req
Function
Instance
invoker
Function
Instance
invoker
Function
Instance
invokerPartition 1
Messages
Synchronous Req/Rep
Message Stream
Async Message Queue
Kafka,
Kinesis, etc.
Function
Instance
invoker
Function
Instance
invoker
Function
Instance
invoker
Job
Job (Master/Worker)
Priority
Queue
Master
(dealer)
Dealer
Partition 2
Partition 3
Partition 4
iguazio © 2016
16
Serverless is Enabling Intelligent and Continuous Applications
ACTIONS, INTERACTIVE
UI & DASHBOARDS
EXTERNAL
SOURCES
OPERATIONAL
DATA
CONTAINERIZED AI & ANALYTICS TOOLS
EXTERNAL DATA
SOURCES / LAKES
DATA SERVICES
Productivity | Faster Insights | Invisible Infrastructure | Lower TCO
SyncIngest / Alert
APIs &
Triggers
Analyze
iguazio © 2016
17
Real-time Maps
& Dashboards
Extract Metadata:
Geo location, time,
device, thumbnail
Deep Learning:
Detect people,
gender, age, etc.
Queries:
Find people in
places, relations
Missing person
notification
Trigger
Update
SMS
Query/Scan
Trigger
Update
Trigger
• Pictures + Metadata
• People DB, Locations
and relations
Ingest
DATA SERVICES
Real-Time Surveillance Example
iguazio © 2016
18
Streaming vehicle
data via web APIs
Real-Time Analytics for Alerts and Proactive Maintenance
Real-time enrichment with
weather & road data
Finds correlations
between weather
conditions and vehicle
components
Weather
Microservice for
data ingestion
Customer use case #1
Road info
Real-time alerts
Real-time
Dashboard
DATA SERVICES
iguazio © 2016
19
Real-Time Fleet Management Dashboard
Real-time
enriched data
Fuel consumption
and weather
correlation
Vehicle location
heatmap
Filter by bad
weather alerts
Customer use case #1
iguazio © 2016
20
Real Example: Event-Driven Analytics for Connected Cars
Geo Data
Weather/Road info
Vehicles Data
State
Changed?
Identify
Violation?
Drivers
Violations
Stream
State
Changes
Geo
Aggregate
Map
Process
Alerts
Process
Violations
External Sources
Import
service
Enriched
Events
Parallel
Enrichment
ML Processing
Complex Events + Data processed in real-time without the infrastructure hassle
real-time, auto-Scaling
serverless functions
Model Update
Stats
Update
* See code in the
UI/Playground slide
Thank You
nuclio is easy: try it and give it a
https://github.com/nuclio
Sign up for our online hackathon and build the greatest serverless
application on nuclio. You just might win a Phantom 4 drone…
iguazio © 2016
22
CLI (Run Command Example)
$ nuctl run --help
Build, deploy and run a function
Usage:
nuctl deploy function-name [flags]
Flags:
--base-image string Name of base image. If empty, per-runtime default is used
--build-command String Commands to run on build of processor image
--data-bindings string JSON encoded data bindings for the function (default "{}")
--desc string Function description
-d, --disabled Start function disabled (don't run yet)
-e, --env string Environment variables (name1=val1,name2=val2..)
-f, --file string Function configuration file
--handler string Name of handler
-h, --help help for deploy
-i, --image string Docker image name, will use function name if not specified
-l, --labels string Additional function labels (lbl1=val1,lbl2=val2..)
--max-replicas int Maximum number of function replicas
--min-replicas int Minimum number of function replicas
--no-pull Don't pull base images - use local versions
--nuclio-src-dir string Local directory with nuclio sources (avoid cloning)
--nuclio-src-url string nuclio sources url for git clone (default "https://github.com/nuclio/nuclio.git")
-o, --output string Build output type - docker|binary (default "docker")
-p, --path string Function source code path
--port int Public HTTP port (node port)
--publish Publish the function
-r, --registry string URL of container registry (env: NUCTL_REGISTRY)
--replicas int If set, number of replicas is static (default 1)
--run-image string If specified, this is the image that the deploy will use, rather than try to build one
--run-registry string The registry URL to pull the image from, if differs from -r (env: NUCTL_RUN_REGISTRY)
--runtime string Runtime (e.g. golang, golang:1.8, python:2.7)
--triggers string JSON encoded triggers for the function (default "{}")
--version string Docker image version (default "latest")
Global Flags:
-k, --kubeconfig string Path to Kubernetes config (admin.conf)
-n, --namespace string Kubernetes namespace (default "default")
--platform string One of kube/local/auto (default "auto")
-v, --verbose verbose output
See more in: https://github.com/nuclio/nuclio/blob/master/docs/nuctl/nuctl.md

More Related Content

What's hot

What's hot (20)

Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 
Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
 
Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
ELK, a real case study
ELK,  a real case studyELK,  a real case study
ELK, a real case study
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Fleet and elastic agent
Fleet and elastic agentFleet and elastic agent
Fleet and elastic agent
 
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
 
Grafana vs Kibana
Grafana vs KibanaGrafana vs Kibana
Grafana vs Kibana
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptx
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
DataPower API Gateway Performance Benchmarks
DataPower API Gateway Performance BenchmarksDataPower API Gateway Performance Benchmarks
DataPower API Gateway Performance Benchmarks
 
Event driven microservices
Event driven microservicesEvent driven microservices
Event driven microservices
 

Similar to Running High-Speed Serverless with nuclio

Webinar september 2013
Webinar september 2013Webinar september 2013
Webinar september 2013
Marc Gille
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
Cisco DevNet
 

Similar to Running High-Speed Serverless with nuclio (20)

iguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30th
 
iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)
 
nuclio Overview October 2017
nuclio Overview October 2017nuclio Overview October 2017
nuclio Overview October 2017
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching Programmability
 
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Learning the basics of Apache NiFi for iot OSS Europe 2020
Learning the basics of Apache NiFi for iot OSS Europe 2020Learning the basics of Apache NiFi for iot OSS Europe 2020
Learning the basics of Apache NiFi for iot OSS Europe 2020
 
Webinar september 2013
Webinar september 2013Webinar september 2013
Webinar september 2013
 
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUBuilding Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 
Cloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azureCloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azure
 
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 

More from iguazio

More from iguazio (8)

Accelerating Data Science With GPUs
Accelerating Data Science With GPUsAccelerating Data Science With GPUs
Accelerating Data Science With GPUs
 
Challenges of Operationalising Data Science in Production
Challenges of Operationalising Data Science in ProductionChallenges of Operationalising Data Science in Production
Challenges of Operationalising Data Science in Production
 
Webinar: Cutting Time, Complexity and Cost from Data Science to Production
Webinar: Cutting Time, Complexity and Cost from Data Science to ProductionWebinar: Cutting Time, Complexity and Cost from Data Science to Production
Webinar: Cutting Time, Complexity and Cost from Data Science to Production
 
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
The Problem is Data: Gwen Shapira, Confluent, Serverless NYC 2018
 
Building the Serverless Container Experience: Kevin McGrath, Spotinst, Server...
Building the Serverless Container Experience: Kevin McGrath, Spotinst, Server...Building the Serverless Container Experience: Kevin McGrath, Spotinst, Server...
Building the Serverless Container Experience: Kevin McGrath, Spotinst, Server...
 
Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...
Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...
Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...
 
The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018
The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018
The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018
 
Stac summit june 14th - goodbye datalakes
Stac summit june 14th - goodbye datalakesStac summit june 14th - goodbye datalakes
Stac summit june 14th - goodbye datalakes
 

Recently uploaded

NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...
NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...
NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...
Amil baba
 
一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理
一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理
一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理
pyhepag
 
Fuzzy Sets decision making under information of uncertainty
Fuzzy Sets decision making under information of uncertaintyFuzzy Sets decision making under information of uncertainty
Fuzzy Sets decision making under information of uncertainty
RafigAliyev2
 
一比一原版阿德莱德大学毕业证成绩单如何办理
一比一原版阿德莱德大学毕业证成绩单如何办理一比一原版阿德莱德大学毕业证成绩单如何办理
一比一原版阿德莱德大学毕业证成绩单如何办理
pyhepag
 
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Valters Lauzums
 
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotecAbortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理
pyhepag
 

Recently uploaded (20)

Formulas dax para power bI de microsoft.pdf
Formulas dax para power bI de microsoft.pdfFormulas dax para power bI de microsoft.pdf
Formulas dax para power bI de microsoft.pdf
 
Pre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxPre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptx
 
Slip-and-fall Injuries: Top Workers' Comp Claims
Slip-and-fall Injuries: Top Workers' Comp ClaimsSlip-and-fall Injuries: Top Workers' Comp Claims
Slip-and-fall Injuries: Top Workers' Comp Claims
 
Atlantic Grupa Case Study (Mintec Data AI)
Atlantic Grupa Case Study (Mintec Data AI)Atlantic Grupa Case Study (Mintec Data AI)
Atlantic Grupa Case Study (Mintec Data AI)
 
NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...
NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...
NO1 Best Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialist I...
 
Easy and simple project file on mp online
Easy and simple project file on mp onlineEasy and simple project file on mp online
Easy and simple project file on mp online
 
Supply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictSupply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflict
 
basics of data science with application areas.pdf
basics of data science with application areas.pdfbasics of data science with application areas.pdf
basics of data science with application areas.pdf
 
一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理
一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理
一比一原版(Monash毕业证书)莫纳什大学毕业证成绩单如何办理
 
Machine Learning for Accident Severity Prediction
Machine Learning for Accident Severity PredictionMachine Learning for Accident Severity Prediction
Machine Learning for Accident Severity Prediction
 
AI Imagen for data-storytelling Infographics.pdf
AI Imagen for data-storytelling Infographics.pdfAI Imagen for data-storytelling Infographics.pdf
AI Imagen for data-storytelling Infographics.pdf
 
Fuzzy Sets decision making under information of uncertainty
Fuzzy Sets decision making under information of uncertaintyFuzzy Sets decision making under information of uncertainty
Fuzzy Sets decision making under information of uncertainty
 
一比一原版阿德莱德大学毕业证成绩单如何办理
一比一原版阿德莱德大学毕业证成绩单如何办理一比一原版阿德莱德大学毕业证成绩单如何办理
一比一原版阿德莱德大学毕业证成绩单如何办理
 
The Significance of Transliteration Enhancing
The Significance of Transliteration EnhancingThe Significance of Transliteration Enhancing
The Significance of Transliteration Enhancing
 
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
 
社内勉強会資料  Mamba - A new era or ephemeral
社内勉強会資料   Mamba - A new era or ephemeral社内勉強会資料   Mamba - A new era or ephemeral
社内勉強会資料  Mamba - A new era or ephemeral
 
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
 
Generative AI for Trailblazers_ Unlock the Future of AI.pdf
Generative AI for Trailblazers_ Unlock the Future of AI.pdfGenerative AI for Trailblazers_ Unlock the Future of AI.pdf
Generative AI for Trailblazers_ Unlock the Future of AI.pdf
 
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotecAbortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
 
一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理
 

Running High-Speed Serverless with nuclio

  • 2. iguazio © 2016 2 2 Years to Production Moving Target, Skill Gaps High CapEx & OpEx Not Enterprise Grade Businesses Rely on Modern Services But DIY is Complex and Failing 2
  • 3. iguazio © 2016 3 High-Level Abstractions and Serverless Solve the Complexity Enabling faster business transformation
  • 4. iguazio © 2016 4 iguazio Data Platform: Simple, Fast, and Secure SERVERLESS FUNCTIONS MICRO-SERVICESSTATELESS DATA APIs NoSQL API Stream API Object API File API Security Queries & Functions Unified Data Data Lifecycle High-performance unified data fabric S3 Kinesis DynamoDB SQL (Presto) Managed data services and serverless like in the cloud, just: • Unified • Up to 100x Faster • Deployed ANYWHERE • 1/3rd the COST Unified Data Platform Productivity with Performance
  • 5. iguazio © 2016 5 What is Serverless? “No need to spend time and resources on server provisioning, maintenance, updates, scaling, and capacity planning. Instead, all of these tasks and capabilities are handled by a serverless platform and are completely abstracted away from the developers and IT/operations teams” - CNCF Serverless Paper Event Sources Function Instance invoker Function Instance invoker Function Instance invoker Event Sources Event Sources Synchronous or Asynchronous Invocation FaaS Controller Platform Services (Identity, Data, etc.)
  • 6. iguazio © 2016 6 Serverless Application Examples APIS, UI, DASHBOARDS DATA / EVENT SOURCES DATA SERVICES DATA SERVICES DATA SOURCE DESTINATION IOT DEVICE / GATEWAY CENTRAL / EDGE CLOUD Real-time Analytics & AI Data Transformation & Movement IoTAPIs, UI, Bots APP SERVICES APP SERVICES SENSORS
  • 7. iguazio © 2016 7 Serverless Pros and Cons • Serverless: Easy to deploy functions, no scripts, Dockerfiles, build, etc. Auto-scaling and event triggers are built-in Use any language • What’s missing in current implementations? Slow performance, lack of concurrency, no stream partitioning Limited number of event sources (mostly HTTP, some Kafka) Hard to debug and diagnose Hard to manage complex functions and dependencies
  • 8. iguazio © 2016 8 nuclio: A New Real-Time Serverless Platform Comprehensive, Open, Super Fast and Runs ANYWHERE Variety of event sources, single API 8 400K Events/sec per Process Maximum performance Dev, test, and run ANYWHERE Simple, fast and secure data integration https://github.com/nuclio/nuclio http://nuclio.io Platform Controller Local or shared image repository Event Listeners Real-Time, Auto-scaling Function OS Language Runtime Function Workers Data Bindings Pluggable Data Services Pluggable Event Sources Platform API: config, log, monitor, security HTTP, AMQP, MQTT, Kafka, Kinesis, NATS, Files/DB CLI & UI
  • 9. iguazio © 2016 9 nuclio Perf Results: Single Process, Basic Echo Functions Lang Threads HTTP Req/sec Avg Latency 1 40,281 24 us 100 372,496 2.03 ms 1 30,156 38us 100 66,681 3.41 ms Setup: a single AWS C5.9Xlarge instance Other Serverless/FaaS platforms processed only 1-5K events/sec at magnitudes higher latency ! Up to 100X Faster Py Go
  • 10. iguazio © 2016 10 Data Bindings $ nuctl deploy <name> <source> [options] Enabling Simple and Continuous Dev and Ops (CI/CD) One click to test, deploy, upgrade or rollback code Runs ANYWHERE, Self-healing and auto-Scaling LOCAL or CLOUD
  • 11. iguazio © 2016 11 nuclio Playground – Online Dev, Config, and Test Environment Edit, Deploy, Run, Test Configure
  • 12. iguazio © 2016 12 nuclio Function Spec Support Kubernetes CRD: Functions can be created and deleted using kubectl tags/labels used for search and event sources (Label Selectors) Control Min/Max Replicas for controlled auto-scale Pass text or secret environment variables (k8s convention) Flex resource allocation, GPUs are coming Pluggable Data Sources Various src code options*: inline code, path (local/http/git), or local/remote pre-built image namespaced For the full spec see: https://github.com/nuclio/nuclio/blob/master/docs/configuring-a-function.md
  • 13. iguazio © 2016 13 Function Example – Sentiment Analysis Dependencies (in YAML, UI or Code comments) Call API (Trigger independent) Structured Logging Structured or Unstructured Response
  • 14. DEMO Type the following command and browse to <host-ip>:8070 docker run -p 8070:8070 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp nuclio/playground:0.2.1-amd64
  • 15. iguazio © 2016 15 Serverless Invocation Modes Function Instance invoker Message Function Instance invoker Function Instance invoker Exchange Message Queue (e.g. RabbitMQ) HTTP API GW Function Instance invoker Function Instance invoker Function Instance invoker Req Function Instance invoker Function Instance invoker Function Instance invokerPartition 1 Messages Synchronous Req/Rep Message Stream Async Message Queue Kafka, Kinesis, etc. Function Instance invoker Function Instance invoker Function Instance invoker Job Job (Master/Worker) Priority Queue Master (dealer) Dealer Partition 2 Partition 3 Partition 4
  • 16. iguazio © 2016 16 Serverless is Enabling Intelligent and Continuous Applications ACTIONS, INTERACTIVE UI & DASHBOARDS EXTERNAL SOURCES OPERATIONAL DATA CONTAINERIZED AI & ANALYTICS TOOLS EXTERNAL DATA SOURCES / LAKES DATA SERVICES Productivity | Faster Insights | Invisible Infrastructure | Lower TCO SyncIngest / Alert APIs & Triggers Analyze
  • 17. iguazio © 2016 17 Real-time Maps & Dashboards Extract Metadata: Geo location, time, device, thumbnail Deep Learning: Detect people, gender, age, etc. Queries: Find people in places, relations Missing person notification Trigger Update SMS Query/Scan Trigger Update Trigger • Pictures + Metadata • People DB, Locations and relations Ingest DATA SERVICES Real-Time Surveillance Example
  • 18. iguazio © 2016 18 Streaming vehicle data via web APIs Real-Time Analytics for Alerts and Proactive Maintenance Real-time enrichment with weather & road data Finds correlations between weather conditions and vehicle components Weather Microservice for data ingestion Customer use case #1 Road info Real-time alerts Real-time Dashboard DATA SERVICES
  • 19. iguazio © 2016 19 Real-Time Fleet Management Dashboard Real-time enriched data Fuel consumption and weather correlation Vehicle location heatmap Filter by bad weather alerts Customer use case #1
  • 20. iguazio © 2016 20 Real Example: Event-Driven Analytics for Connected Cars Geo Data Weather/Road info Vehicles Data State Changed? Identify Violation? Drivers Violations Stream State Changes Geo Aggregate Map Process Alerts Process Violations External Sources Import service Enriched Events Parallel Enrichment ML Processing Complex Events + Data processed in real-time without the infrastructure hassle real-time, auto-Scaling serverless functions Model Update Stats Update * See code in the UI/Playground slide
  • 21. Thank You nuclio is easy: try it and give it a https://github.com/nuclio Sign up for our online hackathon and build the greatest serverless application on nuclio. You just might win a Phantom 4 drone…
  • 22. iguazio © 2016 22 CLI (Run Command Example) $ nuctl run --help Build, deploy and run a function Usage: nuctl deploy function-name [flags] Flags: --base-image string Name of base image. If empty, per-runtime default is used --build-command String Commands to run on build of processor image --data-bindings string JSON encoded data bindings for the function (default "{}") --desc string Function description -d, --disabled Start function disabled (don't run yet) -e, --env string Environment variables (name1=val1,name2=val2..) -f, --file string Function configuration file --handler string Name of handler -h, --help help for deploy -i, --image string Docker image name, will use function name if not specified -l, --labels string Additional function labels (lbl1=val1,lbl2=val2..) --max-replicas int Maximum number of function replicas --min-replicas int Minimum number of function replicas --no-pull Don't pull base images - use local versions --nuclio-src-dir string Local directory with nuclio sources (avoid cloning) --nuclio-src-url string nuclio sources url for git clone (default "https://github.com/nuclio/nuclio.git") -o, --output string Build output type - docker|binary (default "docker") -p, --path string Function source code path --port int Public HTTP port (node port) --publish Publish the function -r, --registry string URL of container registry (env: NUCTL_REGISTRY) --replicas int If set, number of replicas is static (default 1) --run-image string If specified, this is the image that the deploy will use, rather than try to build one --run-registry string The registry URL to pull the image from, if differs from -r (env: NUCTL_RUN_REGISTRY) --runtime string Runtime (e.g. golang, golang:1.8, python:2.7) --triggers string JSON encoded triggers for the function (default "{}") --version string Docker image version (default "latest") Global Flags: -k, --kubeconfig string Path to Kubernetes config (admin.conf) -n, --namespace string Kubernetes namespace (default "default") --platform string One of kube/local/auto (default "auto") -v, --verbose verbose output See more in: https://github.com/nuclio/nuclio/blob/master/docs/nuctl/nuctl.md