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.

Photo by Eddie Contento via Twenty20

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

Background

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 are containers?

What are the pros and cons of microservices and containers?

What do companies who use microservices say?

What patterns are used in microservices architecture?

How can I start building microservices and containers?

Where are the microservices meetups in my area?

Conclusion

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.

A global community of women working in Product Management.