Automating IT with Ansible
It was the kind of hiccup you don’t want on a web development project. A month before the project was to go live, a mistake had been made, and a server was gone. It couldn’t be restored, remembers Leap Sok, IT Manager at Web Essentials. The server had to be built again from scratch.
Thanks to Ansible, which automates apps and IT infrastructure, that took less time than you’d think. Ansible configures your server in an automated way according to a given playbook without manual interaction. What had to be done before by manually interacting with a server is now done by a script - and can be repeated consistently for any new server that is needed.
“An hour, or less than an hour to have that ready,” says Leap. “We use Ansible to improve and reduce the tasks that we are doing manually.”
Ansible is an open-source software platform that automates apps and IT infrastructure. In addition to reducing manual effort, it increases consistency and standardization and adds transparency across teams.
“Before, the ways that we set up our server or implemented a change required logging into the server and making changes manually. So if I made a change on the server, I had to communicate this my staff. It was not fully transparent to my staff without informing them,” Leap explains. Of the numerous tools to automate infrastructure, Web Essentials has used Ansible for the past year because of its advantages.
“It’s easy to learn and powerful,” Leap says. “Others require a daemon on each server. Ansible doesn’t require an agent on the server, which is good because we don’t have to install anything.” This agentless architecture not only reduces the work required by system administrators, but also reduces the overhead on the network.
Ansible can deploy to virtualization environments and cloud environments, making it suited to a range of platforms. And because Ansible avoids the need to write custom scripts or code, it is easy for Web Essentials’ Development Team to set up the infrastructure on their projects.
“The Development Team doesn’t depend on the Infrastructure Team,” Leap says. “We empower that team to make changes. The code is on the GitLab repository and is transported to the team, then Jenkins deploys it out.”
Using Ansible, the goal is to have Product Owners create web environments that can be deployed with a single click. “Our aim is to empower people to do things on their own and to reduce dependencies,” says Leap.
Ansible is an important tool in this empowerment, but it is not the only one. As Leap says, “We are working continually on improving our infrastructure."
With Ansible and Web Essentials’ efforts to continually improve infrastructure, there’s no telling how quick Web Essentials will be at provisioning new servers across data centers in the future.
Contact us to ask us about how we can find infrastructure solutions for your web project.