No Node Left Behind

Currently Being Moderated

Last week, in the course of discussing the rise of DevOps as a development strategy, I mentioned the advent of new tools that would enable more automation to occur in the deployment process, using all of the tools available to both developers and system admins.

 

In that discussion, it was highlighted how DevOps encourages developers and operations staff to come together earlier in the development process so that apps will be more efficient to deploy and run within the production environment. This has become especially critical given the blurring of the functionality between platform and application found within cloud computing and virtual servers.

 

Right now, there are a lot (and then some) of tools available along the application provisioning trail that gets a developed application to its ultimate home. There are bootstrapping apps that directly deploy on virtual and cloud machines (Xen, OpenVZ), or right on the native OS (Kickstart, Cobbler). Then there's the system configuration tools, such as Chef or Puppet.

 

All of these tools, and the others in these classes, tend to do a good job handling their respective tasks. But as cloud and web deployment becomes more fast-paced and hyper-dependent on the strength of the platform on which the app sits, it's critical to have optimum operations performance so these apps will run effectively.

 

With a lot of finagling, it is certainly possible to smooth out the bottlenecks between these systems. Admins can write scripts to adapt to provisioning requirements on the fly. Developers can adjust their code to make such adaptations easier. This is one big benefit of DevOps.

 

But code can change, and data center environments more so, as hardware failures and load balancing can disrupt the most carefully planned deployment plan. Instead of adjusting manually, application provisioners can use a new class of applications designed to automate the entire process.

 

That's the goal of the open source ControlTier project. Founded by Alex Honor, a consultant for DTO Solutions, ControlTier is a "cross-platform build and deployment automation framework." In other words, a way for apps to be deployed efficiently based on previously set requirements and existing conditions.

 

Honor says that "ControlTier is a response to the orchestration problem." In the past, deployments were comprised of a series of small steps, which in turn were combined into larger steps, which were presented as a master to-do list. Each step, small or large, was a series of commands entered in a precise sequence, which might or might not sync with existing business practices.

 

Even after deployment, there can be ongoing needs for application management: rolling updates, coordinated shutdowns and restarts of tiers within the data center, and then status checks of how things went.

 

ControlTier steps in and lets deployment teams build configurations that will automate application deployment based on everyone's needs, not just the developers' or just the admins'

 

By setting up the deployment process in advance, not only does the application get tested, but the release process itself can be tested, too, Honor explained in a recent interview.

 

Honor's boss at DTO, Damon Edwards, agrees. "ControlTier removes the friction in the release process, using specification-driven automation." This is no surprise, since DTO's, formerly ControlTier Software, Inc., business model is geared towards automated infrastructure and process improvement.

 

With ControlTier, commands for all of the tasks needed to deploy can be entered and grouped based on specific priorities and timings. In a sense, it's like a configuration management tool like Chef or Puppet, except it's for app deployment, not systems management. Actually, Edwards explained, ControlTier can tap into these tools and more to direct them to gather information and perform operations necessary for an app deployment.

 

Eventually, Edwards added, ControlTier will be able to coordinate actions using monitoring tools like Zenoss and Nagios to get things done even more efficiently.

 

This type of automation is a great tool to use in any kind of complex data center environment, since it allows command and control functionality to be executed, then remixed as needed to deploy new apps or the same app on different systems. The coordination benefit between development and operations makes it all that much better.

6,811 Views Tags: devops, controltier, datacenter_barometer


Jul 12, 2010 5:14 AM dave42 dave42    says:

Hi,

I am a beguinner in developping under zenoss.

I'm wondering how can i do the connection between zenoss and controltiers?

How will do the coordination using zenoss? And how zenoss will send commands(alerts)

to controltier in order to inform him?

Thanks.

Jul 12, 2010 9:20 AM Mark Hinkle Mark Hinkle    says in response to dave42:

Dave42,

 

I suggest you start by looking at section 7.1 of the Administration guide. You would use Event Commands to kick off a process in Control Tier that you had already defined.

 

http://community.zenoss.org/docs/DOC-4766#d0e7224

 

It's a pretty broad document because everyone has different specific tasks but in essense you would set-up both Zenoss and ControlTier seperately then pass the command using an event command from Zenoss to ControlTier based on event criteria.