26
David Papp @pappdav Chief Architect @ghostmonitor

Microservices from operations aspect

Embed Size (px)

Citation preview

Page 1: Microservices from operations aspect

David Papp @pappdav

Chief Architect @ghostmonitor

Page 2: Microservices from operations aspect

Who we are?

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

Page 3: Microservices from operations aspect

What technologies do we use?

Page 4: Microservices from operations aspect

Microservices from operational aspect

Page 5: Microservices from operations 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

Page 6: Microservices from operations aspect

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

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

Page 7: Microservices from operations aspect

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

Page 8: Microservices from operations aspect

Database per Service

Page 9: Microservices from operations aspect

Service discovery

Page 10: Microservices from operations aspect

The problems…1. Framework

2. Local development

3. Testing

4. Build

5. Deploy

6. Infrastructure

7. Monitoring

8. Logging

Page 11: Microservices from operations aspect

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

Page 12: Microservices from operations aspect

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

Page 13: Microservices from operations aspect

Testing & Build•Unit test

•E2e test

•Integration test

Page 14: Microservices from operations aspect

codeship-services.yml

codeship-steps.yml

Page 15: Microservices from operations aspect

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

Page 16: Microservices from operations aspect

Infra

stru

ctur

eInfrastructure

Page 17: Microservices from operations aspect

Monitoring •NewRelic

•Trace by Risingstack

•Apex.sh

•Pingdom

Page 18: Microservices from operations aspect

Logging•Airbrake/Errbit

•Logentries

•Trace by Risingstack

Page 19: Microservices from operations aspect

Service types• API

•Service

•Mservice

•Worker

Page 20: Microservices from operations aspect

System statistics• 50+ different services

• 550+ containers

• 100+ different builds

Page 21: Microservices from operations aspect

Microservices cobweb

Page 22: Microservices from operations aspect

Dashboard

Page 23: Microservices from operations aspect

Service communications

Page 24: Microservices from operations aspect

Stat communications

Page 25: Microservices from operations aspect

Thanks

Page 26: Microservices from operations aspect

Questions?