So, after two weeks absence, the first for City Cloud leaving beta and the other simply cause I had a week full of… yeah full of stuff. Anyway this post will be about the thing that started this carousel, the Stina.
Stina is the result of me being bored and found some inspiration to try to make a solution for handling traffic peaks at clients servers, the result of that was a set of scripts that call some API-functions that clone an existing server and another script that is run when the newly cloned server is booted that connects to the load balancer and adds the server to the cluster. That was the first version of Stina, a set of scripts that where run at pre-specified times.
So what is the thought behind Stina? The goal with the system is to be a “central control” for agent-less deployment of machines in the City Cloud, or any other Enomaly ECP system. By using standard components as SSH for communication with the newly deployed servers there is no need for a prebuilt template, and the customer can use the template that they seem fit.
To make an example of what use can be used for, say i want to deploy 200 WordPress sites, to achieve this in a somewhat automated manner one can use Stina, Puppet and a customized script to deploy WordPress.
The work process would be like this:Stina deploys the server and installs the puppet agent with the standard package manager, and also pushes the puppet agent configuration. The number of servers to deploy has been calculated by the WordPress mass deployment script, and sent to Stina via API. Stina then reports back that the server is online and ready. In this example, Stinas job is done.
While Stina is deploying the servers the WordPress mass-deployment script prepares the deployment packages and puts them to the deployment folder that puppet utilizes.
Puppet then provisions the servers with WordPress, and in a couple of minutes you have deployed 200 WordPress sites, just like that.
This is just one of the things that I want Stina to be used for, any ideas and suggestions of other usages are welcome, and if anyone wants to help me in the build, please contact me at firstname.lastname@example.org