Skip to content

Learning Path Guide

tleavey edited this page Nov 9, 2017 · 46 revisions

Introduction

This is a guide on how to approach learning mu.
If you follow this, you will be a mu master in no time at all!
For any mu-specific technical questions, check out the mu wiki.

The Path to Becoming a mu Master

AWS CloudFormation (cfn)

Get a basic idea of what AWS CloudFormation does by watching the 3 minute long introductory video.
Go through the official AWS CloudFormation Getting Started guide.

Do you understand:

  • What a cfn template does?
  • How to declare resources and their properties within a cfn template?

Are you able to:

  • Create a cfn stack
  • Monitor a cfn stack's progress by viewing the 'Events'
  • Update a cfn stack
  • Delete a cfn stack

mu

  1. Listen to the mu podcast

Can you answer these questions from the podcast:

  • What is mu and what problem does it solve? What are its benefits?
  • How does someone use mu (including prereqs)?
  • What types of programming languages and platforms are supported?
  • What types of AWS architectures does mu support (i.e. traditional EC2, ECS, Serverless, etc.)?
  • Which AWS services are provisioned by mu?
  • Does mu support non-AWS implementations?
  • What does mu install on my AWS account?
  1. Watch the mu video example

Can you answer these questions from the video:

  • What command line command allows you to view and follow along with the logs of the pipeline?
  • What command allows you to view a list of your mu environments?
  • What are the different stages in Casey's CodePipeline pipeline? (Hint: the first one is 'Source')
  • What are some of the cfn stacks that were created by mu? (Hint: one is 'mu-cluster-dev')
  • What AWS service uses buildspec.yml files?
  • What kind of database did Casey add to the mu.yml template?
  • Casey mentions an AWS service that manages secrets. What is it?

Hands-on Practice with mu Blogs

Go through the mu blogs.

  1. Introducing mu: a tool for managing your microservices in AWS
  • How did you install mu? Are there any other ways to install it? (Hint: Wiki Installation page)
  • Where did you initialize mu? Why in that location? What's the command?
  • What command sets up a pipeline?
  • What's something (anything) you notice when you monitor the build logs?
  • If I had an environment called 'FooBar', what would the command be to view that environment's information?
  • What commands clean up the resources you've made?
  • After running the clean up commands, look at CloudFormation. Are there any remaining CloudFormation stacks? What are they? (You can now delete them from the console.)
  1. Microservice testing with mu: injecting quality into the pipeline
  • Continuous Delivery helps go to production faster. What else does it do?
  • How does mu enable Continuous Delivery?
  1. Microservice databases with mu
  2. Service discovery for microservices with mu
  3. WordPress, Mu, and You

More Hands-on Practice with mu Labs

Check out the labs and see how you feel about them now that you've finished the blogs. If it looks like they'd be challenging, go through them.

  1. Lab 1: Run a Spring Boot Microservice on ECS
  2. Lab 2: Add Test Automation (requires Lab 1)
  3. Lab 3: Add Service Discovery (requires Lab 1)

Finished?

If so, you're ready to go out into the world and be a mu master!