SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (6)

Method overloading and constructor overloading in java
Method overloading and constructor overloading in javaMethod overloading and constructor overloading in java
Method overloading and constructor overloading in java
 
Abstract Class Presentation
Abstract Class PresentationAbstract Class Presentation
Abstract Class Presentation
 
MPLS (Multi-Protocol Label Switching)
MPLS (Multi-Protocol Label Switching)MPLS (Multi-Protocol Label Switching)
MPLS (Multi-Protocol Label Switching)
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Interconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNsInterconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNs
 
Inheritance in JAVA PPT
Inheritance  in JAVA PPTInheritance  in JAVA PPT
Inheritance in JAVA PPT
 

Semelhante a nuclio Overview October 2017

Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioiguazio
 
iguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio
 
Automated Application Management with SaltStack
Automated Application Management with SaltStackAutomated Application Management with SaltStack
Automated Application Management with SaltStackinovex GmbH
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
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 2019Thomas Weise
 
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 -...Puppet
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Spark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka StreamsSpark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka StreamsGuido Schmutz
 
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 SystemsFIWARE
 
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...Guido Schmutz
 
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 & PackerJan-Christoph Küster
 
Saltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application DeploymentSaltstack - Orchestration & Application Deployment
Saltstack - Orchestration & Application Deploymentinovex GmbH
 
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 NextPrateek Maheshwari
 
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 computingTimothy Spann
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to KubernetesPaul Czarkowski
 
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.4Timothy Spann
 
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 | ZabConf2016Zabbix
 
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...confluent
 

Semelhante a nuclio Overview October 2017 (20)

Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclio
 
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...
 

Mais de iguazio

Accelerating Data Science With GPUs
Accelerating Data Science With GPUsAccelerating Data Science With GPUs
Accelerating Data Science With GPUsiguazio
 
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 Productioniguazio
 
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 Productioniguazio
 
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 2018iguazio
 
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...iguazio
 
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 2018iguazio
 
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...iguazio
 
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 2018iguazio
 
Stac summit june 14th - goodbye datalakes
Stac summit june 14th - goodbye datalakesStac summit june 14th - goodbye datalakes
Stac summit june 14th - goodbye datalakesiguazio
 

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

Último

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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 AmsterdamUiPathCommunity
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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.pptxRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
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 ModelDeepika Singh
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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 FresherRemote DBA Services
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

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