A full-stack DevOps on AWS framework
Mu is no longer being maintained. We appreciate the support and interest over the past few years. This repository will be archived in the future. Releases will remain available for the foreseeable future. If you are starting a new project on AWS and looking for alternatives to Mu...
Non-Stelligent OSS similar to Mu:
Additionally, check out RFC 049 of CDK. CDK is where a lot of us are banking the future of AWS deployments are.
These alternatives either didn't exist or were in active development when we started Mu. The increased competition, new ideas, and updates to the ecosystem have made the decision easier to discontinue support for Mu.
Both Amazon ECS (Elastic Container Service) and Amazon EKS (Elastic Container Service for Kubernetes) provide excellent platforms 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 EKS, 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 EKS or ECS as a microservices platform.
mutool uses CloudFormation stacks to manage all resources it creates. Additionally,
muwill 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
muand continue to manage the AWS resources that it created via AWS tools such as the CLI or the console.
Watch the 90 second demo below to see mu in action!
Install latest version to /usr/local/bin (or for additional options, see wiki):
curl -s https://getmu.io/install.sh | sudo sh
bash mu -v mu version 1.5.10
Assuming your project already has a Dockerfile, you can initialize your mu.yml file with:
mu init. More details available in the quickstart.
Check out the examples to see snippets of
mu.ymlconfiguration files that you can use in your own project:
Refer to the wiki for complete details on the configuration of
mu.ymland the cli usage:
Want to contribute to Mu? Awesome! Check out the contributing guidelines to get involved.
git clone [email protected]:stelligent/mu.git $GOPATH/src/github.com/stelligent/mu
make e2e...takes about 30 minutes and will incur charges in your AWS account.