Microservices is a software architecture approach that advocates using smaller, independent units of software in place of monolithic all-in-one services. The following collection of informative resources gives you a great foundation of knowledge for getting started and succeeding with microservices.
Learn the basics
Martin Fowler
Martin Fowler is a renowned software engineer, author, and speaker. His website contains lots of great insights related to microservices in particular and software development in general. Acquainting yourself with Martin Fowler’s work is a great first step in understanding the best practices in software development and architecture.
Microservices for the Grumpy Neckbeard
A short introduction to the topic of microservices with focus on implementation and interfaces.
Blogs and select posts
- SoundCloud Developers Blog
- Riot Games Engineering Blog
- SOA Service & Microservice cheat sheet
- Microservices.io
- InfoQ on microservices
- Microservices in production
- Contino
- Business SOA
- How to write a “Hello, world!” microservice
- Load balancing microservices at scale
- How to load-balance a database among microservices
Talks
Social media
- #microservices (Twitter)
- Dynatrace microservices Twitter list
- Microservices subreddit on Reddit
- SOA subreddit on Reddit
Quora discussions
Microservices discussion on Quora
Disadvantages of microservices architecture
Microservices for mobile development
Reporting for microservices architectures
Differences between SOA and microservices
Communities
Microservices meetups on meetup.com
Open Source Software
Tools and Platforms
- Dynatrace – Continuous Monitoring
Related topics
In the coming weeks we’ll compile digests like this one for the related topics listed below.
Domain-driven design
This topic covers software architecture in general. In 2004, a book with this title was published. Many ideas included in this book are seen as prerequisites for being able to apply microservices successfully. Most notably the concept of bounded contexts.
DevOps
Going down microservices lane requires more than just the application of a new style of software architecture. It also requires a new mindset. The DevOps approach is the right mindset. To get started on this topic, read our DevOps guide.
REST
REST-style APIs are one way to interface your microservices for the rest of the world to access.
Continuous integration
Continuous integration aims to provide a toolchain that maintains a certain level of code quality by automatically running tests, collecting code metrics, and more.
Continuous deployment and containers (Docker, LXC, etc)
The goal of continuous deployment is to make publishing your changes as automated and error-free as possible.