Successfully reported this slideshow.

Microservices: why you're doing them wrong_Dmytro Lahoza

1

Share

Loading in …3
×
1 of 16
1 of 16

Microservices: why you're doing them wrong_Dmytro Lahoza

1

Share

Download to read offline

Most developers love microservice and treat them as a panacea, but they are wrong. How to stop creating problems using microservices and start solving them.

Most developers love microservice and treat them as a panacea, but they are wrong. How to stop creating problems using microservices and start solving them.

More Related Content

More from Katherine Golovinova

Related Books

Free with a 14 day trial from Scribd

See all

Microservices: why you're doing them wrong_Dmytro Lahoza

  1. 1. Microservices Dmytro Lahoza GDFS Inc.
  2. 2. What is microservices  Small as RaspberryPI  Written in NodeJS  Docker, Kubernetes etc.
  3. 3. What is microservices  Function calls are too reliable nowadays  Transactions are boring  50 API contracts is not enough
  4. 4. Microservices solve organizational problems but cause technical
  5. 5. Solve  Team size  Distributed team problems  Team intercommunication
  6. 6. Sean Treadway, SoundCloud
  7. 7. Problems  You need stable APIs and communication contracts  No more shared DB no you need consensus  Testing!  Strong DevOps culture  Service discovery  Networking  Monitoring and instrumentation  Distributed tracing
  8. 8. API and contracts  Swagger  RAML  Synchronization  Validation  gRPC?
  9. 9. Data  No more state, no more local files  No more single database (MongoDB, Cassandra ?)  No more system-wide transactions  No more fast and reliable point of consensus (Zookeeper ?)  You need messaging (RabbitMQ, ZeroMQ ?)
  10. 10. Testing  No one cares about testing single service  Now you have 50 points of failure  No one really knows how to test microservices (hard mocking)  No one really knows how to test infrastructure for microservices
  11. 11. DevOps  It is about culture, not people  You create it, you support it  Culture should cover all areas of software lifecycle  You cannot deploy 50 microservices manually  Service could be written in any language  Tons of new shiny tools (Docker, Kubernetes, Terraform)
  12. 12. Networking  Distributed networking is cool (ha!)  Discovery is simple (ha!!!)  Configuration distribution is dope (ha!!!)  Circuit breaker? What is that?
  13. 13. Monitoring  No more single system, no more centralized monitoring  Distributed tracing (Zipkin)  Logs and metrics collecting (Beats, Statsd)  Aggregation (Logstash, Carbon)  Visualization (Prometheus, Graphite, Kibana)  Store and maintain all this data and systems (SRE?)  Incident management (ITIL, Support)
  14. 14. Security  Internal request security (SSL, JWT?)  Sensitive data storing and delivery (Vault?)  No more access to single instance and fix production app
  15. 15. Questions?
  16. 16. Dmytro Lahoza GDFS Inc. Twitter: @dlagoza

×