SlideShare una empresa de Scribd logo
1 de 24
6.1. SaaS 34330 EEDC Execution Environments for  Distributed  Computing 6.1.1. 	What’s SaaS 6.1.2. 	Multi-Tenancy 6.1.3.	Batch processing Master in Computer Architecture, Networks and Systems  - CANS
6.1. SaaS 34330 EEDC Execution Environments for  Distributed  Computing 6.1.1. 	What’s SaaS 6.1.2. 	Multi-Tenancy? 6.1.3.	Batch processing Master in Computer Architecture, Networks and Systems  - CANS
What’s Software as a Service?
WhySaaS?. On PremisesCashFlow Crisis! Customization & Deploy New project
Título de la presentación WhySaaS?. SaaSCashFlow Crisis! New customer Actual customers
6.1. SaaS 34330 EEDC Execution Environments for  Distributed  Computing 6.1.1. 	What’s SaaS 6.1.2. 	Multi-Tenancy? 6.1.3.	Batch processing Master in Computer Architecture, Networks and Systems  - CANS
What’s Multi-Tenancy? You DON’T have a 1:1 relationbetweencustomers and instances of data
SaaS ERP Multi-Tenancy @ Spain targeting non-technological SMB (PyMEs)? NO way! Cultural issues were (and are) impacting their bottom-line and single-tenancy at database allows them to send backups of data to their customers as a «peace of mind» They faced a trade-off between less scalability and bigger infrastructure costs, and selling to THEIR customers and easier development
SaaS ERP 1st  boxed software, on premises deploy & customization, remote upgrades, support, etc.. 2nd Dual offering, boxed to big/special customers and SaaS using the same code base to smaller customers -> saving on support and upgrades 3rd Re-engineering of code to allow better concurrency. Developing their own RDP load balancer and a runtime to improve developing software (Visual Basic to C#.Net)
SaaS ERP: Re-engineering Problems: Low concurrency level One user could affect all user on this server Peaks at month end (billing, payroll,…) Printing Licenses cost (Citrix, Terminal Server, Windows, SQL Server)
SaaS ERP: Re-engineering Solutions: 3 tier model (client, application server, database) Client only renders, all calculations at server side Same client and application server for all customers Most reports go to printer so speed isn’t important, let’s shape the demand Leverage asynchronous calls between client and server Found tool to get rid of those printer drivers at the Terminal server Developed a tool with instrumentation to substitute Citrix licenses Has to be single-tenant at database side
SaaS ERP: Single-Tenant Single-Tenant at databaselevel
6.1. SaaS 34330 EEDC Execution Environments for  Distributed  Computing 6.1.1. 	What’s SaaS 6.1.2. 	Multi-Tenancy? 6.1.3.	Batch processing Master in Computer Architecture, Networks and Systems  - CANS
Batch processing only for Research? What’s Batch processing? Wait to have a bunch of things to process Launch process to do things that last some time Get the results after non trivial time Why Batch processing? Better Throughput at Latency expenses
Batch processing only for Research? What’s Batch processing? Wait to have a bunch of things to process Launch process to do things that last some time Get the results after non trivial time Why Batch processing? Better Throughput at Latency expenses
Sending newsletters What a newsletter app looks like?
Batch vs. Online Where we don’t need hard real-time
Batch optimization If we wait enough… We’ll have enough e-mails to same server to leverage SMTP Pipelining TCP Slow Start. Typical email 30 KB, BW 100 mb/s = 2 ms/email, but RTT 200 ms
Batch optimization If we wait enough… We’ll have other problems File System, too many files at the same folder Time to read/create file O(n) on most file systems Spool has to be persistent so we have to much write IOPS Leverage hashing again Hash files to folders so: 12132324.queue -> ab/c3/12132324.queue Enable write back cache at the storage device
Batch optimization If we wait enough… Went from 5.000 emails/hour  to 500.000 emails/hour And save money as senders only need to be up when they are doing something (API to IaaS provider)
Reporting optimization Every click or image went to an Apache Server Look for URL to redirect Insert to access MySQL Reporting using real-time aggregation queries
Reporting optimization Using a CDN + log parsing + Hive + Hbase we can escalate reporting As the CDN doesn’t cache HTTP redirects we enable a poll based server sending redirects and logging the access Urls looks like: http://esp.net/customer_id/link_id/mail_id Also is easy to escalate with a simple load balancer
Aboutthissession 34330 	Execution Environments for Distributed Computing (EEDC), 	Master in Computer Architecture, Networks and Systems (CANS)	Computer Architectura Department (AC) UniversitatPolitècnica de Catalunya – Barcelona Tech (UPC) INSTRUCTOR Sergi Morales, Founder & CTO of Expertos en TIPhone: +34 6688-XPNTIEmail : sergi.morales+eedc@expertosenti.comBlog : http://blog.expertosenti.com 	Web: http://www.expertosenti.com
About the EEDC course  34330 	Execution Environments for Distributed Computing (EEDC), 	Master in Computer Architecture, Networks and Systems (CANS)	Computer Architectura Department (AC) 		Universitat Politècnica de Catalunya – Barcelona Tech (UPC)	ECTS credits: 6 INSTRUCTOR 	Professor Jordi TorresPhone: +34 93 401 7223 Email : torres@ac.upc.eduOffice : Campus Nord, Modul C6. Room 217. 	Web: http://www.JordiTorres.org

Más contenido relacionado

La actualidad más candente

Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...
Charley Hanania
 
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
confluent
 

La actualidad más candente (20)

DataOps Automation for a Kafka Streaming Platform (Andrew Stevenson + Spiros ...
DataOps Automation for a Kafka Streaming Platform (Andrew Stevenson + Spiros ...DataOps Automation for a Kafka Streaming Platform (Andrew Stevenson + Spiros ...
DataOps Automation for a Kafka Streaming Platform (Andrew Stevenson + Spiros ...
 
Transforms Document Management at Scale with Distributed Database Solution wi...
Transforms Document Management at Scale with Distributed Database Solution wi...Transforms Document Management at Scale with Distributed Database Solution wi...
Transforms Document Management at Scale with Distributed Database Solution wi...
 
Streaming Data in the Cloud with Confluent and MongoDB Atlas | Robert Walters...
Streaming Data in the Cloud with Confluent and MongoDB Atlas | Robert Walters...Streaming Data in the Cloud with Confluent and MongoDB Atlas | Robert Walters...
Streaming Data in the Cloud with Confluent and MongoDB Atlas | Robert Walters...
 
Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...
 
Spark and Couchbase– Augmenting the Operational Database with Spark
Spark and Couchbase– Augmenting the Operational Database with SparkSpark and Couchbase– Augmenting the Operational Database with Spark
Spark and Couchbase– Augmenting the Operational Database with Spark
 
Data Pipelines With Streamsets
Data Pipelines With Streamsets Data Pipelines With Streamsets
Data Pipelines With Streamsets
 
CloudMonitor - Automated cost optimization and governance platform - Free BET...
CloudMonitor - Automated cost optimization and governance platform - Free BET...CloudMonitor - Automated cost optimization and governance platform - Free BET...
CloudMonitor - Automated cost optimization and governance platform - Free BET...
 
Ebooks - Accelerating Time to Value of Big Data of Apache Spark | Qubole
Ebooks - Accelerating Time to Value of Big Data of Apache Spark | QuboleEbooks - Accelerating Time to Value of Big Data of Apache Spark | Qubole
Ebooks - Accelerating Time to Value of Big Data of Apache Spark | Qubole
 
Unified Data Access with Gimel
Unified Data Access with GimelUnified Data Access with Gimel
Unified Data Access with Gimel
 
Extracting Value from IOT using Azure Cosmos DB, Azure Synapse Analytics and ...
Extracting Value from IOT using Azure Cosmos DB, Azure Synapse Analytics and ...Extracting Value from IOT using Azure Cosmos DB, Azure Synapse Analytics and ...
Extracting Value from IOT using Azure Cosmos DB, Azure Synapse Analytics and ...
 
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
 
SharePoint User Group - Leeds - 2015-09-02
SharePoint User Group - Leeds - 2015-09-02SharePoint User Group - Leeds - 2015-09-02
SharePoint User Group - Leeds - 2015-09-02
 
AdStage: Monacella: An Relational Object Database using Cassandra as the Data...
AdStage: Monacella: An Relational Object Database using Cassandra as the Data...AdStage: Monacella: An Relational Object Database using Cassandra as the Data...
AdStage: Monacella: An Relational Object Database using Cassandra as the Data...
 
Tungsten Use Case: Modernizing Medicine, a SaaS solution running on Amazon AWS
Tungsten Use Case: Modernizing Medicine, a SaaS solution running on Amazon AWSTungsten Use Case: Modernizing Medicine, a SaaS solution running on Amazon AWS
Tungsten Use Case: Modernizing Medicine, a SaaS solution running on Amazon AWS
 
Logging infrastructure for Microservices using StreamSets Data Collector
Logging infrastructure for Microservices using StreamSets Data CollectorLogging infrastructure for Microservices using StreamSets Data Collector
Logging infrastructure for Microservices using StreamSets Data Collector
 
Case Study: Elasticsearch Ingest Using StreamSets at Cisco Intercloud
Case Study: Elasticsearch Ingest Using StreamSets at Cisco IntercloudCase Study: Elasticsearch Ingest Using StreamSets at Cisco Intercloud
Case Study: Elasticsearch Ingest Using StreamSets at Cisco Intercloud
 
All you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version update
 
Using Hazelcast in the Kappa architecture
Using Hazelcast in the Kappa architectureUsing Hazelcast in the Kappa architecture
Using Hazelcast in the Kappa architecture
 
Building Data Pipelines with Spark and StreamSets
Building Data Pipelines with Spark and StreamSetsBuilding Data Pipelines with Spark and StreamSets
Building Data Pipelines with Spark and StreamSets
 
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
 

Destacado

Open stack design 2012 applications targeting openstack-final
Open stack design 2012   applications targeting openstack-finalOpen stack design 2012   applications targeting openstack-final
Open stack design 2012 applications targeting openstack-final
rhirschfeld
 
SaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsSaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational Concepts
Jeelani Shaik
 
Enterprise Agreement
Enterprise AgreementEnterprise Agreement
Enterprise Agreement
Sagi Arsyad
 
How to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring EditionHow to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring Edition
Stephan Hochdörfer
 

Destacado (20)

Open stack design 2012 applications targeting openstack-final
Open stack design 2012   applications targeting openstack-finalOpen stack design 2012   applications targeting openstack-final
Open stack design 2012 applications targeting openstack-final
 
Inevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product EngineeringInevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product Engineering
 
Data Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureData Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL Azure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Diese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenDiese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennen
 
BP Project History
BP Project HistoryBP Project History
BP Project History
 
SaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsSaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational Concepts
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Webinar - Business Implications of SaaS Multi Tenancy
Webinar - Business Implications of SaaS Multi TenancyWebinar - Business Implications of SaaS Multi Tenancy
Webinar - Business Implications of SaaS Multi Tenancy
 
Enterprise Agreement
Enterprise AgreementEnterprise Agreement
Enterprise Agreement
 
Microsoft Software Assurance
Microsoft Software AssuranceMicrosoft Software Assurance
Microsoft Software Assurance
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - MicrosoftIoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
 
Create scalable and configurable multi tenancy application
Create scalable and configurable multi tenancy applicationCreate scalable and configurable multi tenancy application
Create scalable and configurable multi tenancy application
 
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
Hands-On with U-SQL and Azure Data Lake Analytics (ADLA)
 
IoT on Azure
IoT on AzureIoT on Azure
IoT on Azure
 
Azure Data Lake and U-SQL
Azure Data Lake and U-SQLAzure Data Lake and U-SQL
Azure Data Lake and U-SQL
 
How to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring EditionHow to build customizable multitenant web applications - IPC11 Spring Edition
How to build customizable multitenant web applications - IPC11 Spring Edition
 
Azure Operational Insightsについて
Azure Operational InsightsについてAzure Operational Insightsについて
Azure Operational Insightsについて
 
Microsoft & Internet of Things
Microsoft & Internet of ThingsMicrosoft & Internet of Things
Microsoft & Internet of Things
 

Similar a EEDC 2010. Scaling SaaS Applications

Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Csco
rajramab
 

Similar a EEDC 2010. Scaling SaaS Applications (20)

Dataservices - Processing Big Data The Microservice Way
Dataservices - Processing Big Data The Microservice WayDataservices - Processing Big Data The Microservice Way
Dataservices - Processing Big Data The Microservice Way
 
Future prediction-ds
Future prediction-dsFuture prediction-ds
Future prediction-ds
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
EEDC 2010. Scaling Web Applications
EEDC 2010. Scaling Web ApplicationsEEDC 2010. Scaling Web Applications
EEDC 2010. Scaling Web Applications
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Extending on premise applications to the cloud
Extending on premise applications to the cloudExtending on premise applications to the cloud
Extending on premise applications to the cloud
 
Everything comes in 3's
Everything comes in 3'sEverything comes in 3's
Everything comes in 3's
 
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre RomanSpring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
 
Spark Streaming with Azure Databricks
Spark Streaming with Azure DatabricksSpark Streaming with Azure Databricks
Spark Streaming with Azure Databricks
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Csco
 
My aws cp study (autosaved)
My aws cp study (autosaved)My aws cp study (autosaved)
My aws cp study (autosaved)
 
AMF304-Optimizing Design and Engineering Performance in the Cloud for Manufac...
AMF304-Optimizing Design and Engineering Performance in the Cloud for Manufac...AMF304-Optimizing Design and Engineering Performance in the Cloud for Manufac...
AMF304-Optimizing Design and Engineering Performance in the Cloud for Manufac...
 
Amf304 optimizing-design-and-e-660cc73d-5c4c-4331-8f59-48cccdc1b7f4-135588426...
Amf304 optimizing-design-and-e-660cc73d-5c4c-4331-8f59-48cccdc1b7f4-135588426...Amf304 optimizing-design-and-e-660cc73d-5c4c-4331-8f59-48cccdc1b7f4-135588426...
Amf304 optimizing-design-and-e-660cc73d-5c4c-4331-8f59-48cccdc1b7f4-135588426...
 
How leading financial services organisations are winning with tech
How leading financial services organisations are winning with techHow leading financial services organisations are winning with tech
How leading financial services organisations are winning with tech
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
 
Confluent & Attunity: Mainframe Data Modern Analytics
Confluent & Attunity: Mainframe Data Modern AnalyticsConfluent & Attunity: Mainframe Data Modern Analytics
Confluent & Attunity: Mainframe Data Modern Analytics
 

Más de Expertos en TI (13)

CloudCamp VLC DevOps
CloudCamp VLC DevOpsCloudCamp VLC DevOps
CloudCamp VLC DevOps
 
Estrategias para implantar Cloud
Estrategias para implantar CloudEstrategias para implantar Cloud
Estrategias para implantar Cloud
 
CloudCamp BCN, To Cloud or not to Cloud
CloudCamp BCN, To Cloud or not to CloudCloudCamp BCN, To Cloud or not to Cloud
CloudCamp BCN, To Cloud or not to Cloud
 
Mejora De Rendimiento En Web
Mejora De Rendimiento En WebMejora De Rendimiento En Web
Mejora De Rendimiento En Web
 
Diagnóstico Del Rendimiento
Diagnóstico Del RendimientoDiagnóstico Del Rendimiento
Diagnóstico Del Rendimiento
 
Escalabilidad
EscalabilidadEscalabilidad
Escalabilidad
 
Escalabilidad Guias
Escalabilidad GuiasEscalabilidad Guias
Escalabilidad Guias
 
Escalabilidad Formacion
Escalabilidad FormacionEscalabilidad Formacion
Escalabilidad Formacion
 
Escalabilidad Asesorar
Escalabilidad AsesorarEscalabilidad Asesorar
Escalabilidad Asesorar
 
Escalabilidad guias
Escalabilidad guiasEscalabilidad guias
Escalabilidad guias
 
Escalabilidad formacion
Escalabilidad formacionEscalabilidad formacion
Escalabilidad formacion
 
Escalabilidad asesorar
Escalabilidad asesorarEscalabilidad asesorar
Escalabilidad asesorar
 
Escalabilidad
EscalabilidadEscalabilidad
Escalabilidad
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

EEDC 2010. Scaling SaaS Applications

  • 1. 6.1. SaaS 34330 EEDC Execution Environments for Distributed Computing 6.1.1. What’s SaaS 6.1.2. Multi-Tenancy 6.1.3. Batch processing Master in Computer Architecture, Networks and Systems - CANS
  • 2. 6.1. SaaS 34330 EEDC Execution Environments for Distributed Computing 6.1.1. What’s SaaS 6.1.2. Multi-Tenancy? 6.1.3. Batch processing Master in Computer Architecture, Networks and Systems - CANS
  • 3. What’s Software as a Service?
  • 4. WhySaaS?. On PremisesCashFlow Crisis! Customization & Deploy New project
  • 5. Título de la presentación WhySaaS?. SaaSCashFlow Crisis! New customer Actual customers
  • 6. 6.1. SaaS 34330 EEDC Execution Environments for Distributed Computing 6.1.1. What’s SaaS 6.1.2. Multi-Tenancy? 6.1.3. Batch processing Master in Computer Architecture, Networks and Systems - CANS
  • 7. What’s Multi-Tenancy? You DON’T have a 1:1 relationbetweencustomers and instances of data
  • 8. SaaS ERP Multi-Tenancy @ Spain targeting non-technological SMB (PyMEs)? NO way! Cultural issues were (and are) impacting their bottom-line and single-tenancy at database allows them to send backups of data to their customers as a «peace of mind» They faced a trade-off between less scalability and bigger infrastructure costs, and selling to THEIR customers and easier development
  • 9. SaaS ERP 1st boxed software, on premises deploy & customization, remote upgrades, support, etc.. 2nd Dual offering, boxed to big/special customers and SaaS using the same code base to smaller customers -> saving on support and upgrades 3rd Re-engineering of code to allow better concurrency. Developing their own RDP load balancer and a runtime to improve developing software (Visual Basic to C#.Net)
  • 10. SaaS ERP: Re-engineering Problems: Low concurrency level One user could affect all user on this server Peaks at month end (billing, payroll,…) Printing Licenses cost (Citrix, Terminal Server, Windows, SQL Server)
  • 11. SaaS ERP: Re-engineering Solutions: 3 tier model (client, application server, database) Client only renders, all calculations at server side Same client and application server for all customers Most reports go to printer so speed isn’t important, let’s shape the demand Leverage asynchronous calls between client and server Found tool to get rid of those printer drivers at the Terminal server Developed a tool with instrumentation to substitute Citrix licenses Has to be single-tenant at database side
  • 12. SaaS ERP: Single-Tenant Single-Tenant at databaselevel
  • 13. 6.1. SaaS 34330 EEDC Execution Environments for Distributed Computing 6.1.1. What’s SaaS 6.1.2. Multi-Tenancy? 6.1.3. Batch processing Master in Computer Architecture, Networks and Systems - CANS
  • 14. Batch processing only for Research? What’s Batch processing? Wait to have a bunch of things to process Launch process to do things that last some time Get the results after non trivial time Why Batch processing? Better Throughput at Latency expenses
  • 15. Batch processing only for Research? What’s Batch processing? Wait to have a bunch of things to process Launch process to do things that last some time Get the results after non trivial time Why Batch processing? Better Throughput at Latency expenses
  • 16. Sending newsletters What a newsletter app looks like?
  • 17. Batch vs. Online Where we don’t need hard real-time
  • 18. Batch optimization If we wait enough… We’ll have enough e-mails to same server to leverage SMTP Pipelining TCP Slow Start. Typical email 30 KB, BW 100 mb/s = 2 ms/email, but RTT 200 ms
  • 19. Batch optimization If we wait enough… We’ll have other problems File System, too many files at the same folder Time to read/create file O(n) on most file systems Spool has to be persistent so we have to much write IOPS Leverage hashing again Hash files to folders so: 12132324.queue -> ab/c3/12132324.queue Enable write back cache at the storage device
  • 20. Batch optimization If we wait enough… Went from 5.000 emails/hour to 500.000 emails/hour And save money as senders only need to be up when they are doing something (API to IaaS provider)
  • 21. Reporting optimization Every click or image went to an Apache Server Look for URL to redirect Insert to access MySQL Reporting using real-time aggregation queries
  • 22. Reporting optimization Using a CDN + log parsing + Hive + Hbase we can escalate reporting As the CDN doesn’t cache HTTP redirects we enable a poll based server sending redirects and logging the access Urls looks like: http://esp.net/customer_id/link_id/mail_id Also is easy to escalate with a simple load balancer
  • 23. Aboutthissession 34330 Execution Environments for Distributed Computing (EEDC), Master in Computer Architecture, Networks and Systems (CANS) Computer Architectura Department (AC) UniversitatPolitècnica de Catalunya – Barcelona Tech (UPC) INSTRUCTOR Sergi Morales, Founder & CTO of Expertos en TIPhone: +34 6688-XPNTIEmail : sergi.morales+eedc@expertosenti.comBlog : http://blog.expertosenti.com Web: http://www.expertosenti.com
  • 24. About the EEDC course 34330 Execution Environments for Distributed Computing (EEDC), Master in Computer Architecture, Networks and Systems (CANS) Computer Architectura Department (AC) Universitat Politècnica de Catalunya – Barcelona Tech (UPC) ECTS credits: 6 INSTRUCTOR Professor Jordi TorresPhone: +34 93 401 7223 Email : torres@ac.upc.eduOffice : Campus Nord, Modul C6. Room 217. Web: http://www.JordiTorres.org
  • 25. 34330 EEDC Execution Environments for Distributed Computing Sergi Morales Founder & CTO T: 668897684 E: sergi.morales@expertosenti.com L: www.linkedin.com/in/sergimorales Master in Computer Architecture, Networks and Systems - CANS
  • 26. Case Asynchronous access to Facebook API server Expect to fail Tables with so many rows, a key/value approach Consistent hashing to loadbalance data Sticky servers?