SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Aerobatic
A UX delivery platform !
for nimble web apps
The Nimble Premise
•

Nimbleness has become an imperative in order to maintain
competitiveness and meet customer demands and
expectations.

•

While improved agility is important in all facets of technology,
it becomes increasingly critical the closer you get to the final
customer experience.
Nimble
•

Nimbleness - definitionRisk averseness
- one shot to get it rightRisk averseness
- one shot to get it right

•

Nimbleness is most vital at the point of
customer interaction

•

What Prevents Nimbleness

•

Onerous communication, external
dependencies, heavy handed
processes

•

Risk averseness Engineered for high

•

D

Quick and light - rapidly
performance and
respond to changing shot to get it right”
• “One
continuous
conditions
experimentation

Streamlined tools and
processes for minimal
workflow friction
Not Nimble

Onerous communication,
external dependencies,
heavy process

Risk averseness - one
shot to get it right

Inefficient, cumbersome
tooling and workflows
Brief History of Web Apps
Presentation Layer
Presentation Layer

Application Layer

Application Layer

Services Layer

Data Layer

Data Layer

Classic 3 tier app

New services layer

no change
Presentation Layer Split

browser
server

javascript, css, selectors, AJAX
script tags, HTML output,
inline script, css links, page titles,
onclick attributes
Pain Points
•

Speed to market dictated by backend agility

•

CMS systems are designed for non-coders but code is always
required to do interesting things

•

Awkward overlap between front-end and backend domains css and javascript sources, inline javascript, DOM layout

•

Canary deployments/testing are hard to do on server

•

Tight coupling - i.e. server generated HTML and client selectors

•

Test environment instability and non-representative of prod
A New UX Layer
•

Entirely browser resident

UX Layer

•

Light coupling to the presentation layer

Presentation Layer

•

Liberates UX teams to iterate and
innovate on their own terms

•

Presentation layer has diminished role,
more of a shim layer

•

Provide the same benefits to the user
experience that web services did for the
backend

•

Built with all the same modern web
technologies

•

Aerobatic seeks to be the UX layer
delivery platform

Application Layer
Services Layer
Data Layer
Benefits
•

Liberates UX/UI teams to tighten build->test->deploy->test loop

•

Decouples presentation tier from web server platform allowing for independent
release cadences

•

Encourages a modern streamlined web dev workflow based on best of breed tools
and techniques

•

Out of the box concurrent deployments for canary and A/B testing

•

Highly optimized cloud-based asset delivery

•

Develop directly against production site in simulator mode, preview changes live

•

Deploy as often as you wish, stage to prod via “git push” and specify traffic control
rules for one or more versions

•

Rollback is simple matter of redirecting traffic elsewhere
UX Layer

Backend

UI
Developer

Data/
Services

Web
Server/
CMS

raw page response

Visitor’s
Browser

push changes

UX assets

Integration Code
<head>
<script>
__config__ = {
pageId: “homePage”,
aerobaticAppOwner: "repo_owner",
aerobaticAppRepo: "repo",
};
</script>
<script src="//cdn.aerobaticapp.com/cockpit.js"></script>
</head>

Aerobatic
Terminology
airport - the home base for the Aerobatic delivery platform in the cloud - node.js running on AWS!
cockpit.js - javascript file that is included in the integration HTML rendered by the backend web
server which encapsulates all the intelligence powering Aerobatic on the client.
flightPlan - a JSON manifest downloaded by cockpit.js which determines which version of each
UX asset to deliver to the user.
hangar - where the UX asset versions are housed and retrieved from by the Aerobatic cloud.
Currently this is GitHub.
trafficControl - set of rules that dictate how traffic should be directed to one or more versions
based on a percentage allocation
dashboard - web based tool for defining traffic control rules and more, url is
airport.aerobaticapp.com/owner/repo
simulatorMode - setting that allows development of UX assets directly on the production site !
aerobatic.json - a configuration file that lives in the root of the UX assets repo which specifies
meta data about the app including which module is the main module for each page
UX Asset Delivery
•

Assets are asynchronously loaded via
Require.js

•

Every javascript, stylesheet, and template is:
minified, compressed, fingerprinted, and
aggressively cached at both the CDN and
browser

•

Provides a Rails-like asset pipeline that
supports pre-processing of CoffeeScript,
Jade, Stylus, Sass, Mustache, LESS, and
more

•

No need to configure local build steps, let
Aerobatic do the work for you
Development Experience
•

Mildly opinionated - mostly just forces use of AMD modules to structure code

•

No proprietary libraries or coding conventions to conform to

•

Supports all leading Javascript and CSS libraries such as jQuery, Angular,
Ember, Bootstrap, Backbone, etc.

•

Simply git push to your repository and your assets are ready to be served in
production

•

Provides a built-in test runner powered by Mocha, Chai, and PhantomJS. Run
tests either from the console or browser.

•

Cleanly integrates with 3rd party JavaScript components such as web analytics,
ad-retargeters, social widgets, etc.

•

You can focus on writing great apps and let Aerobatic take care of the plumbing
Simulator Mode
•

Redirects asset delivery to
developer’s localhost

•

Non-minified assets for ease of
debugging

•

Start server via “aerobatic”
command from repository root

•

npm install -g aerobatic

•

Same exact codebase powers
Aerobatic platform in the cloud
Sample Scenarios
•

Canary deploy home page design overhaul to 5% of customers
and monitor that conversion rates do not suffer

•

Send clients or approvers a preview link to a proposed future
version of the site. Upon approval, just flip the switch to make it
live.

•

Run usability tests right on the live site

•

Work around rigid CMS constraints that only allow a single
template per page type.

•

Run A/B tests on equal playing field between control and test
versions - everything loaded the same way.
Try it Out Yourself!
Checkout the Barnstormer Music
sample app at:
http://www.barnstormermusic.biz
Fork one of the repos and create
your own version of the UX that you
can experience live on the same
site. That’s the power of Aerobatic.
Learn more at
www.aerobaticapp.com

Mais conteúdo relacionado

Mais procurados

CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)camunda services GmbH
 
How to deliver secure,highly available Microsoft applications
How to deliver secure,highly available Microsoft applicationsHow to deliver secure,highly available Microsoft applications
How to deliver secure,highly available Microsoft applicationsKemp
 
MuleSoft Meetup Roma - CloudHub Networking Stategies
MuleSoft Meetup Roma -  CloudHub Networking StategiesMuleSoft Meetup Roma -  CloudHub Networking Stategies
MuleSoft Meetup Roma - CloudHub Networking StategiesAlfonso Martino
 
VM Job Queues in CloudStack
VM Job Queues in CloudStackVM Job Queues in CloudStack
VM Job Queues in CloudStackShapeBlue
 
20140211 BTUG.be - Workflow Manager
20140211 BTUG.be - Workflow Manager20140211 BTUG.be - Workflow Manager
20140211 BTUG.be - Workflow ManagerBTUGbe
 
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric
 
Workflow Manager 1.0 SharePoint 2013 Workflows
Workflow Manager 1.0SharePoint 2013 WorkflowsWorkflow Manager 1.0SharePoint 2013 Workflows
Workflow Manager 1.0 SharePoint 2013 WorkflowsDamir Dobric
 
Datasheet subversionpluginforrd
Datasheet subversionpluginforrdDatasheet subversionpluginforrd
Datasheet subversionpluginforrdMidVision
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions ProxiesTokyo Azure Meetup
 
Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
  Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study  Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
Mobile Interface to CMS Based On HTML5 and Drupal: A Case StudyHima Javvadi
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarinMohit Chhabra
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersChris O'Brien
 
Dotcom monitor platform overview
Dotcom monitor platform overviewDotcom monitor platform overview
Dotcom monitor platform overviewtrippj
 
ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2Vince Soliza
 
Windows Workflow Foundation in the Real World
Windows Workflow Foundation in the Real WorldWindows Workflow Foundation in the Real World
Windows Workflow Foundation in the Real WorldJesus Rodriguez
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release CycleAshokkumar T A
 
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...Jakob Gottlieb Svendsen
 
Windows Workflow Foundation
Windows Workflow FoundationWindows Workflow Foundation
Windows Workflow FoundationAndrei Oros
 

Mais procurados (20)

CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
 
How to deliver secure,highly available Microsoft applications
How to deliver secure,highly available Microsoft applicationsHow to deliver secure,highly available Microsoft applications
How to deliver secure,highly available Microsoft applications
 
MuleSoft Meetup Roma - CloudHub Networking Stategies
MuleSoft Meetup Roma -  CloudHub Networking StategiesMuleSoft Meetup Roma -  CloudHub Networking Stategies
MuleSoft Meetup Roma - CloudHub Networking Stategies
 
VM Job Queues in CloudStack
VM Job Queues in CloudStackVM Job Queues in CloudStack
VM Job Queues in CloudStack
 
20140211 BTUG.be - Workflow Manager
20140211 BTUG.be - Workflow Manager20140211 BTUG.be - Workflow Manager
20140211 BTUG.be - Workflow Manager
 
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al Sargent
 
Windows Workflow Foundation
Windows Workflow FoundationWindows Workflow Foundation
Windows Workflow Foundation
 
Workflow Manager 1.0 SharePoint 2013 Workflows
Workflow Manager 1.0SharePoint 2013 WorkflowsWorkflow Manager 1.0SharePoint 2013 Workflows
Workflow Manager 1.0 SharePoint 2013 Workflows
 
Datasheet subversionpluginforrd
Datasheet subversionpluginforrdDatasheet subversionpluginforrd
Datasheet subversionpluginforrd
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
 
Scaling Out .NET
Scaling Out .NETScaling Out .NET
Scaling Out .NET
 
Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
  Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study  Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
Mobile Interface to CMS Based On HTML5 and Drupal: A Case Study
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarin
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
 
Dotcom monitor platform overview
Dotcom monitor platform overviewDotcom monitor platform overview
Dotcom monitor platform overview
 
ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2
 
Windows Workflow Foundation in the Real World
Windows Workflow Foundation in the Real WorldWindows Workflow Foundation in the Real World
Windows Workflow Foundation in the Real World
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release Cycle
 
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...
 
Windows Workflow Foundation
Windows Workflow FoundationWindows Workflow Foundation
Windows Workflow Foundation
 

Semelhante a Aerobatic Introduction

Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineAl Sargent
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETLorenzo Barbieri
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1Sun Technlogies
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testingabhinavm
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureMaheshShri1
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
AWS Webcast - Continuous integration with AWS and Ravello
AWS Webcast - Continuous integration with AWS and RavelloAWS Webcast - Continuous integration with AWS and Ravello
AWS Webcast - Continuous integration with AWS and RavelloAmazon Web Services
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netCallon Campbell
 

Semelhante a Aerobatic Introduction (20)

Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO Magazine
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud Architecture
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
 
Un-clouding the cloud
Un-clouding the cloudUn-clouding the cloud
Un-clouding the cloud
 
Journey toward3rdplatform
Journey toward3rdplatformJourney toward3rdplatform
Journey toward3rdplatform
 
Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
What is Serverless Computing?
What is Serverless Computing?What is Serverless Computing?
What is Serverless Computing?
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
AWS Webcast - Continuous integration with AWS and Ravello
AWS Webcast - Continuous integration with AWS and RavelloAWS Webcast - Continuous integration with AWS and Ravello
AWS Webcast - Continuous integration with AWS and Ravello
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 

Último

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 WorkerThousandEyes
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 educationjfdjdjcjdnsjd
 
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...Martijn de Jong
 
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...Drew Madelung
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Último (20)

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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Aerobatic Introduction

  • 1. Aerobatic A UX delivery platform ! for nimble web apps
  • 2. The Nimble Premise • Nimbleness has become an imperative in order to maintain competitiveness and meet customer demands and expectations. • While improved agility is important in all facets of technology, it becomes increasingly critical the closer you get to the final customer experience.
  • 3. Nimble • Nimbleness - definitionRisk averseness - one shot to get it rightRisk averseness - one shot to get it right • Nimbleness is most vital at the point of customer interaction • What Prevents Nimbleness • Onerous communication, external dependencies, heavy handed processes • Risk averseness Engineered for high • D Quick and light - rapidly performance and respond to changing shot to get it right” • “One continuous conditions experimentation Streamlined tools and processes for minimal workflow friction
  • 4. Not Nimble Onerous communication, external dependencies, heavy process Risk averseness - one shot to get it right Inefficient, cumbersome tooling and workflows
  • 5. Brief History of Web Apps Presentation Layer Presentation Layer Application Layer Application Layer Services Layer Data Layer Data Layer Classic 3 tier app New services layer no change
  • 6. Presentation Layer Split browser server javascript, css, selectors, AJAX script tags, HTML output, inline script, css links, page titles, onclick attributes
  • 7. Pain Points • Speed to market dictated by backend agility • CMS systems are designed for non-coders but code is always required to do interesting things • Awkward overlap between front-end and backend domains css and javascript sources, inline javascript, DOM layout • Canary deployments/testing are hard to do on server • Tight coupling - i.e. server generated HTML and client selectors • Test environment instability and non-representative of prod
  • 8. A New UX Layer • Entirely browser resident UX Layer • Light coupling to the presentation layer Presentation Layer • Liberates UX teams to iterate and innovate on their own terms • Presentation layer has diminished role, more of a shim layer • Provide the same benefits to the user experience that web services did for the backend • Built with all the same modern web technologies • Aerobatic seeks to be the UX layer delivery platform Application Layer Services Layer Data Layer
  • 9. Benefits • Liberates UX/UI teams to tighten build->test->deploy->test loop • Decouples presentation tier from web server platform allowing for independent release cadences • Encourages a modern streamlined web dev workflow based on best of breed tools and techniques • Out of the box concurrent deployments for canary and A/B testing • Highly optimized cloud-based asset delivery • Develop directly against production site in simulator mode, preview changes live • Deploy as often as you wish, stage to prod via “git push” and specify traffic control rules for one or more versions • Rollback is simple matter of redirecting traffic elsewhere
  • 10. UX Layer Backend UI Developer Data/ Services Web Server/ CMS raw page response Visitor’s Browser push changes UX assets Integration Code <head> <script> __config__ = { pageId: “homePage”, aerobaticAppOwner: "repo_owner", aerobaticAppRepo: "repo", }; </script> <script src="//cdn.aerobaticapp.com/cockpit.js"></script> </head> Aerobatic
  • 11. Terminology airport - the home base for the Aerobatic delivery platform in the cloud - node.js running on AWS! cockpit.js - javascript file that is included in the integration HTML rendered by the backend web server which encapsulates all the intelligence powering Aerobatic on the client. flightPlan - a JSON manifest downloaded by cockpit.js which determines which version of each UX asset to deliver to the user. hangar - where the UX asset versions are housed and retrieved from by the Aerobatic cloud. Currently this is GitHub. trafficControl - set of rules that dictate how traffic should be directed to one or more versions based on a percentage allocation dashboard - web based tool for defining traffic control rules and more, url is airport.aerobaticapp.com/owner/repo simulatorMode - setting that allows development of UX assets directly on the production site ! aerobatic.json - a configuration file that lives in the root of the UX assets repo which specifies meta data about the app including which module is the main module for each page
  • 12. UX Asset Delivery • Assets are asynchronously loaded via Require.js • Every javascript, stylesheet, and template is: minified, compressed, fingerprinted, and aggressively cached at both the CDN and browser • Provides a Rails-like asset pipeline that supports pre-processing of CoffeeScript, Jade, Stylus, Sass, Mustache, LESS, and more • No need to configure local build steps, let Aerobatic do the work for you
  • 13. Development Experience • Mildly opinionated - mostly just forces use of AMD modules to structure code • No proprietary libraries or coding conventions to conform to • Supports all leading Javascript and CSS libraries such as jQuery, Angular, Ember, Bootstrap, Backbone, etc. • Simply git push to your repository and your assets are ready to be served in production • Provides a built-in test runner powered by Mocha, Chai, and PhantomJS. Run tests either from the console or browser. • Cleanly integrates with 3rd party JavaScript components such as web analytics, ad-retargeters, social widgets, etc. • You can focus on writing great apps and let Aerobatic take care of the plumbing
  • 14. Simulator Mode • Redirects asset delivery to developer’s localhost • Non-minified assets for ease of debugging • Start server via “aerobatic” command from repository root • npm install -g aerobatic • Same exact codebase powers Aerobatic platform in the cloud
  • 15. Sample Scenarios • Canary deploy home page design overhaul to 5% of customers and monitor that conversion rates do not suffer • Send clients or approvers a preview link to a proposed future version of the site. Upon approval, just flip the switch to make it live. • Run usability tests right on the live site • Work around rigid CMS constraints that only allow a single template per page type. • Run A/B tests on equal playing field between control and test versions - everything loaded the same way.
  • 16. Try it Out Yourself! Checkout the Barnstormer Music sample app at: http://www.barnstormermusic.biz Fork one of the repos and create your own version of the UX that you can experience live on the same site. That’s the power of Aerobatic. Learn more at www.aerobaticapp.com