SlideShare a Scribd company logo
1 of 16
Download to read offline
https://github.com/nuclio/nuclio
https://www.youtube.com/watch?v=xlOp9BR5xcs
Serverless for Real-Time Events and Data Processing
iguazio © 2016
2
Event
Listeners
Function Processors
Runtime
Function
Workers
Data
Bindings
Control, Logging, Monitoring, Security, ..
HTTP, stream
, msg Q, DB, ..
Pluggable
Data Services
Pluggable
Event Sources
Dealer BuilderController image
repo
Platform: Kubernetes, Cloud Provider, Device (IoT) .. Local or remote
nuclio - Comprehensive, Open, Portable and Super Fast “Serverless”
• Real-time processing, low CPU overhead and maximum parallelism
• Simple debugging, regression, and multi-versioned CI/CD pipeline
• Pluggable data/event sources with common APIs
• Portable across low-power devices, laptops, on-prem and public cloud
External
Monitoring
& Logging
Nuctl (CLI)
Playground
UI
https://github.com/nuclio/nuclio
iguazio © 2016
3
Function Processor
Event
Listeners
Fetch/Serve
events Language Runtime Engine
Function
Workers
Data
Bindings
Connect
& Cache
Control Framework: Portal, Logging, Monitoring, Security, …
Event Sources (Pluggable):
• Sync: HTTP
• Async: RabbitMQ, MQTT, NATS
• Stream: Kafka, Kinesis, v3io
• Polling: DB/file changes
Interface to platform resources through pluggable APIs Data Bindings (Pluggable):
• File & Obj: volumes, S3, v3io
• DB: DynamoDB, v3io
• Stream : Kafka, Kinesis, v3io
• Message: RabbitMQ
Develop, test, run ANYWHEREAny source and workload
Simple, fast, secure,
portable data integration
nuclio Processor – Fast, Modular and Extensible
400K events/sec per process (100x faster than leading implementations)
Super fast, Zero-copy access
to events and data
Multiple async workers for
maximum parallelism with
minimum CPU overhead
Events and data
abstractions enable
re-use and portability
iguazio © 2016
4
Perf Results, Single Process, Using Basic Functions
https://github.com/v3io/http_blaster
Tested using:
Native
Prometheus
Integration
iguazio © 2016
5
Nuclio 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, …
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
6
Dealer
Processor
Function
Workers
Partitioned data or
Stream shards
Job Spec:
- functions (selector)
- Task num/list
- Max tasks per processor
- Min/Max processors
- ..
- Job Metadata
Function
Workers
Job X (w 5 tasks)Job Y (w 4 tasks)
POD Up/Down events
Deployment scale changes
Auto-scale based on
CPU load or Q delay
Allocate or Re-distribute tasks to
processors (1 task per worker)
Nuclio
controller
Nuclio Dealer
• Enable real-time stream processing, batch and
interactive jobs on auto-scaling Serverless functions
• By dynamically allocating tasks to workers and
handling task lifecycle, checkpoint and completion
Every job or stream is
partitioned to N smaller Tasks
Processor
iguazio © 2016
7
nuclio Features and Performance Make Serverless Broadly Applicable
• Enrich
• Aggregate
• Predict
INTERACTIVE UI &
REAL-TIME DASHBOARDS
ACTIONS
UNSTRUCTURED
EVENTS & DATA
EXTERNAL SOURCES
CHANGE
DATA CAPTURE (CDC)
OPERATIONAL DATA
CONTAINERIZED ML
& ANALYTICS TOOLS
Complex Event
Processing (CEP)
POLICY BASED
SYNC & BACKUP
DATA SERVICES
DATA INGESTION, PREP
& REAL-TIME DECISIONS
Higher-Productivity | Faster insights | No Infrastructure Hassle | Lower TCO
iguazio © 2016
8
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
iguazio © 2016
9
nuclio
Function Spec
Support Kubernetes CRD:
Functions can be created &
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
*Advanced build instructions &
dependencies are in the build.yaml file
iguazio © 2016
10
Nuclio Common Event Model
Simplify and generalize
client implementation
Enable zero copy and zero
ser/des when possible
iguazio © 2016
11
Context.logger Interface
One log interface, multiple implementations (screen, file, stream, http, ..), extensible
Support both structured &
unstructured logging
Support nested/hierarchical logs
iguazio © 2016
12
Default Context.DataBinding API (sync & async ver), can be overwritten
Service Major APIs Main Request Params
Object
e.g. S3, Minio, v3io
ListObjects
GetObject
PutObject
DeleteObject
Bucket, Prefix, MaxKeys
Bucket, Key, Range
Bucket, Key ,Metadata, Body
Bucket, Key
NoSQL
e.g. DynamoDB,
Cassandra, v3io
GetItem
GetItems
PutItem
UpdateItem
DeleteItem
Table, Key ,Projection
Table, ConditionExpression, ProjectionExpression, Limit
Table, Key, ProjectionExpression, item
Table, Key, UpdateExpression, ConditionExpression
Table, Key, ConditionExpression
Stream
e.g. Kinesis, Kafka,
v3io
GetRecords
PutRecords
Seek
Stream, ShardId, Location, Limit
Stream, Records
Stream, ShardId, SeekType, SeekTime, StartingSequence, Timestamp
File
Open
Read
Write
Path, Mode, flags
Handle, offset, size
Handle, offset, size, data
iguazio © 2016
13
Nuclio Playground (run as isolated k8s deployment)
iguazio © 2016
14
CLI (run command example)
$ nuctl run --help
Build, deploy and run a function
Usage:
nuctl run function-name [flags]
Flags:
--data string Comma separated list of data bindings (in json)
--data-bindings string JSON encoded data bindings for the function
--desc string Function description
-d, --disabled Start function disabled (don't run yet)
-e, --env string Environment variables (name1=val1,name2=val2..)
--events string Comma separated list of event sources (in json)
-f, --file string Function Spec File
-h, --help help for run
-i, --image string Docker image name, will use function name if not specified
-l, --labels string Additional function labels (lbl1=val1,lbl2=val2..)
--max-replica int32 Maximum number of function replicas
--min-replica int32 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 int32 Public HTTP port (node port)
--publish Publish the function
-r, --registry string URL of container registry (env: NUCTL_REGISTRY)
--run-registry string The registry URL to pull the image from, if differs from -r (env: NUCTL_RUN_REGISTRY)
--runtime string Runtime – golang, python, ..
-s, --scale string Function scaling (auto|number) (default "1")
--version string Docker image version (default "latest")
Global Flags:
-k, --kubeconfig string Path to Kubernetes config (admin.conf) (default ~/.kube/config")
-n, --namespace string Kubernetes namespace (default "default")
-v, --verbose verbose output
See more in: https://github.com/nuclio/nuclio/blob/master/docs/nuctl/nuctl.md
iguazio © 2016
15
Data Bindings
$ nuctl run <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
16
ORCHESTRATION SERVERLESS PROCESSING ML & AI FRAMEWORKS DATA SERVICES APIS
HYBRID DEPLOYMENT
NoSQL API Stream API Object API File API
Security Queries & Functions Unified Data Data Lifecycle
On-Premises Hosted Cloud Edge
Event Driven Code
• Used in iguazio’s platform
• Developed for the real world
• Now completely re-written to:
• Support the broader open
source & CNCF eco-system
• Incorporate learnings from G1
• Future proof architecture
• Address new use cases
 Low latency 100GbE TCP or RDMA Data Fabric (V3IO) 
UNIFIED &
AUTOMATED
MANAGEMENT
https://github.com/nuclio/nuclio

More Related Content

What's hot

A/B Testing Pitfalls and Lessons Learned at Spotify
A/B Testing Pitfalls and Lessons Learned at SpotifyA/B Testing Pitfalls and Lessons Learned at Spotify
A/B Testing Pitfalls and Lessons Learned at Spotify
Danielle Jabin
 

What's hot (20)

AlphaGo in Depth
AlphaGo in Depth AlphaGo in Depth
AlphaGo in Depth
 
What is Game Thinking?
What is Game Thinking?What is Game Thinking?
What is Game Thinking?
 
01_08_business models that will inspire_Calum Cameron_EIA Porto 2022.pptx
01_08_business models that will inspire_Calum Cameron_EIA Porto 2022.pptx01_08_business models that will inspire_Calum Cameron_EIA Porto 2022.pptx
01_08_business models that will inspire_Calum Cameron_EIA Porto 2022.pptx
 
Octalysis Certification - Level 1 (Octalysis Prime)
Octalysis Certification - Level 1 (Octalysis Prime)Octalysis Certification - Level 1 (Octalysis Prime)
Octalysis Certification - Level 1 (Octalysis Prime)
 
Fresh Direct: produce and agro-allied services
Fresh Direct: produce and agro-allied servicesFresh Direct: produce and agro-allied services
Fresh Direct: produce and agro-allied services
 
Game Thinking Fundamentals
Game Thinking FundamentalsGame Thinking Fundamentals
Game Thinking Fundamentals
 
Gamification of Employee Engagement & Company Culture
Gamification of Employee Engagement & Company CultureGamification of Employee Engagement & Company Culture
Gamification of Employee Engagement & Company Culture
 
210110 deformable detr
210110 deformable detr210110 deformable detr
210110 deformable detr
 
Achieving product market fit
Achieving product market fit Achieving product market fit
Achieving product market fit
 
How to work with the JTBD framework and why UXers need to be using it
How to work with the JTBD framework and why UXers need to be using itHow to work with the JTBD framework and why UXers need to be using it
How to work with the JTBD framework and why UXers need to be using it
 
27_07_Marquinista_Perceptionitis.pdf
27_07_Marquinista_Perceptionitis.pdf27_07_Marquinista_Perceptionitis.pdf
27_07_Marquinista_Perceptionitis.pdf
 
User Research to Validate Product Ideas Workshop
User Research to Validate Product Ideas WorkshopUser Research to Validate Product Ideas Workshop
User Research to Validate Product Ideas Workshop
 
LTV Predictions: How do real-life companies use them & what can you learn fro...
LTV Predictions: How do real-life companies use them & what can you learn fro...LTV Predictions: How do real-life companies use them & what can you learn fro...
LTV Predictions: How do real-life companies use them & what can you learn fro...
 
Building AI products by Google Group Product Manager.pdf
Building AI products by Google Group Product Manager.pdfBuilding AI products by Google Group Product Manager.pdf
Building AI products by Google Group Product Manager.pdf
 
Alexei Zheglov - Fit For Purpose Workshop
Alexei Zheglov - Fit For Purpose WorkshopAlexei Zheglov - Fit For Purpose Workshop
Alexei Zheglov - Fit For Purpose Workshop
 
A/B Testing Pitfalls and Lessons Learned at Spotify
A/B Testing Pitfalls and Lessons Learned at SpotifyA/B Testing Pitfalls and Lessons Learned at Spotify
A/B Testing Pitfalls and Lessons Learned at Spotify
 
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimGetting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
 
The 7 Habits of Breakthrough Innovators
The 7 Habits of Breakthrough InnovatorsThe 7 Habits of Breakthrough Innovators
The 7 Habits of Breakthrough Innovators
 
Brandwitz'14 biggest branding competition of the country
Brandwitz'14   biggest branding competition of the countryBrandwitz'14   biggest branding competition of the country
Brandwitz'14 biggest branding competition of the country
 
Growth Hacking
Growth HackingGrowth Hacking
Growth Hacking
 

Similar to nuclio Overview October 2017

Similar to nuclio Overview October 2017 (20)

iguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30th
 
Automated Application Management with SaltStack
Automated Application Management with SaltStackAutomated Application Management with SaltStack
Automated Application Management with SaltStack
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
 
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 -...
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Spark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka StreamsSpark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka Streams
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & PackerLAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
 
Saltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application DeploymentSaltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application Deployment
 
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
 
Making cloud native platform by kubernetes
Making cloud native platform by kubernetesMaking cloud native platform by kubernetes
Making cloud native platform by kubernetes
 
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
Pulsar summit asia 2021   apache pulsar with mqtt for edge computingPulsar summit asia 2021   apache pulsar with mqtt for edge computing
Pulsar summit asia 2021 apache pulsar with mqtt for edge computing
 
Vert.x devoxx london 2013
Vert.x devoxx london 2013Vert.x devoxx london 2013
Vert.x devoxx london 2013
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to Kubernetes
 
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
 
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
 
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
Scaling Security on 100s of Millions of Mobile Devices Using Apache Kafka® an...
 
Introduction to Apache Beam
Introduction to Apache BeamIntroduction to Apache Beam
Introduction to Apache Beam
 

More from iguazio

More from iguazio (9)

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 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
 
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

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 

nuclio Overview October 2017

  • 2. iguazio © 2016 2 Event Listeners Function Processors Runtime Function Workers Data Bindings Control, Logging, Monitoring, Security, .. HTTP, stream , msg Q, DB, .. Pluggable Data Services Pluggable Event Sources Dealer BuilderController image repo Platform: Kubernetes, Cloud Provider, Device (IoT) .. Local or remote nuclio - Comprehensive, Open, Portable and Super Fast “Serverless” • Real-time processing, low CPU overhead and maximum parallelism • Simple debugging, regression, and multi-versioned CI/CD pipeline • Pluggable data/event sources with common APIs • Portable across low-power devices, laptops, on-prem and public cloud External Monitoring & Logging Nuctl (CLI) Playground UI https://github.com/nuclio/nuclio
  • 3. iguazio © 2016 3 Function Processor Event Listeners Fetch/Serve events Language Runtime Engine Function Workers Data Bindings Connect & Cache Control Framework: Portal, Logging, Monitoring, Security, … Event Sources (Pluggable): • Sync: HTTP • Async: RabbitMQ, MQTT, NATS • Stream: Kafka, Kinesis, v3io • Polling: DB/file changes Interface to platform resources through pluggable APIs Data Bindings (Pluggable): • File & Obj: volumes, S3, v3io • DB: DynamoDB, v3io • Stream : Kafka, Kinesis, v3io • Message: RabbitMQ Develop, test, run ANYWHEREAny source and workload Simple, fast, secure, portable data integration nuclio Processor – Fast, Modular and Extensible 400K events/sec per process (100x faster than leading implementations) Super fast, Zero-copy access to events and data Multiple async workers for maximum parallelism with minimum CPU overhead Events and data abstractions enable re-use and portability
  • 4. iguazio © 2016 4 Perf Results, Single Process, Using Basic Functions https://github.com/v3io/http_blaster Tested using: Native Prometheus Integration
  • 5. iguazio © 2016 5 Nuclio 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, … Function Instance invoker Function Instance invoker Function Instance invoker Job Job (Master/Worker) Priority Queue Master (dealer) Dealer Partition 2 Partition 3 Partition 4
  • 6. iguazio © 2016 6 Dealer Processor Function Workers Partitioned data or Stream shards Job Spec: - functions (selector) - Task num/list - Max tasks per processor - Min/Max processors - .. - Job Metadata Function Workers Job X (w 5 tasks)Job Y (w 4 tasks) POD Up/Down events Deployment scale changes Auto-scale based on CPU load or Q delay Allocate or Re-distribute tasks to processors (1 task per worker) Nuclio controller Nuclio Dealer • Enable real-time stream processing, batch and interactive jobs on auto-scaling Serverless functions • By dynamically allocating tasks to workers and handling task lifecycle, checkpoint and completion Every job or stream is partitioned to N smaller Tasks Processor
  • 7. iguazio © 2016 7 nuclio Features and Performance Make Serverless Broadly Applicable • Enrich • Aggregate • Predict INTERACTIVE UI & REAL-TIME DASHBOARDS ACTIONS UNSTRUCTURED EVENTS & DATA EXTERNAL SOURCES CHANGE DATA CAPTURE (CDC) OPERATIONAL DATA CONTAINERIZED ML & ANALYTICS TOOLS Complex Event Processing (CEP) POLICY BASED SYNC & BACKUP DATA SERVICES DATA INGESTION, PREP & REAL-TIME DECISIONS Higher-Productivity | Faster insights | No Infrastructure Hassle | Lower TCO
  • 8. iguazio © 2016 8 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
  • 9. iguazio © 2016 9 nuclio Function Spec Support Kubernetes CRD: Functions can be created & 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 *Advanced build instructions & dependencies are in the build.yaml file
  • 10. iguazio © 2016 10 Nuclio Common Event Model Simplify and generalize client implementation Enable zero copy and zero ser/des when possible
  • 11. iguazio © 2016 11 Context.logger Interface One log interface, multiple implementations (screen, file, stream, http, ..), extensible Support both structured & unstructured logging Support nested/hierarchical logs
  • 12. iguazio © 2016 12 Default Context.DataBinding API (sync & async ver), can be overwritten Service Major APIs Main Request Params Object e.g. S3, Minio, v3io ListObjects GetObject PutObject DeleteObject Bucket, Prefix, MaxKeys Bucket, Key, Range Bucket, Key ,Metadata, Body Bucket, Key NoSQL e.g. DynamoDB, Cassandra, v3io GetItem GetItems PutItem UpdateItem DeleteItem Table, Key ,Projection Table, ConditionExpression, ProjectionExpression, Limit Table, Key, ProjectionExpression, item Table, Key, UpdateExpression, ConditionExpression Table, Key, ConditionExpression Stream e.g. Kinesis, Kafka, v3io GetRecords PutRecords Seek Stream, ShardId, Location, Limit Stream, Records Stream, ShardId, SeekType, SeekTime, StartingSequence, Timestamp File Open Read Write Path, Mode, flags Handle, offset, size Handle, offset, size, data
  • 13. iguazio © 2016 13 Nuclio Playground (run as isolated k8s deployment)
  • 14. iguazio © 2016 14 CLI (run command example) $ nuctl run --help Build, deploy and run a function Usage: nuctl run function-name [flags] Flags: --data string Comma separated list of data bindings (in json) --data-bindings string JSON encoded data bindings for the function --desc string Function description -d, --disabled Start function disabled (don't run yet) -e, --env string Environment variables (name1=val1,name2=val2..) --events string Comma separated list of event sources (in json) -f, --file string Function Spec File -h, --help help for run -i, --image string Docker image name, will use function name if not specified -l, --labels string Additional function labels (lbl1=val1,lbl2=val2..) --max-replica int32 Maximum number of function replicas --min-replica int32 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 int32 Public HTTP port (node port) --publish Publish the function -r, --registry string URL of container registry (env: NUCTL_REGISTRY) --run-registry string The registry URL to pull the image from, if differs from -r (env: NUCTL_RUN_REGISTRY) --runtime string Runtime – golang, python, .. -s, --scale string Function scaling (auto|number) (default "1") --version string Docker image version (default "latest") Global Flags: -k, --kubeconfig string Path to Kubernetes config (admin.conf) (default ~/.kube/config") -n, --namespace string Kubernetes namespace (default "default") -v, --verbose verbose output See more in: https://github.com/nuclio/nuclio/blob/master/docs/nuctl/nuctl.md
  • 15. iguazio © 2016 15 Data Bindings $ nuctl run <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
  • 16. iguazio © 2016 16 ORCHESTRATION SERVERLESS PROCESSING ML & AI FRAMEWORKS DATA SERVICES APIS HYBRID DEPLOYMENT NoSQL API Stream API Object API File API Security Queries & Functions Unified Data Data Lifecycle On-Premises Hosted Cloud Edge Event Driven Code • Used in iguazio’s platform • Developed for the real world • Now completely re-written to: • Support the broader open source & CNCF eco-system • Incorporate learnings from G1 • Future proof architecture • Address new use cases  Low latency 100GbE TCP or RDMA Data Fabric (V3IO)  UNIFIED & AUTOMATED MANAGEMENT https://github.com/nuclio/nuclio