Top Banner
DevOps meets APIs. Model once, benefit everywhere. Marc MacLeod CEO, StopLight.io
29

2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Apr 12, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

DevOps meets APIs. Model once, benefit everywhere.

Marc MacLeod CEO, StopLight.io

Page 2: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

“aims at establishing a culture and environment where

building, testing, and releasing software, can happen rapidly, frequently, and more reliably”

- Wikipedia + 3?

Page 3: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

!Me

!Buddy

! !!Departments

!

Services

Background Processes

Orchestration Layers

Value Production

Efficiency Loss

DEVOPS

Page 4: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

“aims at establishing a culture and environment where

building, testing, and releasing software, can happen rapidly, frequently, and more reliably”

- Wikipedia + 3?

Page 5: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

“aims at establishing a culture and environment that maximizes

predictable efficiency”

Page 6: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Services -> Microservices -> Serverless

Page 7: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Coding SDKs

Monitoring

Testing

Documentation

Compliance

API Process

Page 8: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Coding SDKs

Monitoring

Testing

Documentation

Compliance

API Process, Microservices

Service A

Coding SDKs

Monitoring

Testing

Documentation

Compliance

Service B

Coding SDKs

Monitoring

Testing

Documentation

Compliance

Service D

Coding SDKs

Monitoring

Testing

Documentation

Compliance

Service D

Page 9: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Problem #1

Communication

Page 10: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Docs - Technical WritersTesting - QA

Implementation - Engineering

Page 11: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Problem #2

Duplication

Page 12: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Docs - Technical WritersTesting - QA

Page 13: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Problem #3

Thoroughness

Page 14: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

This sucks.

Page 15: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

So tests often end up looking like this…

Page 16: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Problem #1Communication

Problem #2Duplication

Problem #3Thoroughness

Significant In-efficiencies

Page 17: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

API Specifications

OpenAPI Specification (Swagger)

RAML

Blueprint

Page 18: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Response structures + examples

Request structures + examples + descriptions

Example OAS / Swagger

Page 19: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.
Page 20: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Fuzz Testing

Page 21: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Mock Server

SDK Generation

Compliance

Monitoring

Testing

Documentation

Page 22: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Single Source of Truth

Page 23: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Problem #1Communication

Problem #2Duplication

Problem #3Thoroughness

Single point of reference for all stakeholders.

Single source for artifact generation.

Single place to update.

Page 24: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Contract Testing

Succinct assertions that leverage our “contract”.

Describe the request.

Our “contract” from earlier.

Tests!

Bi-Directional

Page 25: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

One portable file, that programmatically and thoroughly describes your entire API

contract, and includes the simple test flows to prove that contract is still valid.

Contract Testing

Page 26: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.
Page 27: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Spec File (contract)

Documentation

Testing SDKs

Mocking

Monitoring (contract testing)

Compliance

Page 28: 2016 - DevOps Meets APIs - Model once. Benefit everywhere.

Model Once. Benefit Everywhere.

" Reduce departmental friction.

" Reduce duplication.

" Reduce inconsistencies / errors.

= Increase organizational efficiency.