I’ve been a big fan of what Mesosphere are doing with DCOS since they announced the product last year. For those of you that don’t know, DCOS is frickin’ awesome, it productises Apache Mesos into the ‘DataCenter Operating System’, and really makes life easy for you if you want to run a cloud native datacenter. So easy that Microsoft are running the Azure Container Service on DCOS, and if that’s not a good reference customer I don’t know what is..
So this is how Mesosphere describe the DCOS:
DCOS is a distributed operating system based on the Apache Mesos distributed systems kernel. It enables the management of multiple machines as if they were a single computer. It automates resource management, schedules process placement, facilitates inter-process communication, and simplifies the installation and management of distributed services. Its included web interface and available command-line interface (CLI) facilitate remote management and monitoring of the cluster and its services.
One of the neat things about DCOS is how you can install packages and services at the click of the button, as if you were purchasing something from the iOS App Store, and everybody loves that whole app store analogy as a metric for digitisation and the consumerisation of IT, right?
I’ll touch more on that in a later blog post, but for now I just want to go through how to install DCOS on AWS (you can install it pretty much anywhere).
Installation is a piece of cake, as Mesosphere have created a CloudFormation template to automate the deployment.
Sign into AWS, and launch the DCOS template required. You can choose either a single master, or 3 node HA master.
From there you’ll go to CloudFormation, and click next.
You’ll then get to input some variables for your DCOS cluster, ensure that you populate the following values:
- Stack Name (this is the name of your cluster
- Key Pair (select an existing SSH keypair from AWS)
- OAuth Enabled (you need this to leverage an existing OAuth provider for initial admin login)
You can leave the number of master and slaves as the default, as these are defined in the template you have selected.
On the options page you can accept the defaults and click through to the review page. Accept the acknowledgement box, and click create.
Once you click create you will start to see the cluster spin up - this will take around 15 minutes, so go and grab a cup of tea or a cookie or something.. When it’s done, you’ll be able to browse to the AWS URL of your DCOS cluster and perform the initial login.
The intial admin login is created via OAuth, and several providers are enabled by default. I chose GitHub, but you know, choose whatever works for you..
Once logged in you’ll see a nice pretty dashboard that looks a bit like this…
From there you need to download and configure the DCOS CLI - select the dropdown menu on the bottom left, and click ‘Install CLI’ - this will give you a couple of shell commands, select these and paste them into your console, and you’re ready to go.
Hopefully this has shown that it’s dead easy to get DCOS up and running, in the next blog we’ll look at adding some users to the cluster, and how to deploy an application.
If you want to find out about the DCOS, or Mesosphere in general go to their website, and the source is all available on GitHub.