Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Career makeover: From ops to devops

Adam Bertram | March 4, 2016
Get in on the devops revolution by freeing yourself from mundane server tasks and tapping your inner coder

Once you get the hang of source control, you'll soon see this will be the method in which configuration changes are implemented rather than the ad hoc manner you might have been making changes previously.


When you treat your infrastructure as code, deploying configuration changes to hundreds of servers simply requires the editing of a text file. Your automation tools do the rest. You can revert any unwanted changes quickly as well. If a change occurs outside of the code, tools can revert the change within a few minutes and keep your servers in the state you defined for them. This ensures all servers are in a consistent state at all times.

The speed you achieve by managing your infrastructure as code will prove essential, as every process in your server lifecycle must be lightning fast. After all, you will have to keep up with your developers, who -- in embracing a devops/agile methodology -- will be moving fast themselves. You’ll have to tap into that constant-iteration mentality of developers who release new features and patch bugs in conjunction with constant feedback from customers. Think of yourself as agile ops, iterating your infrastructure quickly to support your developers as they too speed through continuous changes in their code.

Train on new tools

Many new tools await your devops transformation. If you manage Windows servers, I highly encourage you to learn Windows PowerShell, an invaluable scripting language for automating server deployment, maintenance, and the like. Once you have PowerShell down, focus on Desired State Configuration (DSC). Microsoft built DSC as a platform on which operations teams and technology vendors can create tools. As with other configuration management technologies, DSC is a way of managing your infrastructure declaratively. Simply write a configuration script and deploy to a server -- it adheres to the state in which it was told!

For heterogeneous environments, you'll want to check out configuration management tools such as Chef, Puppet, Ansible, SaltStack, and CFEngine. These tools support both Windows and various flavors of Linux, essentially applying a management layer on top of your infrastructure. By now, you know how to install IIS or Apache. Why should you be forced to run through that every time you need a new Web server? You shouldn't. Configuration management tools already know how to do that. Use them to manage the infrastructure at a higher level and put your time into managing the software the Web server serves rather than the Web server itself. After all, that’s likely where your organization’s business advantages reside: in the software or services.

Embrace immutable infrastructure

There's a term in the software development world: "immutable object." In object-oriented programming, this simply means an object that does not change. It's a way of ensuring an object is of a particular state and stays as such. If it needs to change, the entire object is destroyed, and another is created. Take this concept and apply it to a virtual machine, a storage LUN, a network VLAN, or a container, and you have immutable infrastructure.


Previous Page  1  2  3  4  5  Next Page 

Sign up for CIO Asia eNewsletters.