Date Archives

June 2018

What is an Infrastructure Automation Engineer?

Spoiler: It’s not a developer

So what are you exactly?

I’m a Infrastructure Automation Engineer (Or just Automation Engineer for short). I used to be a Linux Systems Administrator (And in many ways, that’s still what I am, the methods and title have simply changed).

At it’s core, the job of a Systems Administrator (and now Automation Engineers, Devops Engineers, etc) has always been to help ensure a system or application is online, secure, and performant.

Another name often used for the type of work I do is Devops Engineer. I don’t like using this title as Devops is a culture, not a role.

devops-explained-comic
Source: http://turnoff.us/geek/devops-explained/

So what is it you DO?

A lot of things.

My job is to support the dev team (and your business) in it’s mission to deliver a working product to the customer in the most efficient way possible.

Since that’s a bit broad, let’s give some examples of the sort of things I might do for your project and why they should be done.

  • Help you determine the infrastructure requirements are for your project. Determine needs and wants.
    • Why: You can’t design a system if you don’t understand the parameters that are actually important. Depending on the sort of project you have, the most important points may change. Maybe it’s High Availability and Scalability. Perhaps budget is the most important concern. Perhaps it’s a mixture of the above or something else entirely.
  • Architecting/Designing your infrastructure to meet the requirements.
    • Why: We want to meet the objectives and the architecture and design phase helps by understanding what systems and technologies are needed to reach that point in the most efficient way possible.
  • Implementing the architecture using IaC (Infrastructure as Code) tools like Terraform, Ansible, and Docker.
    • Why: IaC reduces errors during deployment/provisioning, is easily reproducible (For example similar code can be used to deploy dev, staging, and prod environments), can be held in version control systems (Like Git), and is overall much easier to review and change. This all helps save time, frustration, and most importantly, money.
  • Maintaining the system after it’s provisioned. Receiving and responding to monitoring alerts, making changes to the system when needed, etc.
    • Why: While the above tools do help drastically reduce the amount of time it takes to manage your infrastructure, occasionally changes must be made. Maybe you need some additional monitoring added, a system image changed, or the deployment process was modified slightly. I can help with this.
  • Help increase your developer efficiency and lead times by implementing a CI/CD(Continuous Integration, Continuous Deployment) system such as Jenkins, TravisCI, CodeDeploy, or similar.
    • Why: Dev time is expensive. Deployment is error prone. The time between writing code and it reaching production can be far too long. Implementing CI/CD allows this code to be quickly (and easily) tested and deployed. This means your customers end up with the features they need and keep buying/paying for your application.
  • Reviewing your current infrastructure for improvements.
    • Why: Maybe you had another administrator implement your system and you want someone else to take a look over it. I can help spot areas of improvement in scalability, security, or whatever other parameters you wish to cover.
  • Migrating existing infrastructure to cloud providers.
    • Why: You’re finally sold on the increased cost efficiency and scalability of AWS but you already have existing infrastructure on traditional bare metal servers or VPSs. I can help review your application and design a plan to migrate the application to AWS (or another provider) with little or no downtime.
  • Perform cost analysis/reduction (Especially on cloud providers like AWS).
    • Why: You have a lot of infrastructure and you’re spending a lot of money but you don’t know what exactly that money is being spent on or if it’s even necessary. I can help by reviewing the existing infrastructure to locate potential cost savings and then implement the required changes to realize them. I can also help implement practices that will aid cost estimation in the future.

The above is a short list of the sort of things I do which themselves encompass a great deal more work.

The general idea being that I (and other Automation Engineers) handle just about everything that isn’t coding or designing the application itself.

What don’t you do?

As important as the things I do are the things I don’t.

While I don’t personally handle these things, I am happy to help source this talent for you.

  1. I won’t create your website or application.
    1. This is a job for a developer (Frontend, backend, systems, etc).
  2. I won’t create logos or UI designs
    1. This is a job for a graphic designer or UI/UX design expert.

So why should I hire you?

So you need help with some of the above tasks?

You should hire me because:

  1. I’ve been trusted with the infrastructure of everything from early stage startups to Fortune 500 companies.
  2. I have a consistent history of project success and customer satisfaction. My Upwork reviews and LinkedIn recommendations both clearly demonstrate this.
  3. I’m timely, professional, and honest. I’ve also been told I’m pretty easy to get along with. 🙂
  4. Companies generally have long term requirements for operations team members. I always look to build a lasting, mutually beneficial relationship with my clients.

I’m sold, let’s have a chat!

I’m glad my persuasion skills are on point!

You can easily schedule a no commitment 30 minute consult in the section below or by clicking the blue button at the bottom right of the website.

Look forward to working with you soon!