DevOps Automation enabling self-service, secure IT
What comes to mind when you read the phrase, ‘IT process orchestration’? IT automation? While IT automation and IT process orchestration are two different concepts, they tie back on one thing: “make life easier.”
A simple and common task, like spinning up a new web server, can be achieved by writing an automated script. Process orchestration is about automating the entire workflow involving several tasks, keeping things working and monitoring them as needed. Delivering automated scripts always leads to a bimodal response: 1. People use them and become experts 2. People never use them.
While there are a handful of tools out there to enable orchestration, our personal favorite is Jenkins CI, the open source continuous integration tool. Extending it further, our favorite and very own is Fluxboard. We refer to it as “Our Jenkins”. Fluxboard is a Jenkins dashboard for DevOps automation. It provides continuous integration and delivery and is a product that evolved from the best practices of working on hundreds of cloud infrastructure projects.
Let’s begin with a question: How does Jenkins work? Why Jenkins? Jenkins offers rich features by allowing GUI, command line and restful API interfaces. Job configurations can be written in expressive, human readable formats as Jenkins supports YAML and JSON formats. The following are a few more interesting features of Jenkins:
Extensible: Supports numerous plugins
Flexible: Allows support for various tools, OS, network
Easy Management: Easier backup/restore, automated creation, effective version control
Taking into advantage the above listed features, Fluxboard was developed in-house at Flux7. In a typical cloud environment, it’s spun up as an instance with a generic set of jobs.
Some of the generic jobs housed at Fluxboard include:
- backup db: By checking a simple enable tag option, a script runs periodically, taking backup of the database
- backup-fluxboard: This job is run every night to take a complete backup of the entire infrastructure and store it in, say, an S3 bucket
- backup-instances: Takes a copy of the AMI and stores it in a backup region
- create-dr-stack: Disaster recovery scripts which can replicate the infrastructure for instance, when it’s down in a particular region
Fluxboard is currently being used for the following use cases:
As an API Server
It is also used as a place of continuous learning. Many of our customers customize it by creating their own jobs.
At Flux7, we are obsessed with automation and its role in agility. We continue to strive to follow our technical philosophy, which is “Use automation to provide self-service, agile and secure IT” and look to bake-in automation strategically in the cloud infrastructure frameworks we construct for our customers.
To see our slides on this topic from DevOps Days Austin 2015, please click below.