Manageacloud

ManageaCloud Community Version released

Hello friends of ManageaCloud!

We are happy to announce the release of ManageaCloud Community Version, but we have more news!

What is ManageaCloud ?

ManageaCloud is a cloud orchestration framework. Our heart is technology agnostic which allows easy integration with any type of clouds and technologies.

This system allows you to create server configurations, where you configure how the different servers that compose your infrastructure works. Server configurations are the commands, that builds an application server, a database or an email server.

If you are already using a configuration management system such as Puppet, Ansible or Docker containers, you can use it to build you servers. For more information, you can read about how to orchestrate a Joomla server using Docker Compose available in the quick start guides.

Once the different servers are configured, you can use the infrastructure template (aka MaC Framework), to define the blue print of other infrastructure elements: auto-scaling groups, load balancers, golden images, dns and more.

The MaC Framework runs commands in the command line interface (you can see examples in our quickstart guides) for the different technologies that you require. It is extremely flexible and easy to use.

Cloud Libraries

This new feature has been released along ManageaCloud Community Version.  It has the ability to use libraries to reuse code so complex orchestration is even easier. We have released our first library for AWS, that allows to create an application server, a golden image, load balancer, autoscaling groups, launch configurations and cloudwatch alerts with a single command. All you need is a simple macfile:

mac: 1.0.0
description: Scaled and Load-Balanced nginx
name: {INF_NAME}
version: {INF_VERSION}
parents: # we define what libraries we want to use
  aws: https://raw.githubusercontent.com/manageacloud/lib/master/aws/aws-autoscale.abstract.macfile
roles:
  app:
    instance create:
    # this is the server configuration. In this case we are writting the commands directly,
    # but we can separate this code by using a Server Configuration.
      bootstrap bash: |
        sudo apt-get update
        sudo apt-get install nginx -y
infrastructures:  # this sets the order or the orchestration
  # create E2C instance using the configuration for role 'app'
  aws.image_base_inf:
    name: app
    provider: amazon
    location: {AWS_REGION}
    hardware: t1.micro
    role: app
    release: ubuntu:trusty
    amount: 1
  aws.build_lb_inf:
  aws.register_lb_inf:
  aws.create_image_inf:
  aws.create_launch_configuration_inf:
# we customise a default value defined in the parent aws
  aws.create_autoscale_group_inf:
    params:
      desired-capacity: 1
# we accept all other default configuration
  aws.*:

The AWS library defines the commands that has to execute to create and destroy every resource. The previous macfile is a demo that creates an Scaled and Load Balanced nginx, and it is available on GitHub. This allows you to create the whole infrastructure executing a single command:

mac -s infrastructure macfile https://github.com/manageacloud/lib/blob/master/aws/aws-autoscale.demo.macfile -p INF_NAME=demo INF_VERSION=1 AWS_REGION=us-east-1

The beauty of this technology is that:
 - You have full visibility about how it works.
 - You can easily extend the functionality or customise it for your own application.
 - You can easily integrate macfiles to operate with a great variety of strategies (such as Continuous Delivery and blue green deployments) and it is extremely easy.
 - You have full visibility of the history of what happened: logs, output commands and exit codes.

Would you like to collaborate ? Create your library and send a pull request to GitHub! Feel free to contact us if you have questions.

Blue Green Deployments

This technology is flexible and powerful and works extremely well for blue green deployments. Every time you execute a macfile, it associates a name and a version, which gives you full control to know what is running in your cloud infrastructure, and you can use it to easlity organise flexible blue green deployments.

Macfiles and Dependencies

Every macfile has a dependency with the environment: in the previous example you need the AWS cli properly installed and configured with the right credentials to execute the creation of the infrastructure. That's why we designed triggers, where you can isolate an action (such as the creation or the destruction of an infrastructure) to a single POST into an URL.

For example, a trigger installs and configures the environment required for the macfile to run (installing and configuring the AWS CLI) and then runs mac -s infrastructure macfile command, isolating any dependency that allows you to create a fully functional production ready environment.

As this feature requires a cluster to run containers, it is not available in the Community Version, but you can use it for free of charge with the Start-Up or Business plans.

ManageaCloud Community Version

You have requested and we have delivered! Many organisations wants the freedom and the flexibility to use ManageaCloud in their own infrastructure. That's why, as an alternative to the Start-Up and Business plans, we have are happy to announce the release of ManageaCloud Community Version. It is a free to use. The standalone version of ManageaCloud allows you to install ManageaCloud in your own infrastructure.

ManageaCloud CLI is now Open Source

This release of ManageaCloud allows us to announce the stable version of the ManageaCloud Command Line Interface, a powerful tool that allows you to manage your infrastructure from the terminal. We are currenntly opening our system! Fork us on GitHub to support us!

 

Written by Ruben Rubio Rey on Monday April 4, 2016
Permalink - Category: news

- Manageacloud at LinuxConf 2016 »