2016 - devops meets apis - model once. benefit everywhere

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

Upload: devopsdaysaustin

Post on 12-Apr-2017

170 views

Category:

Software


2 download

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.