SlideShare a Scribd company logo
1 of 34
Automating visual software testing
BUILDING
UNIVERSAL
SERVERS
ON-PREM MEETS AZURE PAAS
Adam Carmi
Applitools Co-Founder & CTO
Automating visual software testing
ABOUT ME
Automating visual software testing
AGENDA
• About Applitools
• Why Azure?
• Applitools’ universal server
• Q&A
Automating visual software testing
WHAT IS VISUAL TESTING?
A quality assurance activity aimed to verify that a
Graphical User Interface appears correctly to users
Automating visual software testing
Automating visual software testing
Automating visual software testing
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline images
Report differences
Update the baseline
Automating visual software testing
DEMO
Automating visual software testing
AGENDA
• About Applitools
• Why Azure?
• Applitools’ universal server
• Q&A
Automating visual software testing
OPERATIONAL REQUIREMENTS
• A 30K tenant public cloud
• 5M CPU and memory intensive tests / month
• Multiple single tenant dedicated clouds
• On-Prem installations
• Massive image uploads that are rarely fully downloaded
• 1Y data retention
• Permanent availability
• Growing 50% Q/Q
Automating visual software testing
SYSTEM ARCHITECTURE
API Server
Tests, Image processing,
Tasks, Auth, Admin,
Externals, App
APP Server
Tests, Image processing,
Tasks, Auth, Admin,
Externals, App
SDK
Data
+
State
Eyes Server (On-Prem / Azure Web-Role) User
APP
Tests
Automating visual software testing
AZURE WEB-ROLE
A collection of identical, auto-managed, load-balanced VMs that
run IIS compatible web-applications
• Same web-apps (binaries and resources)
• Same configuration
Automating visual software testing
WHY AZURE WEB-ROLE?
• Infinite scale and high availability
• Extremely reliable
• No hardware / OS maintenance concerns
• Rolling deployments
• Immediate emergency rollback to staging
• A thin wrapper around a standard IIS web-site (VS Project)
• .NET
Automating visual software testing
AGENDA
• About Applitools
• Why Azure?
• Applitools’ universal server
• Q&A
Automating visual software testing
APPLITOOLS’ UNIVERSAL SERVER
• Design
• Deployment
• Runtime
• Storage
• Framework
• Testability
Automating visual software testing
DESIGN TOWARDS THE WEB-ROLE
• Multiple stateless instances (scale-out, rolling upgrades)
• Optimistic concurrency and eventual consistency
• Data partitioning
• Automatic instance recycling
• Transient local storage
• Async long running tasks (hard timeouts)
Automating visual software testing
BUT DEPEND ON AS FEW PAAS
ARTIFACTS AS POSSIBLE...
In order to keep the On-Prem deployment simple.
Automating visual software testing
APPLITOOLS’ UNIVERSAL SERVER
• Design
• Deployment
• Runtime
• Storage
• Framework
• Testability
Automating visual software testing
ON-PREM DEPLOYMENT
Automating visual software testing
CLOUD-SERVICE DEFINITION
Packaging
Automating visual software testing
• Deployed together with a cloud-service package
• Initial instance count
• SSL certificate
• Configuration settings
CLOUD-SERVICE CONFIGURATION
Automating visual software testing
PUBLISHING OPTIONS
• Visual Studio
• Azure management portal
• REST APIs
• Programmatically
• Azure PowerShell
Automating visual software testing
APPLITOOLS’ UNIVERSAL SERVER
• Design
• Deployment
• Runtime
• Storage
• Framework
• Testability
Automating visual software testing
RUNTIME ABSTRACTION
IServiceRuntime
• Access configuration settings
• Access local file storage paths
• Get the instance name (for logging)
• Register runtime event listeners
Automating visual software testing
APPLITOOLS’ UNIVERSAL SERVER
• Design
• Deployment
• Runtime
• Storage
• Framework
• Testability
Automating visual software testing
NOSQL?
• Infinite storage
• High availability
• Speed
• Pricing
• No schema migration
Automating visual software testing
NOSQL STORAGE ABSTRACTIONS
IObjectStore<T>, IByteStore, …
• Key/value based
• Atomic update/create with optimistic
concurrency
• In-memory, File System, Entity Framework,
Azure Table, Azure Blob implementations
Automating visual software testing
STORAGE CONFIGURATION
Web-Role
On-Prem
Automating visual software testing
APPLITOOLS’ UNIVERSAL SERVER
• Design
• Deployment
• Runtime
• Storage
• Framework
• Testability
Automating visual software testing
FRAMEWORK SERVICES
• Framework services are built on top of the storage abstraction
• Access control
• Counters
• Named locks
• Notifications
• Long running tasks
Automating visual software testing
APPLITOOLS’ UNIVERSAL SERVER
• Design
• Deployment
• Runtime
• Storage
• Framework
• Testability
Automating visual software testing
TESTABILITY
• Run any version of the server on your local machine with a
simple SVN update command.
• Execute thousands of API tests in less than a minute by using
in-memory storage.
• Easily debug local code changes step-by-step running against
production data.
Automating visual software testing
SUMMARY
 Universal
 Scale
 Availability
 Deployment
 Testability
 Cost (storage)
× Design complexity (storage, PaaS services)
Automating visual software testing
QUESTIONS?
Adam Carmi
Applitools Co-Founder & CTO

More Related Content

What's hot

DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISEDEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISEEuropean Collaboration Summit
 
Why AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsWhy AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsnj-azure
 
Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018Chase Douglas
 
Azure functions
Azure functionsAzure functions
Azure functionsvivek p s
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codesriram_rajan
 
Java Night 2010 SteamCannon
Java Night 2010 SteamCannonJava Night 2010 SteamCannon
Java Night 2010 SteamCannonmarekgoldmann
 
Baking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at NetflixBaking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at NetflixAtlassian
 
Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)
Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)
Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)Akamai Developers & Admins
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian PerformanceAtlassian
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefAll Things Open
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessDhaval Nagar
 
Get Started with ASP.NET Core Training, Tutorial - Beginner to Advance
Get Started with ASP.NET Core Training, Tutorial - Beginner to AdvanceGet Started with ASP.NET Core Training, Tutorial - Beginner to Advance
Get Started with ASP.NET Core Training, Tutorial - Beginner to AdvanceShailendra Chauhan
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
(DVO314) USA Today Uses Chef & AWS for Infrastructure StandardizationAmazon Web Services
 
Infrastructure as Code @BuildStuff2013
Infrastructure as Code @BuildStuff2013Infrastructure as Code @BuildStuff2013
Infrastructure as Code @BuildStuff2013Mantas Klasavicius
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaSCloudBees
 
Techique, Methodology, Culture
Techique, Methodology, CultureTechique, Methodology, Culture
Techique, Methodology, CultureBenny Bauer
 
SPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building SolutionsSPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building SolutionsNCCOMMS
 
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Eric Shupps
 

What's hot (20)

DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISEDEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
DEVELOPING SHAREPOINT FRAMEWORK SOLUTIONS FOR THE ENTERPRISE
 
Why AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsWhy AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutions
 
Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018
 
Azure functions
Azure functionsAzure functions
Azure functions
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
Java Night 2010 SteamCannon
Java Night 2010 SteamCannonJava Night 2010 SteamCannon
Java Night 2010 SteamCannon
 
Baking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at NetflixBaking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at Netflix
 
Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)
Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)
Secure DevOps Workflow at Dell with Enterprise Application Access (EAA)
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
 
Get Started with ASP.NET Core Training, Tutorial - Beginner to Advance
Get Started with ASP.NET Core Training, Tutorial - Beginner to AdvanceGet Started with ASP.NET Core Training, Tutorial - Beginner to Advance
Get Started with ASP.NET Core Training, Tutorial - Beginner to Advance
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
 
Infrastructure as Code @BuildStuff2013
Infrastructure as Code @BuildStuff2013Infrastructure as Code @BuildStuff2013
Infrastructure as Code @BuildStuff2013
 
JustLetMeCode-Final
JustLetMeCode-FinalJustLetMeCode-Final
JustLetMeCode-Final
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Techique, Methodology, Culture
Techique, Methodology, CultureTechique, Methodology, Culture
Techique, Methodology, Culture
 
SPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building SolutionsSPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building Solutions
 
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
Developing SharePoint Framework Solutions for the Enterprise (SPC 2019)
 

Viewers also liked

дидактич. ігри для усного рахунку 1кл.
дидактич. ігри для усного рахунку  1кл.дидактич. ігри для усного рахунку  1кл.
дидактич. ігри для усного рахунку 1кл.ольга мищенко
 
Blokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routeros
Blokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routerosBlokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routeros
Blokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routerosChaby Saif
 
Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016
Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016
Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016Blue Solutions
 
Himanshu Arora_Nurse Scheduling using GA
Himanshu Arora_Nurse Scheduling using GAHimanshu Arora_Nurse Scheduling using GA
Himanshu Arora_Nurse Scheduling using GAHIMANSHU ARORA
 
Presentacion socializacion experiencias adultez hruu corregida
Presentacion socializacion experiencias adultez hruu corregidaPresentacion socializacion experiencias adultez hruu corregida
Presentacion socializacion experiencias adultez hruu corregidadaalvale
 
Experiencia san brino
Experiencia san brinoExperiencia san brino
Experiencia san brinodaalvale
 
Experiencia ambito comunitario hruu
Experiencia ambito comunitario hruuExperiencia ambito comunitario hruu
Experiencia ambito comunitario hruudaalvale
 
Työhyvinvoinnin TulosFoorumi Petteri Mussalo Espoo
Työhyvinvoinnin TulosFoorumi Petteri Mussalo EspooTyöhyvinvoinnin TulosFoorumi Petteri Mussalo Espoo
Työhyvinvoinnin TulosFoorumi Petteri Mussalo EspooPROimpact_Oy
 
Trabajo especial 2. legalizacion de las drogas en méxico. en acuerdo o en de...
Trabajo especial 2.  legalizacion de las drogas en méxico. en acuerdo o en de...Trabajo especial 2.  legalizacion de las drogas en méxico. en acuerdo o en de...
Trabajo especial 2. legalizacion de las drogas en méxico. en acuerdo o en de...Marina Olivas Osti
 
Tema :Responsabilidad Social y Etica
Tema :Responsabilidad Social y EticaTema :Responsabilidad Social y Etica
Tema :Responsabilidad Social y EticaLuz Marina Tarraga
 
from Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbales
from Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbalesfrom Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbales
from Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbalesZheng Liuyi
 
trabajo practico nº2 Gaston
trabajo practico nº2 Gastontrabajo practico nº2 Gaston
trabajo practico nº2 GastonGastonvillagran
 
Método de la investigación
Método de la investigación Método de la investigación
Método de la investigación RashGil1290
 
HT16 - DA361A - Repetition
HT16 - DA361A - RepetitionHT16 - DA361A - Repetition
HT16 - DA361A - RepetitionAnton Tibblin
 

Viewers also liked (20)

дидактич. ігри для усного рахунку 1кл.
дидактич. ігри для усного рахунку  1кл.дидактич. ігри для усного рахунку  1кл.
дидактич. ігри для усного рахунку 1кл.
 
Blokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routeros
Blokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routerosBlokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routeros
Blokir add on anonymox menggunakan l7 &amp; firewall filter mikro tik routeros
 
Presentación j&j beauty
Presentación j&j beautyPresentación j&j beauty
Presentación j&j beauty
 
Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016
Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016
Apresentação Serviços - Continuidade de Negócios - Blue Solutions_2016
 
Himanshu Arora_Nurse Scheduling using GA
Himanshu Arora_Nurse Scheduling using GAHimanshu Arora_Nurse Scheduling using GA
Himanshu Arora_Nurse Scheduling using GA
 
Presentacion socializacion experiencias adultez hruu corregida
Presentacion socializacion experiencias adultez hruu corregidaPresentacion socializacion experiencias adultez hruu corregida
Presentacion socializacion experiencias adultez hruu corregida
 
Experiencia san brino
Experiencia san brinoExperiencia san brino
Experiencia san brino
 
Experiencia ambito comunitario hruu
Experiencia ambito comunitario hruuExperiencia ambito comunitario hruu
Experiencia ambito comunitario hruu
 
Työhyvinvoinnin TulosFoorumi Petteri Mussalo Espoo
Työhyvinvoinnin TulosFoorumi Petteri Mussalo EspooTyöhyvinvoinnin TulosFoorumi Petteri Mussalo Espoo
Työhyvinvoinnin TulosFoorumi Petteri Mussalo Espoo
 
Teoría de nola j
Teoría de nola jTeoría de nola j
Teoría de nola j
 
santiago Parte a
santiago Parte asantiago Parte a
santiago Parte a
 
tarjetas de memoria
tarjetas de memoriatarjetas de memoria
tarjetas de memoria
 
Trabajo especial 2. legalizacion de las drogas en méxico. en acuerdo o en de...
Trabajo especial 2.  legalizacion de las drogas en méxico. en acuerdo o en de...Trabajo especial 2.  legalizacion de las drogas en méxico. en acuerdo o en de...
Trabajo especial 2. legalizacion de las drogas en méxico. en acuerdo o en de...
 
Altamirano y proaño
Altamirano y proañoAltamirano y proaño
Altamirano y proaño
 
Session 6: Citizen science to surveillance: Estimating reporting probabilitie...
Session 6: Citizen science to surveillance: Estimating reporting probabilitie...Session 6: Citizen science to surveillance: Estimating reporting probabilitie...
Session 6: Citizen science to surveillance: Estimating reporting probabilitie...
 
Tema :Responsabilidad Social y Etica
Tema :Responsabilidad Social y EticaTema :Responsabilidad Social y Etica
Tema :Responsabilidad Social y Etica
 
from Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbales
from Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbalesfrom Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbales
from Beijing Foreign Study University MR. Zheng Shujiu periphrasis verbales
 
trabajo practico nº2 Gaston
trabajo practico nº2 Gastontrabajo practico nº2 Gaston
trabajo practico nº2 Gaston
 
Método de la investigación
Método de la investigación Método de la investigación
Método de la investigación
 
HT16 - DA361A - Repetition
HT16 - DA361A - RepetitionHT16 - DA361A - Repetition
HT16 - DA361A - Repetition
 

Similar to Building Universal Servers (On-prem meets Azure PAAS)

Introduction to automated visual testing
Introduction to automated visual testingIntroduction to automated visual testing
Introduction to automated visual testingadamcarmi
 
Adam carmi
Adam carmiAdam carmi
Adam carmiCodeFest
 
Web Automation Testing for developers?
Web Automation Testing for developers?Web Automation Testing for developers?
Web Automation Testing for developers?Victor Kushchenko
 
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam CarmiApplitools
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingInCycleSoftware
 
Parallel Test execution in Cypress with CI/CD
Parallel Test execution in Cypress with CI/CDParallel Test execution in Cypress with CI/CD
Parallel Test execution in Cypress with CI/CDAgile Testing Alliance
 
AWS Summit 2013 | India - Running High Churn Development & Test Environments,...
AWS Summit 2013 | India - Running High Churn Development & Test Environments,...AWS Summit 2013 | India - Running High Churn Development & Test Environments,...
AWS Summit 2013 | India - Running High Churn Development & Test Environments,...Amazon Web Services
 
Visual regression with applitools eyes
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyesShama Ugale
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerAmazon Web Services
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...GoQA
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...Amazon Web Services
 
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...Puppet
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentWinWire Technologies Inc
 
Get On Top of Azure Resource Security Using Secure DevOps Kit for Azure
Get On Top of Azure Resource Security Using Secure DevOps Kit for AzureGet On Top of Azure Resource Security Using Secure DevOps Kit for Azure
Get On Top of Azure Resource Security Using Secure DevOps Kit for AzureKasun Kodagoda
 

Similar to Building Universal Servers (On-prem meets Azure PAAS) (20)

Introduction to automated visual testing
Introduction to automated visual testingIntroduction to automated visual testing
Introduction to automated visual testing
 
Adam carmi
Adam carmiAdam carmi
Adam carmi
 
Web Automation Testing for developers?
Web Automation Testing for developers?Web Automation Testing for developers?
Web Automation Testing for developers?
 
Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
 
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load Testing
 
Parallel Test execution in Cypress with CI/CD
Parallel Test execution in Cypress with CI/CDParallel Test execution in Cypress with CI/CD
Parallel Test execution in Cypress with CI/CD
 
AWS Summit 2013 | India - Running High Churn Development & Test Environments,...
AWS Summit 2013 | India - Running High Churn Development & Test Environments,...AWS Summit 2013 | India - Running High Churn Development & Test Environments,...
AWS Summit 2013 | India - Running High Churn Development & Test Environments,...
 
Visual regression with applitools eyes
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyes
 
IaaS azure_vs_amazon
IaaS azure_vs_amazonIaaS azure_vs_amazon
IaaS azure_vs_amazon
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
 
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
PuppetConf 2017: Unlocking Azure with Puppet Enterprise- Keiran Sweet, Source...
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App Development
 
Get On Top of Azure Resource Security Using Secure DevOps Kit for Azure
Get On Top of Azure Resource Security Using Secure DevOps Kit for AzureGet On Top of Azure Resource Security Using Secure DevOps Kit for Azure
Get On Top of Azure Resource Security Using Secure DevOps Kit for Azure
 

More from adamcarmi

Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Seleniumadamcarmi
 
Build mobile application that is easy to automate
Build mobile application that is easy to automateBuild mobile application that is easy to automate
Build mobile application that is easy to automateadamcarmi
 
Advanced Automated Visual Testing
Advanced Automated Visual TestingAdvanced Automated Visual Testing
Advanced Automated Visual Testingadamcarmi
 
SeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With SeleniumSeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With Seleniumadamcarmi
 
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFTAdvanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFTadamcarmi
 
Advanced Visual Test Automation with Selenium
Advanced Visual Test Automation with SeleniumAdvanced Visual Test Automation with Selenium
Advanced Visual Test Automation with Seleniumadamcarmi
 
Advanced Visual Test Automation With Selenium
Advanced Visual Test Automation With SeleniumAdvanced Visual Test Automation With Selenium
Advanced Visual Test Automation With Seleniumadamcarmi
 
Advanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile AppsAdvanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile Appsadamcarmi
 
Selenium Based Visual Test Automation
Selenium Based Visual Test AutomationSelenium Based Visual Test Automation
Selenium Based Visual Test Automationadamcarmi
 
Automated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not SuckAutomated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not Suckadamcarmi
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsulaadamcarmi
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Seleniumadamcarmi
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Seleniumadamcarmi
 

More from adamcarmi (13)

Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Selenium
 
Build mobile application that is easy to automate
Build mobile application that is easy to automateBuild mobile application that is easy to automate
Build mobile application that is easy to automate
 
Advanced Automated Visual Testing
Advanced Automated Visual TestingAdvanced Automated Visual Testing
Advanced Automated Visual Testing
 
SeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With SeleniumSeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With Selenium
 
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFTAdvanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
 
Advanced Visual Test Automation with Selenium
Advanced Visual Test Automation with SeleniumAdvanced Visual Test Automation with Selenium
Advanced Visual Test Automation with Selenium
 
Advanced Visual Test Automation With Selenium
Advanced Visual Test Automation With SeleniumAdvanced Visual Test Automation With Selenium
Advanced Visual Test Automation With Selenium
 
Advanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile AppsAdvanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile Apps
 
Selenium Based Visual Test Automation
Selenium Based Visual Test AutomationSelenium Based Visual Test Automation
Selenium Based Visual Test Automation
 
Automated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not SuckAutomated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not Suck
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsula
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 

Building Universal Servers (On-prem meets Azure PAAS)

  • 1. Automating visual software testing BUILDING UNIVERSAL SERVERS ON-PREM MEETS AZURE PAAS Adam Carmi Applitools Co-Founder & CTO
  • 2. Automating visual software testing ABOUT ME
  • 3. Automating visual software testing AGENDA • About Applitools • Why Azure? • Applitools’ universal server • Q&A
  • 4. Automating visual software testing WHAT IS VISUAL TESTING? A quality assurance activity aimed to verify that a Graphical User Interface appears correctly to users
  • 7. Automating visual software testing THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 9. Automating visual software testing AGENDA • About Applitools • Why Azure? • Applitools’ universal server • Q&A
  • 10. Automating visual software testing OPERATIONAL REQUIREMENTS • A 30K tenant public cloud • 5M CPU and memory intensive tests / month • Multiple single tenant dedicated clouds • On-Prem installations • Massive image uploads that are rarely fully downloaded • 1Y data retention • Permanent availability • Growing 50% Q/Q
  • 11. Automating visual software testing SYSTEM ARCHITECTURE API Server Tests, Image processing, Tasks, Auth, Admin, Externals, App APP Server Tests, Image processing, Tasks, Auth, Admin, Externals, App SDK Data + State Eyes Server (On-Prem / Azure Web-Role) User APP Tests
  • 12. Automating visual software testing AZURE WEB-ROLE A collection of identical, auto-managed, load-balanced VMs that run IIS compatible web-applications • Same web-apps (binaries and resources) • Same configuration
  • 13. Automating visual software testing WHY AZURE WEB-ROLE? • Infinite scale and high availability • Extremely reliable • No hardware / OS maintenance concerns • Rolling deployments • Immediate emergency rollback to staging • A thin wrapper around a standard IIS web-site (VS Project) • .NET
  • 14. Automating visual software testing AGENDA • About Applitools • Why Azure? • Applitools’ universal server • Q&A
  • 15. Automating visual software testing APPLITOOLS’ UNIVERSAL SERVER • Design • Deployment • Runtime • Storage • Framework • Testability
  • 16. Automating visual software testing DESIGN TOWARDS THE WEB-ROLE • Multiple stateless instances (scale-out, rolling upgrades) • Optimistic concurrency and eventual consistency • Data partitioning • Automatic instance recycling • Transient local storage • Async long running tasks (hard timeouts)
  • 17. Automating visual software testing BUT DEPEND ON AS FEW PAAS ARTIFACTS AS POSSIBLE... In order to keep the On-Prem deployment simple.
  • 18. Automating visual software testing APPLITOOLS’ UNIVERSAL SERVER • Design • Deployment • Runtime • Storage • Framework • Testability
  • 19. Automating visual software testing ON-PREM DEPLOYMENT
  • 20. Automating visual software testing CLOUD-SERVICE DEFINITION Packaging
  • 21. Automating visual software testing • Deployed together with a cloud-service package • Initial instance count • SSL certificate • Configuration settings CLOUD-SERVICE CONFIGURATION
  • 22. Automating visual software testing PUBLISHING OPTIONS • Visual Studio • Azure management portal • REST APIs • Programmatically • Azure PowerShell
  • 23. Automating visual software testing APPLITOOLS’ UNIVERSAL SERVER • Design • Deployment • Runtime • Storage • Framework • Testability
  • 24. Automating visual software testing RUNTIME ABSTRACTION IServiceRuntime • Access configuration settings • Access local file storage paths • Get the instance name (for logging) • Register runtime event listeners
  • 25. Automating visual software testing APPLITOOLS’ UNIVERSAL SERVER • Design • Deployment • Runtime • Storage • Framework • Testability
  • 26. Automating visual software testing NOSQL? • Infinite storage • High availability • Speed • Pricing • No schema migration
  • 27. Automating visual software testing NOSQL STORAGE ABSTRACTIONS IObjectStore<T>, IByteStore, … • Key/value based • Atomic update/create with optimistic concurrency • In-memory, File System, Entity Framework, Azure Table, Azure Blob implementations
  • 28. Automating visual software testing STORAGE CONFIGURATION Web-Role On-Prem
  • 29. Automating visual software testing APPLITOOLS’ UNIVERSAL SERVER • Design • Deployment • Runtime • Storage • Framework • Testability
  • 30. Automating visual software testing FRAMEWORK SERVICES • Framework services are built on top of the storage abstraction • Access control • Counters • Named locks • Notifications • Long running tasks
  • 31. Automating visual software testing APPLITOOLS’ UNIVERSAL SERVER • Design • Deployment • Runtime • Storage • Framework • Testability
  • 32. Automating visual software testing TESTABILITY • Run any version of the server on your local machine with a simple SVN update command. • Execute thousands of API tests in less than a minute by using in-memory storage. • Easily debug local code changes step-by-step running against production data.
  • 33. Automating visual software testing SUMMARY  Universal  Scale  Availability  Deployment  Testability  Cost (storage) × Design complexity (storage, PaaS services)
  • 34. Automating visual software testing QUESTIONS? Adam Carmi Applitools Co-Founder & CTO