SlideShare a Scribd company logo
RAPID SYSTEMS GROWTH with a Design-First Approach
Cyndi Recker, Viasat Inc. 2018
INFLIGHT CONNECTIVITY
2
How many structures can you make with 6 Lego Bricks?
3
That depends…LEGO combinations of bricks
LEGO 1974
102,981,500
Søren Eilers 2004
computed
915,103,765!
4
What we do – https://viasat.com
5
Right now, in the sky how many airplanes? people?
https://flightaware.com
6
https://www.iata.org/pressroom/pr/Pages/2016-10-18-02.aspx
12,147 Planes on 26-Sep-18 0900 PST – flightradar24.com
The HEAVIEST air traffic day was August 5, 2016
when 12,856 PLANES carried 1,590,929 PEOPLE, they all soared at the same time!
7
PERSPECTIVE
Take everyone in the 5th LARGEST city
~ 1.6 Million Population of Phoenix
8
https://www.iata.org/pressroom/pr/Pages/2016-10-18-02.aspx
https://data.worldbank.org/indicator/IS.AIR.PSGR
20 Year
IATA Passenger Forecast
2016
In 2035
7.2 billion passengers will
travel by air.
2017 - ~ 4 billion
WHERE is the market HEADING?
9
https://wifirezone.com
10
11
MESSAGES = REST and AMQP
12
REST and AMQP
Ground
SpaceChange from String to Number
‘1537980241
’
1537980241
153798024
1
153798024
1
153798024
1
Errors can also be
introduced from the
opposite direction
13
Messaging Involves A LOT of DATA
curl -X POST "https://<server>/CMOB/CMOB-Platform-Ground-
RMQ/work/acct/start" -H "accept: application/json" -H "Content-
Type: application/json" -d "{ "endpoint": “acct/start", "data": {
"common": { "vesselId": "N5001", "eventTime": "2018-02-
13T19:08:46.503Z", "flightId": "N805JB_150122132435" },
"session_id": "123e4567-e89b-12d3-a456-426655440000",
"auth": { "type": "user", "uid": "joe_user@awesome.com"
}, “address": "08.37.96.40", “modem":
"00:A0:BC:DE:96:34", "serviceId": 71, "category": "PED" }}"
Difficult to spot errors and trends
14
Lets look at DATA & Super Mario
15
16
Not always EASY to see differences
Did anyone notice DIFFERENCES in the data?
17
13 differences
18
Sometimes DATA is CLOSE but not Quite…
00:A0:40:02:01:FC
00A0400201FC00:a0:40:02:01:fc
00a0400201fc
19
DATA – Other Challenges
RESOLUTION Mismatch
SAME Field copied in MESSAGE Duplicated Messages DATA Hard to Find
§ Aircraft ID
§ Tail ID
§ Vessel ID
§ Vehicle ID
EPOCH Time 1534786056
MILLISeconds
SECONDS
"data": {
"common": {
“aircraftId": "N999VX",
"eventTime": "2018-02-13T19:08:46.503Z",
"flightId": "N999VX"_150122132435"
},
“address": "08.37.96.40",
"aircraftNumber": "N999VX",
One field with MANY Names
20
If you deliver all over the world,
your data cannot be all over the map!
21
Inter-related DATA
22
23
ReTOOL – Design and Sustain in SwaggerHub
Sharepoint
24
API Message Hierarchy
FIELDS
Describes the basic
attributes as the building
blocks for objects and
messages.
OBJECTS
Used to collect fields (or
other objects) into new
objects for messages.
MESSAGES
Used to describe the
collection of fields and
objects that will actually be
transported
System engineering controls the data
fields
System engineers, architects and
developers all collaborate on objects
APIs and Messages are viewed,
commented and edited across the
entire DevOps Team. APIs are
versioned in multiple ways using
SwaggerHub and Git
Standards are enforced at all
levels
25
Increases your speed of execution – build collaborate review and update
Used to describe the collection of fields and objects that will actually be transported from at least one entity to
another and possible more. This is the data of the message without regard to any transport.
26
MARKUP Up Front for all Transport Information
The API can represent the interfaces we are tracking. The description includes the: General Description,
Technologies: (e.g. HTTP, RMQ, JSON, etc), Addressing Strategy and Security. For each "flow" on the
interface, a table can be populated to define triggers, latency, guaranteed delivery, etc.
Tables
Descriptions,
technologies, addressing,
security
27
LIFECYCLE
28
SwaggerHub Domain Models
A Source of Components for Creative Design
A single Domain Data Field = well engineered single unit
Six humble bricks are a lesson in the infinite creativity and imagination we possess
individually, and collectively. Samuel Williams
29
Scaling a company requires a fundamentally different set of business
mechanics than the startup phase.
In the startup phase, a group of people are
running around trying
1. to develop a vision
2. recruit an all-star team
3. find product/service-market fit
4. building great customer experiences
5. make everything repeatable and scalable.
In the scale-up phase, the quick, nimble, iterative approach begins to break down. The
problems you deal with begin growing increasingly complex and you’re not able to move
fast”
Khuram Zaman, CEO of Fifth Tribe
30
Backup
31
Reuse hierarchy of definitions
from data dictionary, objects and
messages from domains or APIs.
Reuse a definition in another API.
(back references do not resolve
through multiple documents.
Share APIs (ICDs) across teams
with version and access control.
N/A Infrastructure could be built for
access and version control.
Create global models and
reusable styles with style
validators used across all assets.
N/A Compliance could be
enforced through reviews.
Generate code for API consumers
(internal and external) to
download.
Yes with codegen
Mock API functionality to share
among stakeholders before
actual implementation is created
N/A
Integrate with code repository
(GitHub) so that data is stashed
with every ‘save’.
Manual process to stash code to
GitHub
Future goal to automatically
create and fun automated testing
(Jenkins).
N/A may be available outside the
environment
Code
Generation
Reuse Schema
$ref
Collaboration
Standardized
Models
Mock APIs
CM
Acceptance
Testing
Load Testing
Future goal to test how APIs
perform under load for scalability
N/A may be available outside the
environment
SmartBear Commercial Vs Swagger Open Source
Design and document REST APIs in an industry accepted, machine
and human readable format, Swagger 2.0 and OAS 3.0
Viasat CMOB C. Recker 20180725

More Related Content

PDF
Red Hat User Group (RHUG) - Chicago 2019
PPTX
Kubernetes is the Platform. What's Next?
PPTX
Interop 2018 - Understanding Kubernetes - Brian Gracely
PDF
Meetup talk Red Hat OpenShift service mesh
PPTX
BDE SC4 Hangout - Hajira Jabeen, general architecture
PDF
Red hat forum istio & kiali - introduction and overview
PPTX
SC4 Hangout - Luigi Selmi, Transport pilot architecture
PPT
SC5 Hangout2 pilot 1 description
Red Hat User Group (RHUG) - Chicago 2019
Kubernetes is the Platform. What's Next?
Interop 2018 - Understanding Kubernetes - Brian Gracely
Meetup talk Red Hat OpenShift service mesh
BDE SC4 Hangout - Hajira Jabeen, general architecture
Red hat forum istio & kiali - introduction and overview
SC4 Hangout - Luigi Selmi, Transport pilot architecture
SC5 Hangout2 pilot 1 description

Similar to Support Rapid Systems Growth with a Design-First Approach (20)

PDF
I Love APIs Europe 2015: Developer Sessions
PPTX
Super simple introduction to REST-APIs (2nd version)
PPTX
Scaling with swagger
PDF
"Design First" APIs with Swagger
PPTX
Rest API with Swagger and NodeJS
PPT
API Management and Community Development layer 7 in london 2012
PDF
Automating the API Product Lifecycle
PPTX
Comviq Hackathon Warm-Up
PDF
Building a Great Web API - Evan Cooke - QCON 2011
PDF
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
PPTX
Modern Web-site Development Pipeline
PDF
Working with Developers
PPTX
MODULE 1-1.4 LOGICAL DESIGN OF IOT.pptx FUNDAMENTALS AND DESIGN METHODOLOGY O...
PDF
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
PDF
Designing Web Apis Building Apis That Developers Love Jin Brendasahni
PDF
I Love APIs - Oct 2015
PDF
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
PDF
Designing APIs with Swagger and OpenAPI 1st Edition Joshua S. Ponelat
PDF
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
PDF
Software Engineering for Startups (University of St Andrews, 2013)
I Love APIs Europe 2015: Developer Sessions
Super simple introduction to REST-APIs (2nd version)
Scaling with swagger
"Design First" APIs with Swagger
Rest API with Swagger and NodeJS
API Management and Community Development layer 7 in london 2012
Automating the API Product Lifecycle
Comviq Hackathon Warm-Up
Building a Great Web API - Evan Cooke - QCON 2011
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
Modern Web-site Development Pipeline
Working with Developers
MODULE 1-1.4 LOGICAL DESIGN OF IOT.pptx FUNDAMENTALS AND DESIGN METHODOLOGY O...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Designing Web Apis Building Apis That Developers Love Jin Brendasahni
I Love APIs - Oct 2015
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
Designing APIs with Swagger and OpenAPI 1st Edition Joshua S. Ponelat
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
Software Engineering for Startups (University of St Andrews, 2013)
Ad

More from SmartBear (20)

PPTX
Enforcing Your Organization's API Design Standards with SwaggerHub
PPTX
Introducing OpenAPI Version 3.1
PPTX
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
PPTX
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
PPTX
How LISI Automotive Accelerated Application Delivery with SwaggerHub
PPTX
Standardising APIs: Powering the Platform Economy in Financial Services
PPTX
Getting Started with API Standardization in SwaggerHub
PPTX
Adopting a Design-First Approach to API Development with SwaggerHub
PPTX
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
PPTX
Effective API Lifecycle Management
PPTX
Artificial intelligence for faster and smarter software testing - Galway Mee...
PDF
Successfully Implementing BDD in an Agile World
PPTX
The Best Kept Secrets of Code Review | SmartBear Webinar
PPTX
How Capital One Scaled API Design to Deliver New Products Faster
PPTX
Testing Without a GUI Using TestComplete
PPTX
Hidden Treasure - TestComplete Script Extensions
PDF
How Bdd Can Save Agile
PPTX
API Automation and TDD to Implement Master Data Survivorship Rules
PDF
Maximize Test Automation with a Risk-Based Approach
PPTX
Modernizing the Enterprise API Development Process
Enforcing Your Organization's API Design Standards with SwaggerHub
Introducing OpenAPI Version 3.1
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
How LISI Automotive Accelerated Application Delivery with SwaggerHub
Standardising APIs: Powering the Platform Economy in Financial Services
Getting Started with API Standardization in SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Effective API Lifecycle Management
Artificial intelligence for faster and smarter software testing - Galway Mee...
Successfully Implementing BDD in an Agile World
The Best Kept Secrets of Code Review | SmartBear Webinar
How Capital One Scaled API Design to Deliver New Products Faster
Testing Without a GUI Using TestComplete
Hidden Treasure - TestComplete Script Extensions
How Bdd Can Save Agile
API Automation and TDD to Implement Master Data Survivorship Rules
Maximize Test Automation with a Risk-Based Approach
Modernizing the Enterprise API Development Process
Ad

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
assetexplorer- product-overview - presentation
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Cost to Outsource Software Development in 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
AutoCAD Professional Crack 2025 With License Key
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Complete Guide to Website Development in Malaysia for SMEs
Nekopoi APK 2025 free lastest update
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
assetexplorer- product-overview - presentation
Designing Intelligence for the Shop Floor.pdf
Salesforce Agentforce AI Implementation.pdf
Why Generative AI is the Future of Content, Code & Creativity?
Odoo Companies in India – Driving Business Transformation.pdf
iTop VPN Free 5.6.0.5262 Crack latest version 2025
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
CHAPTER 2 - PM Management and IT Context
Cost to Outsource Software Development in 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
How to Choose the Right IT Partner for Your Business in Malaysia
AutoCAD Professional Crack 2025 With License Key
Digital Systems & Binary Numbers (comprehensive )
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Reimagine Home Health with the Power of Agentic AI​
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Complete Guide to Website Development in Malaysia for SMEs

Support Rapid Systems Growth with a Design-First Approach

  • 1. RAPID SYSTEMS GROWTH with a Design-First Approach Cyndi Recker, Viasat Inc. 2018 INFLIGHT CONNECTIVITY
  • 2. 2 How many structures can you make with 6 Lego Bricks?
  • 3. 3 That depends…LEGO combinations of bricks LEGO 1974 102,981,500 Søren Eilers 2004 computed 915,103,765!
  • 4. 4 What we do – https://viasat.com
  • 5. 5 Right now, in the sky how many airplanes? people? https://flightaware.com
  • 6. 6 https://www.iata.org/pressroom/pr/Pages/2016-10-18-02.aspx 12,147 Planes on 26-Sep-18 0900 PST – flightradar24.com The HEAVIEST air traffic day was August 5, 2016 when 12,856 PLANES carried 1,590,929 PEOPLE, they all soared at the same time!
  • 7. 7 PERSPECTIVE Take everyone in the 5th LARGEST city ~ 1.6 Million Population of Phoenix
  • 10. 10
  • 11. 11 MESSAGES = REST and AMQP
  • 12. 12 REST and AMQP Ground SpaceChange from String to Number ‘1537980241 ’ 1537980241 153798024 1 153798024 1 153798024 1 Errors can also be introduced from the opposite direction
  • 13. 13 Messaging Involves A LOT of DATA curl -X POST "https://<server>/CMOB/CMOB-Platform-Ground- RMQ/work/acct/start" -H "accept: application/json" -H "Content- Type: application/json" -d "{ "endpoint": “acct/start", "data": { "common": { "vesselId": "N5001", "eventTime": "2018-02- 13T19:08:46.503Z", "flightId": "N805JB_150122132435" }, "session_id": "123e4567-e89b-12d3-a456-426655440000", "auth": { "type": "user", "uid": "[email protected]" }, “address": "08.37.96.40", “modem": "00:A0:BC:DE:96:34", "serviceId": 71, "category": "PED" }}" Difficult to spot errors and trends
  • 14. 14 Lets look at DATA & Super Mario
  • 15. 15
  • 16. 16 Not always EASY to see differences Did anyone notice DIFFERENCES in the data?
  • 18. 18 Sometimes DATA is CLOSE but not Quite… 00:A0:40:02:01:FC 00A0400201FC00:a0:40:02:01:fc 00a0400201fc
  • 19. 19 DATA – Other Challenges RESOLUTION Mismatch SAME Field copied in MESSAGE Duplicated Messages DATA Hard to Find § Aircraft ID § Tail ID § Vessel ID § Vehicle ID EPOCH Time 1534786056 MILLISeconds SECONDS "data": { "common": { “aircraftId": "N999VX", "eventTime": "2018-02-13T19:08:46.503Z", "flightId": "N999VX"_150122132435" }, “address": "08.37.96.40", "aircraftNumber": "N999VX", One field with MANY Names
  • 20. 20 If you deliver all over the world, your data cannot be all over the map!
  • 22. 22
  • 23. 23 ReTOOL – Design and Sustain in SwaggerHub Sharepoint
  • 24. 24 API Message Hierarchy FIELDS Describes the basic attributes as the building blocks for objects and messages. OBJECTS Used to collect fields (or other objects) into new objects for messages. MESSAGES Used to describe the collection of fields and objects that will actually be transported System engineering controls the data fields System engineers, architects and developers all collaborate on objects APIs and Messages are viewed, commented and edited across the entire DevOps Team. APIs are versioned in multiple ways using SwaggerHub and Git Standards are enforced at all levels
  • 25. 25 Increases your speed of execution – build collaborate review and update Used to describe the collection of fields and objects that will actually be transported from at least one entity to another and possible more. This is the data of the message without regard to any transport.
  • 26. 26 MARKUP Up Front for all Transport Information The API can represent the interfaces we are tracking. The description includes the: General Description, Technologies: (e.g. HTTP, RMQ, JSON, etc), Addressing Strategy and Security. For each "flow" on the interface, a table can be populated to define triggers, latency, guaranteed delivery, etc. Tables Descriptions, technologies, addressing, security
  • 28. 28 SwaggerHub Domain Models A Source of Components for Creative Design A single Domain Data Field = well engineered single unit Six humble bricks are a lesson in the infinite creativity and imagination we possess individually, and collectively. Samuel Williams
  • 29. 29 Scaling a company requires a fundamentally different set of business mechanics than the startup phase. In the startup phase, a group of people are running around trying 1. to develop a vision 2. recruit an all-star team 3. find product/service-market fit 4. building great customer experiences 5. make everything repeatable and scalable. In the scale-up phase, the quick, nimble, iterative approach begins to break down. The problems you deal with begin growing increasingly complex and you’re not able to move fast” Khuram Zaman, CEO of Fifth Tribe
  • 31. 31 Reuse hierarchy of definitions from data dictionary, objects and messages from domains or APIs. Reuse a definition in another API. (back references do not resolve through multiple documents. Share APIs (ICDs) across teams with version and access control. N/A Infrastructure could be built for access and version control. Create global models and reusable styles with style validators used across all assets. N/A Compliance could be enforced through reviews. Generate code for API consumers (internal and external) to download. Yes with codegen Mock API functionality to share among stakeholders before actual implementation is created N/A Integrate with code repository (GitHub) so that data is stashed with every ‘save’. Manual process to stash code to GitHub Future goal to automatically create and fun automated testing (Jenkins). N/A may be available outside the environment Code Generation Reuse Schema $ref Collaboration Standardized Models Mock APIs CM Acceptance Testing Load Testing Future goal to test how APIs perform under load for scalability N/A may be available outside the environment SmartBear Commercial Vs Swagger Open Source Design and document REST APIs in an industry accepted, machine and human readable format, Swagger 2.0 and OAS 3.0 Viasat CMOB C. Recker 20180725