Skip to main content

Developing Services

  • Chapter
  • First Online:
Microservices for the Enterprise

Abstract

Netflix has taken three steps to build an anti-fragile organization. The first step is to treat every developer as an operator of the corresponding service. The second is to treat each failure as an opportunity to learn and the third is to foster a blameless culture. These three little steps have helped Netflix become the top-leading organization in the microservices world. Many look to Netflix to learn how things are being done and for best practices. Netflix in fact optimized everything for the speed of delivery. As we already discussed in the book, at its core of any microservices design, time to production, scalability, complexity localization, and resiliency are key elements. Developer experience is one of the most important factors to reach these goals. The experience of a developer in a microservices environment is quite different from engineering a monolithic application. As rightly identified by Netflix, the developer’s task does not end after pushing the code into a source repository and expecting a DevOps engineer to build and push the changes to production, or a support engineer to take on any issues that happen in the production environment. A microservices development environment demands a broader skillset from the developer.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://queue.acm.org/detail.cfm?id=2499552

  2. 2.

    The Java API for RESTful Web Services proposed in JSR 339.

  3. 3.

    https://netflix.github.io/

  4. 4.

    https://nebula-plugins.github.io

  5. 5.

    https://www.spinnaker.io/

  6. 6.

    https://github.com/Netflix/eureka

  7. 7.

    http://netflix.github.io/archaius/

  8. 8.

    https://github.com/Netflix/ribbon

  9. 9.

    https://github.com/Netflix/hystrix

  10. 10.

    https://github.com/Netflix/Hystrix/wiki/How-it-Works

  11. 11.

    https://github.com/Netflix/zuul

  12. 12.

    https://projects.spring.io/spring-boot/

  13. 13.

    An opinionated framework locks or guides its developers into its own way of doing things.

  14. 14.

    https://en.wikipedia.org/wiki/Convention_over_configuration

  15. 15.

    http://projects.spring.io/spring-cloud/

  16. 16.

    http://www.eclipse.org/jetty/

  17. 17.

    If you are a Java developer, you should already be familiar with these terms.

  18. 18.

    https://jersey.github.io/

  19. 19.

    https://github.com/FasterXML/jackson

  20. 20.

    https://logback.qos.ch/

  21. 21.

    http://metrics.dropwizard.io/

  22. 22.

    https://www.liquibase.org/

  23. 23.

    http://jdbi.org/

  24. 24.

    http://hibernate.org/orm/

  25. 25.

    https://www.linkedin.com/in/codahale/

  26. 26.

    https://vertx.io

  27. 27.

    Reactive programming is a programming paradigm that deals with asynchronous data streams.

  28. 28.

    https://www.hawkular.org/

  29. 29.

    https://www.consul.io/

  30. 30.

    https://www.lagomframework.com/

  31. 31.

    https://www.reactivemanifesto.org/

  32. 32.

    https://akka.io/

  33. 33.

    https://www.playframework.com/

  34. 34.

    https://www.infoq.com/news/2016/03/lagom-microservices-framework

  35. 35.

    https://bit.ly/1fVVnjC

  36. 36.

    https://maven.apache.org/download.cgi

  37. 37.

    https://spring.io/tools

  38. 38.

    https://github.com/microservices-for-enterprise/samples.git

  39. 39.

    https://tools.ietf.org/html/rfc6570

  40. 40.

    https://bit.ly/2GiRbez

  41. 41.

    https://kafka.apache.org

  42. 42.

    https://zookeeper.apache.org/

  43. 43.

    https://github.com/graphql-java/graphql-spring-boot

  44. 44.

    https://github.com/graphql/graphiql

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Kasun Indrasiri and Prabath Siriwardena

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Indrasiri, K., Siriwardena, P. (2018). Developing Services. In: Microservices for the Enterprise. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-3858-5_4

Download citation

Publish with us

Policies and ethics