The way to
ship microservices
Get Armada

What is Armada?

Complete platform for your microservices.

Armada is a complete solution for development, deployment, configuration and discovery of microservices.

Armada is more than just a tool, it defines conventions and good practices designed towards making your platform more service oriented.

Development

Instant setup of development environment for your code. No more wasting time on following long installation manuals and configuring some legacy services just to build and test some hotfix.

Deployment

As Armada is based on Docker it takes advantage of all the benefits that come from containerization. Build your app on your machine, and ship it to production without worrying about missing dependencies or conflicting libraries.

Configuration

Follow Armada conventions and you will realize that old "Separate configuration from code" mantra is not only easy to implement, but also leads to much easier to maintain and deploy codebase.

Discovery

Armada provides multiple ways for services to connect to each other. Meaningful service's health checks and load balancing are also on the features list.

Armada by example

Step 1. Build

john@desktop$ armada build chat-service
Pulling repository dockyard.armada.sh/microservice_python ...(skipped)... Successfully built 3be42e99ca6a
john@desktop$ armada push chat-service
Pushing microservice chat-service to dockyard: dockyard.initech.com... ...(skipped)... Image has been pushed.

Step 2. Run

admin@initech$ armada run chat-service --env production-aws
Running microservice chat-service from dockyard: dockyard.initech.com locally... Service is running in container fc6776c8f6da available at addresses: 192.168.1.43:49272 (80/tcp) 192.168.1.43:49271 (22/tcp)

Step 3. Enjoy!

greg@ubuntu$ curl -X POST http://chat-service.initech.com/channel/chitchat -d '{"nick":"Greg","text":"Hello all!"}'
{ "ok": true }

For whom armada is?

Anyone who wants
to quickly try service oriented architecture in action
Armada is beginners friendly

and has low entry-level, since we did the work to integrate many components into one complete solution.

You don't have to research dozens of tools,

read their documentations, adapt to your use cases and dive deep into topics such as service discovery and orchestration. Armada provides incremental, painless migration steps towards modern architecture.

WITHOUT ARMADA
WITHARMADA
VS
WITHOUT ARMADA
VS
WITHARMADA
Developers and Ops

Armada makes these roles a little bit more interchangeable

because it provides complete workflow from development to deployment that is independent from applications and infrastructure. Armada eases the hassle for both those groups:

  • Developers don't need to wait for Ops to supply machines with desired environment, installed packages, dependencies etc.
  • Ops can oversee, run, stop, restart services without deep understanding how the application works.

You can use Armada incrementally, take from it bit by bit and benefit from each step. Even if you decide to switch to some other solutions in the future (CoreOS, etcd, Docker Compose etc.) you'll already be on the right track.

Armada's suggested extra tools like services repository (dockyard), configuration provider (hermes), mini-DNS (magellan) can be easily replaced by other tools if such needs arise.