SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Support Rapid Systems Growth with a Design-First Approach

Computer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineeringComputer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineering
university of sust.
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
Cisco DevNet
 

Ähnlich wie Support Rapid Systems Growth with a Design-First Approach (20)

Red Hat: Three Pillars of Integration
Red Hat:  Three Pillars of IntegrationRed Hat:  Three Pillars of Integration
Red Hat: Three Pillars of Integration
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
The Three Pillars of Agile Integration: Connector, Container & API
The Three Pillars of Agile Integration: Connector, Container & APIThe Three Pillars of Agile Integration: Connector, Container & API
The Three Pillars of Agile Integration: Connector, Container & API
 
Docker meetup - PaaS interoperability
Docker meetup - PaaS interoperabilityDocker meetup - PaaS interoperability
Docker meetup - PaaS interoperability
 
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMeshThe Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
The Enterprise Guide to Building a Data Mesh - Introducing SpecMesh
 
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Spark-MPI: Approaching the Fifth Paradigm with Nikolay MalitskySpark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
 
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google CloudPSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
 
Cloud computing: highlights
Cloud computing: highlightsCloud computing: highlights
Cloud computing: highlights
 
PaaS for the New Cloud Era
PaaS for the New Cloud EraPaaS for the New Cloud Era
PaaS for the New Cloud Era
 
Computer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineeringComputer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineering
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standards
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Scaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdf
 
Report : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web ApplicationReport : Dpilot - A Cloud Based File Transfer Web Application
Report : Dpilot - A Cloud Based File Transfer Web Application
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Yohanes Widi Sono - Modern Development for Business Agility
Yohanes Widi Sono - Modern Development for Business AgilityYohanes Widi Sono - Modern Development for Business Agility
Yohanes Widi Sono - Modern Development for Business Agility
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
 

Mehr von SmartBear

Mehr von SmartBear (20)

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

Kürzlich hochgeladen

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Kürzlich hochgeladen (20)

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

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
  • 8. 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?
  • 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": "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. 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