Paving the Way, part 1 — Getting started with modernization

Aller Media Tech Blog author
Aller Media Tech blog
3 min readSep 6, 2018

Holidays are over, winter is coming and it’s time to get back to the groove of making things happen. So, like I mentioned in the welcome post, we are currently in the process of aggressively modernizing not only our infrastructure but also ways of working. Here’s a quick recap of what happened so far.

Wake up, Neo…

About two years ago one thing was starting to be painfully obvious: The organization had stalled, not pushing itself enough forward to keep the pace with the rest of the pack — We had fallen behind, technically and culturally. There were few efforts here and there but nothing orchestrated enough to push the company as a whole forwards. So, with this in mind, we made a decision to aim (or at least try our darnest) to leapfrog the pack and move towards leading instead of following, to invest into the future.

Initially it was mainly just playing around with different setups, seeing in practice what they were good for and what didn’t work for us, then moving towards to test projects and systems, eventually aiming for a sustainable solution that would work for all sides of the organization. This series documents the things we did and hopefully helps anyone else in similar situation.

All aboard the DevOps boat!

One of the biggest issues was ways of working. Due decades old services, acquired publications and so forth, the tech debt was… well, not to satisfactory. On top of that, 1999 called and asked for it’s organization chart back — We had separate Ops team, that was scrambling to hot-patch all the things while Dev teams, all of which had different setups, were asking for Ops team to deploy and/or fix their stuff(s), after which they would sit and wait until someone would let them know how it all went. All of this led to fragile systems, slow release cycles and overall bad visibility to state of things.

First step was a decision to hop into the DevOps boat. To form multi-disciplinary product teams that had the power and the responsibility to do everything from design to coding to releasing to production. If an issue would rear its head in production, the team would immediately be aware of it and have all the tools required.

Technology roadmap to salvation

Second step was to get rid of any and all manual environment work and setup automated infrastructure-as-code processes that force any changes to go through version control and automated deployment, making everything documented/written down and traceable by default. This way all members of the Dev teams have clear visibility and control over what is happening in different environments. On top of that, a good amount of monitoring dashboards was positioned all around the work environment.

On high level the modernization roadmap looks as follows:

  1. Docker. Get local development setup working with docker-compose, so that everyone is running the same setup locally.
  2. Continuous Integration. Apart of the obvious testing part, setup automated Docker image builds on semver (fe. “v1.1.1”) git tags.
  3. Infrastructure-as-Code. Setup continuous deployment for infrastructure with CI+AWS CodePipeline. Create AWS CloudFormation template and stage & production configs to run the Docker image(s) in AWS ECS (and whatever else is needed).
  4. Switch production. Switch old production to new infrastructure. Celebrate.

Once completed, Dev teams have all the capabilities needed for the DevOps workflow to take place. Currently some are already pretty much done, some are just getting started. Of course, this is only the beginning, the foundation that allows us to start building better things — The future, if you will.

I will be covering each step in further detail, how we ended up solving each solution and what we found works for us. And once that is done, more on the future stuff built upon the essentials. So, if you have any questions, now is the perfect time to chime in as I/we can then easily cover those in the next parts of the journey.

Next part: Paving the Way, part 2 — Docker all the things

— By Mikko Tikkanen, Technology Lead at Aller Media Finland

--

--