nano vazquez @nanovazquez87
In most projects, the biggest challenge to solve is not technology, it's communication
Multiple offices
Employees & teams
1200+ customers
MuleSoft
A typical day in production
How can we quickly know all of this?
?
to rule them all
?
200 OK
?
200 OK
?
?
200 OK
200 OK
200 OK
{
status: 'ok'
deps: [...]
}
?
200 OK
200 OK
{
status: 'degraded'
deps: [...]
}
/status
/ready
/ready
/ready
/service-status
/status
/status
/status
?
/ping & /ready
/status
Status Service
Design solution
Implement API specification
Implement specification in apps
Create new tools
& tune existing tools
But if you are here it means that the hard part is already done
3.0
RAML
OpenAPI Spec
separation of concerns
reuse - consistency
modeling
common descriptor
tools
platforms
#%RAML 1.0
title: Status API
uses:
StatusLibrary: status-library.raml
/ping:
description: The liveness endpoint of your service
get:
responses:
200:
description: The service is up
/ready:
description: The readiness endpoint of your service
get:
responses:
200:
description: The service can process traffic
/health:
description: The health endpoint of your service
get:
responses:
200:
body:
application/json:
type: StatusLibrary.Health
#%RAML 1.0 Extension
title: NodeConfAPI
description: The API of the NodeConf
extends: status-api.raml
/talks:
description: The talks of this conference
get:
description: Get the talks of this conference
responses:
200:
body:
application/json:
example:
[
{
talk: 'How to create the Status API
of your microservices ecosystem',
speaker: 'nano Vazquez'
}
]
node.js
Java
osprey
{ status: "thank you" }
@nanovazquez87