Ask Women in Product: What are the best ways to get up to date on microservices?
Louise Heatley shares a curated list of resources that will help product managers get up to speed on microservices.
What are the best ways to get myself up to date on micro-services and containers i.e. courses, blogs, meet-ups, books, resources or something else? As a technical PM, I’m finding it hard to exert influence on my team without relevant “technical” knowledge.
Answer from Louise Heatley, Senior Product Manager at the BBC
Microservices and containers have grown in popularity in recent years. The term microservices is used to describe a number of small and well-defined loosely-coupled services, each with a single responsibility, that together provide the overall functionality of a system. Microservices are often defined in comparison to monolithic architectures — software systems with many different responsibilities that are built out of several interdependent components.
Microservices are popular in part because they’re highly scalable and it’s possible to upgrade one part of the system without affecting other components, something that can be a huge challenge in traditional architectures. Containers are often used to deploy microservices. A container includes all the resources needed to run the microservice, thus isolating the microservice from the underlying operating system and making it possible to move the container to different or additional hosts without changing any code. This isolation makes containers easy to scale up and down to meet demand.
Where to start
This post answers the question of how to get up to speed with microservices and containers but doesn’t cover these technologies in any depth. For more detailed information about using microservices and containers, please follow the links in the resources section at the end of the article.
There are so many excellent resources for learning about microservices and containers that it can be challenging to determine which ones are most relevant. There are three things you can do to help you decide:
- Be clear about your motivations for using microservices
- Decide how much you need to know
- Think about your preferred learning style
Be clear about your motivations for using microservices
You will find it easier to narrow down your focus if you have a specific need or use in mind.
To start, think about the kind of influence you want to exert. Are you trying to influence the team to use microservices and containers because you’ve heard about the benefits of implementing them? Or, conversely, are you trying to discourage their use because you’ve heard about some of the downsides? In this case, you might want to choose resources that discuss the pros and cons at a high level so you can form a strong argument with evidence to defend your position. Whatever your motivations, you should have an end goal in mind to help you assess the usefulness of potential resources.
Decide how much you need to know
Do you just need enough detail to follow technical discussions and be comfortable explaining what the team is working on or do you want to influence architectural decisions?
Before you devote a lot of time digging into too much detail, it’s worth asking whether your team can provide the information you need. For example, do you want them to explain the advantages of breaking down an existing monolithic architecture into microservices in a way that’s more accessible to non-technical colleagues? Or are you looking for ways to justify their technical decisions in terms of business value? The team can be your most valuable resource for learning about any technical subject relevant to your product and the areas you want to influence, including aspects of microservices and containers.
If you’re the type who enjoys digging into code and configuration files, then you might want to dig deeper into the technical implementation for your own interest — even if you can rely on the experts within your team.
Think about your preferred learning style
Debates around learning styles are beyond the scope of this post, but thinking about whether you prefer reading, listening, looking at visuals, or hands-on activities when you’re learning something new can help you choose between available resources.
If you enjoy reading, your ideal resources are books, blogs or online courses. If you like listening to lectures and asking questions, look for courses with audio lectures, watch some videos online, download a podcast, attend meetups in your area or talk to your team. Blogs are also useful for visual learners — particularly blogs that are structured around architectural diagrams — or if you’re already using microservices and containers, ask your team to walk you through the architecture on a whiteboard.
For people who learn best by doing something, look for tutorials and courses with a practical element and try building your own microservice or get involved in an open source project.
Think about practical considerations too. For example, listening to a podcast on your commute can be a really effective choice even if your preferred learning style is reading.
Choose your resources
Here are some resources to get you started (▶️ podcast 📖 book or blog post; 📹 video; 🗣 lecture or class; 📆 meetup; 📋 tutorial):
What are microservices?
- What is Microservices Architecture? 📖
- The What, Why, and How of a Microservices Architecture 📖
- Microservices: a definition of this new architectural term 📖
- a16z Podcast: All about Microservices ▶️
- A Brief History of Microservices 📖
What are containers?
- MicroServices with Docker 📋
- Microservices and Containers, First edition 📖
- Why Docker? Pros and Cons 📖
- Container (containerization or container-based virtualization) 📖
What are the pros and cons of microservices and containers?
- Microservice Trade-Offs 📖
- 3 reasons why you should always run microservices apps in containers 📖
- Should you use a Monolith, Containers or Serverless? 📖
- How Node.js and Microservices Change Your Business 📖
- 7 reasons to switch to microservices — and 5 reasons you might not succeed 📖
What do companies who use microservices say?
- Netflix Microservices 📖
- Microservices are hard — an invaluable guide to microservices 📖
- How the BBC rebuilt iPlayer on microservices 📖
- Service-Oriented Architecture: Scaling the Uber Engineering Codebase As We Grow 📖
- Building Products at SoundCloud — Part II: Breaking the Monolith 📖
- Going Cloud Native at Comcast: How We Migrated a Massive Legacy SOA Platform to Cloud Native Microservices 📹
- I-Tier: Dismantling the Monolith 📖
- How we build microservices at Karma 📖
- Clouds, Containers and Microservices with eBay 📹
- mobile.de’s Lean way to Microservices 📹
What patterns are used in microservices architecture?
- Microservice Architecture Basics for Product People: Learn the Key Concepts in 10 Minutes 📖
- Microservices Patterns With examples in Java 📖
- Pattern: Microservice Architecture 📖
How can I start building microservices and containers?
- Break a Monolith Application into Microservices 📋
- IBM Microservices Specialization 🗣
- Scalable Microservices with Kubernetes by Google 🗣
- Containers Fundamentals 🗣
Where are the microservices meetups in my area?
To recap: be clear about your motivations, decide how much you need to know, and learn your preferred learning style. Then use these criteria to choose which of the many resources for learning about microservices and containers best fit your needs.
Thank you to Allegra Bishop for editing this piece.
You may also like – Ask Women in Product: What are the dos and don’ts of running a Focus Group?
Stephanie Muxfeld and Ashley Wali share their tips and favorite resources for running effective focus groups.
Do you have a question? Ask Women in Product!