SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Managing Transactions
On Ethereum
with Apache Airflow
By Michael Ghen (@mikeghen)
October 2020
Managing
Transactions on
Ethereum
with Apache Airflow
Current:
● Mining Pool Operator
● Ph.D. Student at Drexel University
Previous:
● Data Architect at Benefits Data Trust
● Data Platform Engineer at Cohealo
● Systems Engineer at Brandeis University
● Introduction to Ethereum
● Introduction to Apache Airflow
○ Core Ideas
● Airflow in Action
○ Complete Example
● Journey to Airflow
Ethereum is a Public Computing Platform
● Ethereum can be viewed as a transaction-based state machine
● Begin with a genesis state and incrementally execute
transactions to morph it into some final state
Ether (ETH) is the currency for purchasing resources
Ether is meant to be used to pay for running smart contracts,
which are computer programs that run on an emulated computer
called the Ethereum Virtual Machine (EVM)
Apache Airflow is a Workflow Management System
● a DAG – or a Directed Acyclic Graph – is a collection of all the tasks you want
to run, organized in a way that reflects their relationships and dependencies
● While DAGs describe how to run a workflow, Operators determine what
actually gets done
● Once an operator is instantiated, it is referred to as a task
Airflow is a platform to programmatically author, schedule and
monitor workflows. Workflows are authored using Python.
Apache Airflow is a Workflow Management System
Airflow is a platform to programmatically author, schedule and
monitor workflows. Workflows are authored using Python.
Apache Airflow is a Workflow Management System
Airflow is a platform to programmatically author, schedule and
monitor workflows. Workflows are authored using Python.
Apache Airflow
Core Ideas
DAGs
Operators (and Sensors)
Hooks
Tasks and Task Instances
Core Ideas: DAG
● a DAG describes how you want
to carry out your workflow
● DAGs are defined in standard
Python files that are placed in
Airflow’s DAG_FOLDER
● You can have as many DAGs as
you want, each describing an
arbitrary number of tasks
● In general, each one should
correspond to a single logical
workflow.
https://airflow.apache.org/concepts.html#core-ideas
Core Ideas: Operators
● An operator describes a single task
in a workflow
● Describes what a task does
● In general, if two operators need to
share information, like a filename or
small amount of data, you should
consider combining them into a
single operator
● Airflow does have a feature for
operator cross-communication
called XCom
https://airflow.apache.org/concepts.html#core-ideas
BashOperator - executes a bash command
PythonOperator - calls an arbitrary Python function
EmailOperator - sends an email
SimpleHttpOperator - sends an HTTP request
MySqlOperator, SqliteOperator, PostgresOperator,
MsSqlOperator, OracleOperator, JdbcOperator, etc. -
executes a SQL command
Sensor - waits for a certain time, file, database row, S3 key, ..
Core Ideas: Hooks
● Hooks implement a common
interface when possible, and
act as a building block for
operators
● Hooks keep authentication
code and information out of
pipelines, centralized in the
metadata database
https://airflow.apache.org/concepts.html#core-ideas
Core Ideas: Tasks and Task Instances
● Once an operator is instantiated, it is referred to
as a “task”
● The instantiation defines specific values when
calling the abstract operator, and the
parameterized task becomes a node in a DAG.
● A task instance represents a specific run of a
task and is characterized as the combination of
a dag, a task, and a point in time
● Task instances also have an indicative state,
which could be “running”, “success”, “failed”,
“skipped”, “up for retry”, etc.
https://airflow.apache.org/concepts.html#core-ideas
Centralized Monitoring, Alerting, and Logging
● Airflow is an improvement over running
tasks with CRON because it has features
to support task monitoring, alerting, and
logging
● Task failures can be retried automatically
● Failures can trigger email alerts (or Slack,
Datadog, etc.)
● Logs generated from tasks can be stored
in a S3 or Google Cloud bucket
● Task failures can be easily identified,
investigated, and resolved
Example: Aggregate ETH to Centralized Wallet
DAG Example: Aggregate ETH
Python Operator Example: Check Balance
Python Operator Example: Check Balance
Python Operator Example: Check Balance
Custom Operators
Custom Operators
Custom Operators
Hooks Example: Ethereum Wallet Management
Custom Operators
Hooks Example: Web3 Connection Management
Custom Operators
Custom Operator Example:
Ethereum Transfer
Custom Operator Example:
Ethereum Transfer
Custom Operator Example:
Ethereum Transfer
Custom Operator Example:
Ethereum Transfer
Custom Operator Example:
Ethereum Transfer
Custom Operator Example:
Ethereum Transfer
Custom Operators
Relevant
Alternatives
● Apache Nifi
● Apache Beam
● Apache Camel
● Spotify’s Luigi
● Many other awesome projects
Airflow is not a data streaming
solution. Tasks do not move data
from one to the other easily.
Streaming and Batching
Apache Airflow
for IT Stakeholders
1. Integrate with any Information
System using Python
2. Automate the Development of
Workflows (Config as Code)
3. Centralize Workflow
Monitoring, Alerting, Logging
Thank you!
Michael Ghen, @mikeghen

Contenu connexe

Tendances

Real Life Clean Architecture
Real Life Clean ArchitectureReal Life Clean Architecture
Real Life Clean ArchitectureMattia Battiston
 
Apache Arrow Flight Overview
Apache Arrow Flight OverviewApache Arrow Flight Overview
Apache Arrow Flight OverviewJacques Nadeau
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at ScaleDatabricks
 
Google Kubernetes Engine (GKE) deep dive
Google Kubernetes Engine (GKE) deep diveGoogle Kubernetes Engine (GKE) deep dive
Google Kubernetes Engine (GKE) deep diveAkash Agrawal
 
Introduction to Apache Airflow
Introduction to Apache AirflowIntroduction to Apache Airflow
Introduction to Apache Airflowmutt_data
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes waysparkfabrik
 
Deploy and Serve Model from Azure Databricks onto Azure Machine Learning
Deploy and Serve Model from Azure Databricks onto Azure Machine LearningDeploy and Serve Model from Azure Databricks onto Azure Machine Learning
Deploy and Serve Model from Azure Databricks onto Azure Machine LearningDatabricks
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
 
Terraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPTerraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPSamuel Chow
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopBob Killen
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflowDatabricks
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architectureIgor Sfiligoi
 

Tendances (20)

Real Life Clean Architecture
Real Life Clean ArchitectureReal Life Clean Architecture
Real Life Clean Architecture
 
Airflow for Beginners
Airflow for BeginnersAirflow for Beginners
Airflow for Beginners
 
Apache Arrow Flight Overview
Apache Arrow Flight OverviewApache Arrow Flight Overview
Apache Arrow Flight Overview
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at Scale
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Google Kubernetes Engine (GKE) deep dive
Google Kubernetes Engine (GKE) deep diveGoogle Kubernetes Engine (GKE) deep dive
Google Kubernetes Engine (GKE) deep dive
 
Introduction to Apache Airflow
Introduction to Apache AirflowIntroduction to Apache Airflow
Introduction to Apache Airflow
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 
Airflow introduction
Airflow introductionAirflow introduction
Airflow introduction
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
 
Deploy and Serve Model from Azure Databricks onto Azure Machine Learning
Deploy and Serve Model from Azure Databricks onto Azure Machine LearningDeploy and Serve Model from Azure Databricks onto Azure Machine Learning
Deploy and Serve Model from Azure Databricks onto Azure Machine Learning
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
 
Terraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPTerraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCP
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Airflow and supervisor
Airflow and supervisorAirflow and supervisor
Airflow and supervisor
 
Apache airflow
Apache airflowApache airflow
Apache airflow
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflow
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 

Similaire à Managing transactions on Ethereum with Apache Airflow

DataPipelineApacheAirflow.pptx
DataPipelineApacheAirflow.pptxDataPipelineApacheAirflow.pptx
DataPipelineApacheAirflow.pptxJohn J Zhao
 
Introduce Airflow.ppsx
Introduce Airflow.ppsxIntroduce Airflow.ppsx
Introduce Airflow.ppsxManKD
 
adaidoadaoap9dapdadadjoadjoajdoiajodiaoiao
adaidoadaoap9dapdadadjoadjoajdoiajodiaoiaoadaidoadaoap9dapdadadjoadjoajdoiajodiaoiao
adaidoadaoap9dapdadadjoadjoajdoiajodiaoiaolyvanlinh519
 
Flyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiegoFlyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiegoKetanUmare
 
Data Engineer's Lunch #44: Prefect
Data Engineer's Lunch #44: PrefectData Engineer's Lunch #44: Prefect
Data Engineer's Lunch #44: PrefectAnant Corporation
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowPyData
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Kaxil Naik
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowLaura Lorenz
 
Orchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWSOrchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWSDerrick Qin
 
Airflow Best Practises & Roadmap to Airflow 2.0
Airflow Best Practises & Roadmap to Airflow 2.0Airflow Best Practises & Roadmap to Airflow 2.0
Airflow Best Practises & Roadmap to Airflow 2.0Kaxil Naik
 
airflowpresentation1-180717183432.pptx
airflowpresentation1-180717183432.pptxairflowpresentation1-180717183432.pptx
airflowpresentation1-180717183432.pptxVIJAYAPRABAP
 
Prefect Paris Airflow Meetup Jeff Hale April 2023.pdf
Prefect Paris Airflow Meetup Jeff Hale April 2023.pdfPrefect Paris Airflow Meetup Jeff Hale April 2023.pdf
Prefect Paris Airflow Meetup Jeff Hale April 2023.pdfJeff Hale
 
airflow web UI and CLI.pptx
airflow web UI and CLI.pptxairflow web UI and CLI.pptx
airflow web UI and CLI.pptxVIJAYAPRABAP
 
Apache Airflow (incubating) NL HUG Meetup 2016-07-19
Apache Airflow (incubating) NL HUG Meetup 2016-07-19Apache Airflow (incubating) NL HUG Meetup 2016-07-19
Apache Airflow (incubating) NL HUG Meetup 2016-07-19Bolke de Bruin
 

Similaire à Managing transactions on Ethereum with Apache Airflow (20)

Airflow 101
Airflow 101Airflow 101
Airflow 101
 
Airflow Intro-1.pdf
Airflow Intro-1.pdfAirflow Intro-1.pdf
Airflow Intro-1.pdf
 
DataPipelineApacheAirflow.pptx
DataPipelineApacheAirflow.pptxDataPipelineApacheAirflow.pptx
DataPipelineApacheAirflow.pptx
 
Introduce Airflow.ppsx
Introduce Airflow.ppsxIntroduce Airflow.ppsx
Introduce Airflow.ppsx
 
adaidoadaoap9dapdadadjoadjoajdoiajodiaoiao
adaidoadaoap9dapdadadjoadjoajdoiajodiaoiaoadaidoadaoap9dapdadadjoadjoajdoiajodiaoiao
adaidoadaoap9dapdadadjoadjoajdoiajodiaoiao
 
Dataflow.pptx
Dataflow.pptxDataflow.pptx
Dataflow.pptx
 
Flyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiegoFlyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiego
 
Data Engineer's Lunch #44: Prefect
Data Engineer's Lunch #44: PrefectData Engineer's Lunch #44: Prefect
Data Engineer's Lunch #44: Prefect
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
 
Airflow 4 manager
Airflow 4 managerAirflow 4 manager
Airflow 4 manager
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
 
Orchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWSOrchestrating workflows Apache Airflow on GCP & AWS
Orchestrating workflows Apache Airflow on GCP & AWS
 
Airflow Best Practises & Roadmap to Airflow 2.0
Airflow Best Practises & Roadmap to Airflow 2.0Airflow Best Practises & Roadmap to Airflow 2.0
Airflow Best Practises & Roadmap to Airflow 2.0
 
Airflow
AirflowAirflow
Airflow
 
Spring batch overivew
Spring batch overivewSpring batch overivew
Spring batch overivew
 
airflowpresentation1-180717183432.pptx
airflowpresentation1-180717183432.pptxairflowpresentation1-180717183432.pptx
airflowpresentation1-180717183432.pptx
 
Prefect Paris Airflow Meetup Jeff Hale April 2023.pdf
Prefect Paris Airflow Meetup Jeff Hale April 2023.pdfPrefect Paris Airflow Meetup Jeff Hale April 2023.pdf
Prefect Paris Airflow Meetup Jeff Hale April 2023.pdf
 
airflow web UI and CLI.pptx
airflow web UI and CLI.pptxairflow web UI and CLI.pptx
airflow web UI and CLI.pptx
 
Apache Airflow (incubating) NL HUG Meetup 2016-07-19
Apache Airflow (incubating) NL HUG Meetup 2016-07-19Apache Airflow (incubating) NL HUG Meetup 2016-07-19
Apache Airflow (incubating) NL HUG Meetup 2016-07-19
 

Plus de Michael Ghen

Customer segmentation and marketing automation with Apache Unomi
Customer segmentation and marketing automation with Apache UnomiCustomer segmentation and marketing automation with Apache Unomi
Customer segmentation and marketing automation with Apache UnomiMichael Ghen
 
Transition to a modern data platform
Transition to a modern data platform Transition to a modern data platform
Transition to a modern data platform Michael Ghen
 
Simulating Patient Populations
Simulating Patient PopulationsSimulating Patient Populations
Simulating Patient PopulationsMichael Ghen
 
Big Data Readiness & Business Intelligence Capabilities Matrix
Big Data Readiness & Business Intelligence Capabilities MatrixBig Data Readiness & Business Intelligence Capabilities Matrix
Big Data Readiness & Business Intelligence Capabilities MatrixMichael Ghen
 
AWS Machine Learning Workshp
AWS Machine Learning WorkshpAWS Machine Learning Workshp
AWS Machine Learning WorkshpMichael Ghen
 
Influencer marketing: Buying and Selling Audience Impressions
Influencer marketing: Buying and Selling Audience ImpressionsInfluencer marketing: Buying and Selling Audience Impressions
Influencer marketing: Buying and Selling Audience ImpressionsMichael Ghen
 
Decoding healthcare codes: ICD-10, DRG, CPT, HCPCS
Decoding healthcare codes: ICD-10, DRG, CPT, HCPCSDecoding healthcare codes: ICD-10, DRG, CPT, HCPCS
Decoding healthcare codes: ICD-10, DRG, CPT, HCPCSMichael Ghen
 

Plus de Michael Ghen (7)

Customer segmentation and marketing automation with Apache Unomi
Customer segmentation and marketing automation with Apache UnomiCustomer segmentation and marketing automation with Apache Unomi
Customer segmentation and marketing automation with Apache Unomi
 
Transition to a modern data platform
Transition to a modern data platform Transition to a modern data platform
Transition to a modern data platform
 
Simulating Patient Populations
Simulating Patient PopulationsSimulating Patient Populations
Simulating Patient Populations
 
Big Data Readiness & Business Intelligence Capabilities Matrix
Big Data Readiness & Business Intelligence Capabilities MatrixBig Data Readiness & Business Intelligence Capabilities Matrix
Big Data Readiness & Business Intelligence Capabilities Matrix
 
AWS Machine Learning Workshp
AWS Machine Learning WorkshpAWS Machine Learning Workshp
AWS Machine Learning Workshp
 
Influencer marketing: Buying and Selling Audience Impressions
Influencer marketing: Buying and Selling Audience ImpressionsInfluencer marketing: Buying and Selling Audience Impressions
Influencer marketing: Buying and Selling Audience Impressions
 
Decoding healthcare codes: ICD-10, DRG, CPT, HCPCS
Decoding healthcare codes: ICD-10, DRG, CPT, HCPCSDecoding healthcare codes: ICD-10, DRG, CPT, HCPCS
Decoding healthcare codes: ICD-10, DRG, CPT, HCPCS
 

Dernier

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Dernier (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Managing transactions on Ethereum with Apache Airflow

  • 1. Managing Transactions On Ethereum with Apache Airflow By Michael Ghen (@mikeghen) October 2020
  • 2. Managing Transactions on Ethereum with Apache Airflow Current: ● Mining Pool Operator ● Ph.D. Student at Drexel University Previous: ● Data Architect at Benefits Data Trust ● Data Platform Engineer at Cohealo ● Systems Engineer at Brandeis University ● Introduction to Ethereum ● Introduction to Apache Airflow ○ Core Ideas ● Airflow in Action ○ Complete Example ● Journey to Airflow
  • 3. Ethereum is a Public Computing Platform ● Ethereum can be viewed as a transaction-based state machine ● Begin with a genesis state and incrementally execute transactions to morph it into some final state
  • 4.
  • 5.
  • 6. Ether (ETH) is the currency for purchasing resources Ether is meant to be used to pay for running smart contracts, which are computer programs that run on an emulated computer called the Ethereum Virtual Machine (EVM)
  • 7.
  • 8. Apache Airflow is a Workflow Management System ● a DAG – or a Directed Acyclic Graph – is a collection of all the tasks you want to run, organized in a way that reflects their relationships and dependencies ● While DAGs describe how to run a workflow, Operators determine what actually gets done ● Once an operator is instantiated, it is referred to as a task Airflow is a platform to programmatically author, schedule and monitor workflows. Workflows are authored using Python.
  • 9. Apache Airflow is a Workflow Management System Airflow is a platform to programmatically author, schedule and monitor workflows. Workflows are authored using Python.
  • 10. Apache Airflow is a Workflow Management System Airflow is a platform to programmatically author, schedule and monitor workflows. Workflows are authored using Python.
  • 11. Apache Airflow Core Ideas DAGs Operators (and Sensors) Hooks Tasks and Task Instances
  • 12. Core Ideas: DAG ● a DAG describes how you want to carry out your workflow ● DAGs are defined in standard Python files that are placed in Airflow’s DAG_FOLDER ● You can have as many DAGs as you want, each describing an arbitrary number of tasks ● In general, each one should correspond to a single logical workflow. https://airflow.apache.org/concepts.html#core-ideas
  • 13. Core Ideas: Operators ● An operator describes a single task in a workflow ● Describes what a task does ● In general, if two operators need to share information, like a filename or small amount of data, you should consider combining them into a single operator ● Airflow does have a feature for operator cross-communication called XCom https://airflow.apache.org/concepts.html#core-ideas BashOperator - executes a bash command PythonOperator - calls an arbitrary Python function EmailOperator - sends an email SimpleHttpOperator - sends an HTTP request MySqlOperator, SqliteOperator, PostgresOperator, MsSqlOperator, OracleOperator, JdbcOperator, etc. - executes a SQL command Sensor - waits for a certain time, file, database row, S3 key, ..
  • 14. Core Ideas: Hooks ● Hooks implement a common interface when possible, and act as a building block for operators ● Hooks keep authentication code and information out of pipelines, centralized in the metadata database https://airflow.apache.org/concepts.html#core-ideas
  • 15. Core Ideas: Tasks and Task Instances ● Once an operator is instantiated, it is referred to as a “task” ● The instantiation defines specific values when calling the abstract operator, and the parameterized task becomes a node in a DAG. ● A task instance represents a specific run of a task and is characterized as the combination of a dag, a task, and a point in time ● Task instances also have an indicative state, which could be “running”, “success”, “failed”, “skipped”, “up for retry”, etc. https://airflow.apache.org/concepts.html#core-ideas
  • 16. Centralized Monitoring, Alerting, and Logging ● Airflow is an improvement over running tasks with CRON because it has features to support task monitoring, alerting, and logging ● Task failures can be retried automatically ● Failures can trigger email alerts (or Slack, Datadog, etc.) ● Logs generated from tasks can be stored in a S3 or Google Cloud bucket ● Task failures can be easily identified, investigated, and resolved
  • 17.
  • 18. Example: Aggregate ETH to Centralized Wallet
  • 20. Python Operator Example: Check Balance
  • 21. Python Operator Example: Check Balance
  • 22. Python Operator Example: Check Balance
  • 26. Hooks Example: Ethereum Wallet Management
  • 28. Hooks Example: Web3 Connection Management
  • 37.
  • 38.
  • 39. Relevant Alternatives ● Apache Nifi ● Apache Beam ● Apache Camel ● Spotify’s Luigi ● Many other awesome projects Airflow is not a data streaming solution. Tasks do not move data from one to the other easily. Streaming and Batching
  • 40. Apache Airflow for IT Stakeholders 1. Integrate with any Information System using Python 2. Automate the Development of Workflows (Config as Code) 3. Centralize Workflow Monitoring, Alerting, Logging