GithubHelp home page GithubHelp logo

vincentchen / mu-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stelligent/mu

0.0 1.0 0.0 1.58 MB

μ - A tool for managing your microservices platform

Home Page: http://getmu.io

License: MIT License

Makefile 1.70% Go 97.05% Shell 1.25%

mu-1's Introduction

Build Status Join the chat at https://gitter.im/stelligent/mu Go Report Card

Why?

Amazon ECS (EC2 Container Service) provides an excellent platform for deploying microservices as containers. The challenge however is that there is a significant learning curve for microservice developers to deploy their applications in an efficient manner. Specifically, they must learn to use CloudFormation to orchestrate the management of ECS, ECR, EC2, ELB, VPC, and IAM resources. Additionally, tools like CodeBuild and CodePipeline must be mastered to create a continuous delivery pipeline for their microservices.

To address these challenges, this tool was created to simplify the declaration and administration of the AWS resources necessary to support microservices. Similar to how the Serverless Framework improved the developer experience of Lambda and API Gateway, this tool makes it easier for developers to use ECS as a microservices platform.

The mu tool uses CloudFormation stacks to manage all resources it creates. Additionally, mu will not create any databases or other AWS resources to support itself. It will only create resources (via CloudFormation) necessary to run your microservices. This means at any point you can stop using mu and continue to manage the AWS resources that it created via AWS tools such as the CLI or the console.

Architecture Diagram

Demo

Watch the 90 second demo below to see mu in action!

Demo

Get Started!

Install latest version to /usr/local/bin (or for additional options, see wiki):

curl -s http://getmu.io/install.sh | sh

Assuming your project already has a Dockerfile, you can initialize your mu.yml file with: mu init. More details available in the quickstart.

What's next?

Check out the examples to see snippets of mu.yml configuration files that you can use in your own project:

Refer to the wiki for complete details on the configuration of mu.yml and the cli usage:

  • Environments - managing VPCs, ECS clusters, container instances and ALBs
  • Services - managing ECS service configuration
  • Pipelines - managing continuous delivery pipelines
  • CLI - details about using the CLI
  • Custom CloudFormation - details about customizing the CloudFormation that is generated by mu.
  • Service Discovery - details about configuring and using service discovery

Contributing

Want to contribute to Mu? Awesome! Check out the contributing guidelines to get involved.

Building from source

  • Install Go tools 1.7+ - (https://golang.org/doc/install)
  • Install Glide via curl https://glide.sh/get | sh
  • Clone this repo git clone [email protected]:stelligent/mu.git $GOPATH/src/github.com/stelligent/mu
  • Go to src cd $GOPATH/src/github.com/stelligent/mu
  • Ensure AWS CLI is configured with an access key, secret access key, and region.
  • Build with make

mu-1's People

Contributors

cplee avatar

Watchers

Vincent.Chan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.