Microservices from operations aspect

Post on 12-Feb-2017

1.120 views 0 download

Transcript of Microservices from operations aspect

David Papp @pappdav

Chief Architect @ghostmonitor

Who we are?

• Established in May 2015• The team headcount: 11• Company profile: E-Commerce analytics

What technologies do we use?

Microservices from operational aspect

”…the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

- Martin Fowler

12factor application1. Codebase2. Dependencies3. Config4. Backing services5. Build release run6. Process

7. Port binding8. Concurrency9. Disposability10.Dev/Prod parity11.Logs12.Admin process

Microservices patterns•Service communication HTTP/AMQP or

asynchronous protocols

•API gateway

•Service discovery

•Multiple service instances per host

•Serverless deployment

•Database per Service

•Event-driven architecture

•Database triggers

Database per Service

Service discovery

The problems…1. Framework

2. Local development

3. Testing

4. Build

5. Deploy

6. Infrastructure

7. Monitoring

8. Logging

Framework•Koa.jso gm-core-libo Moduleso SQSo Service Discoveryo Rediso APIo MongoDB

Local development1. Docker2. Docker-compose3. Codeship jet4. Minikube5. Kube-Solo

Testing & Build•Unit test

•E2e test

•Integration test

codeship-services.yml

codeship-steps.yml

Deploy – Ever Given•Codeship2Kubernetes wrapper

•Written in Ruby

•Async• Worker

•Message queue for Redis

•Notification

•Rollback ( soon )

•Template management• Resource control• Version control• Environment variables

Infra

stru

ctur

eInfrastructure

Monitoring •NewRelic

•Trace by Risingstack

•Apex.sh

•Pingdom

Logging•Airbrake/Errbit

•Logentries

•Trace by Risingstack

Service types• API

•Service

•Mservice

•Worker

System statistics• 50+ different services

• 550+ containers

• 100+ different builds

Microservices cobweb

Dashboard

Service communications

Stat communications

Thanks

Questions?