SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Information Systems Engineering
Sebastian Werner
Jörn Kuhlenkamp
Frank Pallas
Niklas Anders
Nebi Mucaj
Olesia Tsaplina
Christian Schmidt
Kann Yildirim
Information Systems Engineering
TU Berlin
Diminuendo!
Tactics in Support of FaaS Migrations
ESSCA 2020 @ XP2020
Page 2
Promising 2nd Generation Cloud Compute Services
Event-based programming model Value Proposition
- Fully-managed operational tasks
- Workload-driven elastic autoscaling
- Efficient resource utilization, e.g., “Scaling-
to-Zero”Queue
Storage
Function
HTTP
…
Information Systems Engineering
Page 3
How “easily” can legacy applications benefit from the capabilities of FaaS
platforms?
Approach:
Explorative research by migrating a real-world application on the example of OpenSense.network to
OpenWhisk.
Research Question:
Information Systems Engineering
Page 4
„OpenSense.network is designed to collect open data from diverse sources,
including traditional environmental sensing networks like the German
national weather service Deutscher Wetterdienst, as well as participatory
sensing platforms and communities such as luftdaten.info“ [1]
OpenSense.network
GeoSpeical Queries
Time Series Queries
Aggregation Queries
Data Donations
Bulk Imports
User Management
Features
[1] Borges, Maria C., Frank Pallas and Marco Peise. 2018. Providing Open Environmental Data - The Scalable and Web-Friendly Way. In Proceedings of
the 32nd International Conference on Environmental Information and Communication Technologies (EnviroInfo2018)
OpenSense.network: Architecture
Relational database
with geospatial capabilities
Scalable time-series database
End Users
Software Services On Premise Deployment
Cassandra Cluster
PostgreSQL + PostGIS
Flask API
Page 6
Migration Goals
Free-up underutilized
resources
Serve volatile workloads Reduce operational
overhead
Information Systems Engineering
Page 7
Migration Process
Regression
Detection
Identify
Root
Causes
Reevaluate
Done?
Refactor
Naïve
Migration
YES END
Information Systems Engineering
Page 8
1. REST-based regression tests
2. Multiple load-testing profiles (bulk-insert, normal)
3. Evaluated request-response-times
4. Added application-level tracing
Regression Detection and Root Cause Analysis
import datetime
…
def handle(event):
topen(“init”)
topen(”flask_init”)
app = create_app(‘default’)
tclose(”flask_init”)
…
inv = invoke(app, event)
…
tclose(”init”)
return inv
*Conceptual example of application-level tracing
Information Systems Engineering
Page 9
1. Flask computes the routing
map [Path->Functionality] on
every request
Observations
Container-Run
Code-Run
Cassandra
PostGis
Route
SQL
Ret.
Flask
Cassandra
PostGis
Request-Response Time (Execution View)
This dose not change, we can
compute it once, serialize it and
reuse it every time.
*Representation not based on real measurements, only for visualization purposes.
Information Systems Engineering
Page 10
1. Flask computes the routing
map [Path->Functionality] on
every request
2. Cassandra & PostGis
connections are created
every time
Observations
Container-Run
Code-Run
Cassandra
PostGis
Route
SQL
Ret.
Cassandra
PostGis
Request-Response Time (Execution View)
Store state in memory – so we can
reuse it for warm functions
*Representation not based on real measurements, only for visualization purposes.
Information Systems Engineering
Page 11
1. Flask computes the routing
map [Path->Functionality] on
every request
2. Cassandra & PostGis
Connections are created
every time
3. Not all request need
Cassandra & PostGis
Observations
Container-Run
Cassandra
PostGis
Route
SQL
Ret.
Request-Response Time (Execution View)
Route
SQL
Ret.
Code-Run
Split into multiple functions
*Representation not based on real measurements, only for visualization purposes.
Information Systems Engineering
Page 12
Observations
Container-Run
Cassandra
PostGis
Route
CQL
Ret.
Route
CQL
Ret.
Code-Run
Container-Run
Code-Run
PostGis
Route
SQL
Ret.
Route
SQL
Ret.
Route
SQL
Ret.
1. Flask computes the routing
map [Path->Functionality] on
every request
2. Cassandra & PostGis
connections are created
every time
3. Not all request need
Cassandra & PostGis
*Representation not based on real measurements, only for visualization purposes.
Original Architecture
End Users
Software Services On Premise Deployment
Cassandra Cluster
PostgreSQL + PostGIS
Flask API
Page 13
FaaS Architecture
End Users
Software Services On Premise Deployment
Cassandra Cluster
PostgreSQL + PostGIS
Multitenant OpenWhisk Cluster
Sensor APIs
MetaData APIs
Page 14
15
5 Migration Tactics
PRECOMPUTE REUSE STRIP BE LAZY REPLACE
[Performance Improving] Migration Tactics
PRECOMPUTE
REUSE
Pre-compute if possible and package
it into the deployment package
Reduces start-up time. But, to large
deployment package also negatively
impacts cold-starts.
Re-use state if possible. Try to
combine multiple functions into a
single package.
Reduces latency of warm functions
but creates a more noticeable
differences between warm and cold
starts.
ACTION TRADE-OFFS
STRIP Split functionality if execution paths
don’t share libraries.
Reduces latency for shorter
execution paths. But, creates a larger
deployment and development
overhead.
TACTIC
Page 16
Page 17
[Performance Improving] Migration Tactics
BE LAZY
Don’t initialize for rarely used
functionality.
TACTIC ACTION TRADE-OFFS
Reduces latency by not initialize
rarely used libraries. But, creates
noticeable latency for rarely used
functionality.
REPLACE Consider replacing heavy-duty
libraries if you only use a small part
of them.
Reduced start-up time and latency.
Increased development and
maintenance overhead.
Information Systems Engineering
Page 18
▪ FaaS benefits are not free, [but must be earned].
▪ Application-level tracing is feasible for regression
detection.
▪ Consider the 5 migration tactics to mitigate regressions.
Future Work:
▪ Increase automation.
▪ Increase FaaS platforms regression detection capabilities.
▪ Introduce lightweight “FaaS-ready” libraries to reduce
regressions.
Summary and Contact Information
Information Systems Engineering
Contact
ISE
{sw,fp,jk}@ise.tu-berlin.de
www.ise.tu-berlin.de
https://www.ise.tu-berlin.de/youtube
https://www.ise.tu-berlin.de/smile

Weitere ähnliche Inhalte

Was ist angesagt?

Spark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef HabdankSpark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef HabdankSpark Summit
 
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...DevOps.com
 
Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...
Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...
Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...Flink Forward
 
Airflow at lyft
Airflow at lyftAirflow at lyft
Airflow at lyftTao Feng
 
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementIntro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementBurasakorn Sabyeying
 
Spark Summit EU talk by Ruben Pulido Behar Veliqi
Spark Summit EU talk by Ruben Pulido Behar VeliqiSpark Summit EU talk by Ruben Pulido Behar Veliqi
Spark Summit EU talk by Ruben Pulido Behar VeliqiSpark Summit
 
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
 
Building Continuous Application with Structured Streaming and Real-Time Data ...
Building Continuous Application with Structured Streaming and Real-Time Data ...Building Continuous Application with Structured Streaming and Real-Time Data ...
Building Continuous Application with Structured Streaming and Real-Time Data ...Databricks
 
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Codemotion
 
Spark Summit EU talk by Luca Canali
Spark Summit EU talk by Luca CanaliSpark Summit EU talk by Luca Canali
Spark Summit EU talk by Luca CanaliSpark Summit
 
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in SwitzerlandMobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in SwitzerlandFrançois Garillot
 
Scaling Graphite At Yelp
Scaling Graphite At YelpScaling Graphite At Yelp
Scaling Graphite At YelpPaul O'Connor
 
Spark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital KediaSpark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital KediaSpark Summit
 
Need for Time series Database
Need for Time series DatabaseNeed for Time series Database
Need for Time series DatabasePramit Choudhary
 

Was ist angesagt? (20)

Spark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef HabdankSpark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef Habdank
 
Airflow for Beginners
Airflow for BeginnersAirflow for Beginners
Airflow for Beginners
 
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
 
Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...
Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...
Flink Forward Berlin 2017: Dr. Radu Tudoran - Huawei Cloud Stream Service in ...
 
Elasticwulf Pycon Talk
Elasticwulf Pycon TalkElasticwulf Pycon Talk
Elasticwulf Pycon Talk
 
Airflow at WePay
Airflow at WePayAirflow at WePay
Airflow at WePay
 
Airflow at lyft
Airflow at lyftAirflow at lyft
Airflow at lyft
 
OpenStack Ceilometer
OpenStack CeilometerOpenStack Ceilometer
OpenStack Ceilometer
 
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementIntro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
 
Apache airflow
Apache airflowApache airflow
Apache airflow
 
Spark Summit EU talk by Ruben Pulido Behar Veliqi
Spark Summit EU talk by Ruben Pulido Behar VeliqiSpark Summit EU talk by Ruben Pulido Behar Veliqi
Spark Summit EU talk by Ruben Pulido Behar Veliqi
 
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
 
Dask for Analytics
Dask for AnalyticsDask for Analytics
Dask for Analytics
 
Building Continuous Application with Structured Streaming and Real-Time Data ...
Building Continuous Application with Structured Streaming and Real-Time Data ...Building Continuous Application with Structured Streaming and Real-Time Data ...
Building Continuous Application with Structured Streaming and Real-Time Data ...
 
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
 
Spark Summit EU talk by Luca Canali
Spark Summit EU talk by Luca CanaliSpark Summit EU talk by Luca Canali
Spark Summit EU talk by Luca Canali
 
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in SwitzerlandMobility insights at Swisscom - Understanding collective mobility in Switzerland
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
 
Scaling Graphite At Yelp
Scaling Graphite At YelpScaling Graphite At Yelp
Scaling Graphite At Yelp
 
Spark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital KediaSpark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital Kedia
 
Need for Time series Database
Need for Time series DatabaseNeed for Time series Database
Need for Time series Database
 

Ähnlich wie Tactics for Improving Legacy Application Performance in FaaS Migrations

Time Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming PlatformTime Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming Platformconfluent
 
Time Series Analysis Using an Event Streaming Platform
 Time Series Analysis Using an Event Streaming Platform Time Series Analysis Using an Event Streaming Platform
Time Series Analysis Using an Event Streaming PlatformDr. Mirko Kämpf
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Nane Kratzke
 
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...In-Memory Computing Summit
 
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case StudyDissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case StudySalman Baset
 
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...Amazon Web Services
 
Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business ProblemsKen Owens
 
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...Helena Edelson
 
2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdf2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdfLevLafayette1
 
Writing Continuous Applications with Structured Streaming in PySpark
Writing Continuous Applications with Structured Streaming in PySparkWriting Continuous Applications with Structured Streaming in PySpark
Writing Continuous Applications with Structured Streaming in PySparkDatabricks
 
Swift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance WorkflowSwift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance WorkflowDaniel S. Katz
 
Unified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache SparkUnified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache SparkC4Media
 
Sybase IQ ile Analitik Platform
Sybase IQ ile Analitik PlatformSybase IQ ile Analitik Platform
Sybase IQ ile Analitik PlatformSybase Türkiye
 
Building an analytical platform
Building an analytical platformBuilding an analytical platform
Building an analytical platformDavid Walker
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisationgrooverdan
 
In Memory Analytics with Apache Spark
In Memory Analytics with Apache SparkIn Memory Analytics with Apache Spark
In Memory Analytics with Apache SparkVenkata Naga Ravi
 
A Novel Approach for Workload Optimization and Improving Security in Cloud Co...
A Novel Approach for Workload Optimization and Improving Security in Cloud Co...A Novel Approach for Workload Optimization and Improving Security in Cloud Co...
A Novel Approach for Workload Optimization and Improving Security in Cloud Co...IOSR Journals
 
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...Lviv Startup Club
 

Ähnlich wie Tactics for Improving Legacy Application Performance in FaaS Migrations (20)

Time Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming PlatformTime Series Analysis… using an Event Streaming Platform
Time Series Analysis… using an Event Streaming Platform
 
Time Series Analysis Using an Event Streaming Platform
 Time Series Analysis Using an Event Streaming Platform Time Series Analysis Using an Event Streaming Platform
Time Series Analysis Using an Event Streaming Platform
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
 
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
 
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case StudyDissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
 
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
 
Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business Problems
 
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
 
2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdf2023comp90024_Spartan.pdf
2023comp90024_Spartan.pdf
 
Writing Continuous Applications with Structured Streaming in PySpark
Writing Continuous Applications with Structured Streaming in PySparkWriting Continuous Applications with Structured Streaming in PySpark
Writing Continuous Applications with Structured Streaming in PySpark
 
Swift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance WorkflowSwift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance Workflow
 
Unified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache SparkUnified Big Data Processing with Apache Spark
Unified Big Data Processing with Apache Spark
 
Sybase IQ ile Analitik Platform
Sybase IQ ile Analitik PlatformSybase IQ ile Analitik Platform
Sybase IQ ile Analitik Platform
 
Building an analytical platform
Building an analytical platformBuilding an analytical platform
Building an analytical platform
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisation
 
In Memory Analytics with Apache Spark
In Memory Analytics with Apache SparkIn Memory Analytics with Apache Spark
In Memory Analytics with Apache Spark
 
Resisting skew accumulation
Resisting skew accumulationResisting skew accumulation
Resisting skew accumulation
 
D017212027
D017212027D017212027
D017212027
 
A Novel Approach for Workload Optimization and Improving Security in Cloud Co...
A Novel Approach for Workload Optimization and Improving Security in Cloud Co...A Novel Approach for Workload Optimization and Improving Security in Cloud Co...
A Novel Approach for Workload Optimization and Improving Security in Cloud Co...
 
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...Yaroslav Nedashkovsky  "How to manage hundreds of pipelines for processing da...
Yaroslav Nedashkovsky "How to manage hundreds of pipelines for processing da...
 

Kürzlich hochgeladen

Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxjana861314
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)Areesha Ahmad
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINsankalpkumarsahoo174
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...jana861314
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 

Kürzlich hochgeladen (20)

Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Engler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomyEngler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomy
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 

Tactics for Improving Legacy Application Performance in FaaS Migrations

  • 1. Information Systems Engineering Sebastian Werner Jörn Kuhlenkamp Frank Pallas Niklas Anders Nebi Mucaj Olesia Tsaplina Christian Schmidt Kann Yildirim Information Systems Engineering TU Berlin Diminuendo! Tactics in Support of FaaS Migrations ESSCA 2020 @ XP2020
  • 2. Page 2 Promising 2nd Generation Cloud Compute Services Event-based programming model Value Proposition - Fully-managed operational tasks - Workload-driven elastic autoscaling - Efficient resource utilization, e.g., “Scaling- to-Zero”Queue Storage Function HTTP …
  • 3. Information Systems Engineering Page 3 How “easily” can legacy applications benefit from the capabilities of FaaS platforms? Approach: Explorative research by migrating a real-world application on the example of OpenSense.network to OpenWhisk. Research Question:
  • 4. Information Systems Engineering Page 4 „OpenSense.network is designed to collect open data from diverse sources, including traditional environmental sensing networks like the German national weather service Deutscher Wetterdienst, as well as participatory sensing platforms and communities such as luftdaten.info“ [1] OpenSense.network GeoSpeical Queries Time Series Queries Aggregation Queries Data Donations Bulk Imports User Management Features [1] Borges, Maria C., Frank Pallas and Marco Peise. 2018. Providing Open Environmental Data - The Scalable and Web-Friendly Way. In Proceedings of the 32nd International Conference on Environmental Information and Communication Technologies (EnviroInfo2018)
  • 5. OpenSense.network: Architecture Relational database with geospatial capabilities Scalable time-series database End Users Software Services On Premise Deployment Cassandra Cluster PostgreSQL + PostGIS Flask API
  • 6. Page 6 Migration Goals Free-up underutilized resources Serve volatile workloads Reduce operational overhead
  • 7. Information Systems Engineering Page 7 Migration Process Regression Detection Identify Root Causes Reevaluate Done? Refactor Naïve Migration YES END
  • 8. Information Systems Engineering Page 8 1. REST-based regression tests 2. Multiple load-testing profiles (bulk-insert, normal) 3. Evaluated request-response-times 4. Added application-level tracing Regression Detection and Root Cause Analysis import datetime … def handle(event): topen(“init”) topen(”flask_init”) app = create_app(‘default’) tclose(”flask_init”) … inv = invoke(app, event) … tclose(”init”) return inv *Conceptual example of application-level tracing
  • 9. Information Systems Engineering Page 9 1. Flask computes the routing map [Path->Functionality] on every request Observations Container-Run Code-Run Cassandra PostGis Route SQL Ret. Flask Cassandra PostGis Request-Response Time (Execution View) This dose not change, we can compute it once, serialize it and reuse it every time. *Representation not based on real measurements, only for visualization purposes.
  • 10. Information Systems Engineering Page 10 1. Flask computes the routing map [Path->Functionality] on every request 2. Cassandra & PostGis connections are created every time Observations Container-Run Code-Run Cassandra PostGis Route SQL Ret. Cassandra PostGis Request-Response Time (Execution View) Store state in memory – so we can reuse it for warm functions *Representation not based on real measurements, only for visualization purposes.
  • 11. Information Systems Engineering Page 11 1. Flask computes the routing map [Path->Functionality] on every request 2. Cassandra & PostGis Connections are created every time 3. Not all request need Cassandra & PostGis Observations Container-Run Cassandra PostGis Route SQL Ret. Request-Response Time (Execution View) Route SQL Ret. Code-Run Split into multiple functions *Representation not based on real measurements, only for visualization purposes.
  • 12. Information Systems Engineering Page 12 Observations Container-Run Cassandra PostGis Route CQL Ret. Route CQL Ret. Code-Run Container-Run Code-Run PostGis Route SQL Ret. Route SQL Ret. Route SQL Ret. 1. Flask computes the routing map [Path->Functionality] on every request 2. Cassandra & PostGis connections are created every time 3. Not all request need Cassandra & PostGis *Representation not based on real measurements, only for visualization purposes.
  • 13. Original Architecture End Users Software Services On Premise Deployment Cassandra Cluster PostgreSQL + PostGIS Flask API Page 13
  • 14. FaaS Architecture End Users Software Services On Premise Deployment Cassandra Cluster PostgreSQL + PostGIS Multitenant OpenWhisk Cluster Sensor APIs MetaData APIs Page 14
  • 15. 15 5 Migration Tactics PRECOMPUTE REUSE STRIP BE LAZY REPLACE
  • 16. [Performance Improving] Migration Tactics PRECOMPUTE REUSE Pre-compute if possible and package it into the deployment package Reduces start-up time. But, to large deployment package also negatively impacts cold-starts. Re-use state if possible. Try to combine multiple functions into a single package. Reduces latency of warm functions but creates a more noticeable differences between warm and cold starts. ACTION TRADE-OFFS STRIP Split functionality if execution paths don’t share libraries. Reduces latency for shorter execution paths. But, creates a larger deployment and development overhead. TACTIC Page 16
  • 17. Page 17 [Performance Improving] Migration Tactics BE LAZY Don’t initialize for rarely used functionality. TACTIC ACTION TRADE-OFFS Reduces latency by not initialize rarely used libraries. But, creates noticeable latency for rarely used functionality. REPLACE Consider replacing heavy-duty libraries if you only use a small part of them. Reduced start-up time and latency. Increased development and maintenance overhead.
  • 18. Information Systems Engineering Page 18 ▪ FaaS benefits are not free, [but must be earned]. ▪ Application-level tracing is feasible for regression detection. ▪ Consider the 5 migration tactics to mitigate regressions. Future Work: ▪ Increase automation. ▪ Increase FaaS platforms regression detection capabilities. ▪ Introduce lightweight “FaaS-ready” libraries to reduce regressions. Summary and Contact Information Information Systems Engineering Contact ISE {sw,fp,jk}@ise.tu-berlin.de www.ise.tu-berlin.de https://www.ise.tu-berlin.de/youtube https://www.ise.tu-berlin.de/smile