Devops 101

##Introduction

What is Devops?

Devops is about collaboration and integration between development and operations. We do devops so that we can have faster and more reliable development and deployment cycles.

What's it to me?

As a graduate developer, devops will mostly be a foreign concept to you. Going into your first few projects, you may feel that you don't need to understand the devops side of the project. Perhaps you will find it daunting, or perhaps you will think that devops should be left to the "devopsy people" on the team.

Whilst a lot of projects will have people dedicated to some sort of devops role, devops should be the responsibility of the entire team. As such, it is the responsibility of those "devopsy people" to share the devops knowledge amongst the team, and it is the responsibility of the entire team to be open to acquiring such knowledge.

The most valuable team members are those who can swing from tweaking the source code to tweaking CI scripts at a moment's notice. Be that team member.

Motivation

The devops tasks that you'll encounter on your first few projects will most likely be related to the building and management of cloud infrastructure and CI pipelines. These tasks are not trivial, and as a graduate developer, I found it difficult to grasp many of the concepts I was encountering.

Going home and implementing a simple cloud infrastructure with a simple CI pipeline was immensely beneficial to me, and I think it will be beneficial to you. The motivation behind these workshops is to expose you to these concepts by building a simple system. We'll only be scratching the surface, but that will be enough to give you a head start on your first project.

Structure

devops 101 is structured as a series of workshops, working toward the goal of building your very own cloud infrastructure and CI pipeline. Each part should take no longer than an hour.

We'll be concentrating on two major tools in these workshops:

  • Amazon Web Service (AWS)
  • Go Continuous Delivery

You'll encounter other cloud and CI tools in the wild, but getting to know these two to start with will give you a good base of knowledge to build upon.

Caveats

Target audience

This is a beginners course. It's aimed at graduate developers. You may or may not get much out of these depending on your experience level.

Money money money

We'll be provisioning AWS EC2 instances. We can take advantage of the free tier, but there will be a point where we'll be paying. It won't be much (no more than a few dozen cents) so long as you don't forget to tear them down when you're done with the workshop. Don't worry, I'll be pretty clear about this, but I take no responsibility if you do end up losing your monthly coffee allowance.

Your AWS region is important

Throughout the workshops, I've made the assumption that you're working with the eu-west-1 AWS region, which is in Ireland. I strongly recommend using this region for these workshops because the templates and scripts are heavily dependent on your region being set to eu-west-1. If you're far away from this region, it'll mean that things will be a little slower. But in the interest of gaining knowledge and insight from these workshops, it's a small price to pay. So you've been warned, if you choose to use a region other than eu-west-1 then be ready for things to go awry.

Practice vs theory

These workshops will lean heavily toward practice rather than theory. We'll cover some basic theory along the way, but I would recommend further reading to gain deeper insight into the concepts we'll be covering.