Introducing a day in the life of a DevOps Engineer series

Synopsis

If you watch YouTube regularly, chances are you stumbled upon a day in the life of a <OCCUPATION> video, at least once. The idea is to document through a series of vlogs a typical work day of someone working in a FAANG company, usually.

My version of a day in the life of a DevOps Engineer is intended to demystify a little about what is DevOps and what do DevOps Engineers do on a daily basis (This is not a daily journal really 🙂).

I am going to present an initial project that is going to evolve over time with new features, however focusing more on the tools and techniques of a DevOps Engineer where you (the reader) are going to be in the Developer’ shoes and deliver new software features and deploy it through the CI/CD pipeline I am going to build for you to efficiently do your work.

The end goal is to entice at least a few readers into the world of DevOps Engineering and to help them if they want to become a DevOps Engineer as well.

What is DevOps really?

DevOps is a culture influenced by Lean manufacturing principles very associated with Toyota. It aims to improve software development by focusing on iterative and efficient delivery. The goal is to provide the best product to the end user in a shorter time frame, resulting in a better user experience. This is why we often see weekly updates for mobile apps.

The main idea is to produce small batches of software (a.k.a. features) to avoid the waste of time and money (not all features really make it to the final product) and continuously improve the software through the learnings from the quick feedback from the end users themselves.

What do I do as a DevOps Engineer?

My work is to facilitate the flow of the new software features, keeping in mind the security, the system architecture designed by the Solutions Architect and delivered by the Developers to the SysOps Engineers. Every once in a while, I also wear the hats of a Backend Developer and a SysOps myself to ensure that the pipeline delivers all the new features all the way to the production environment (that’s the plan at least 🙂).

The Roadmap

Every good Project starts with a Roadmap early on before you actually get to work.

I am not going to SPOIL it by giving away all the details just yet. The fuzzy idea is to setup a continuous integration / continuous delivery pipeline so that you can deploy new versions of a Web App to a production environment but starting from a 30,000 feet viewpoint and zooming-in as necessary as the project meets the final goal.

The starting point of this project is a simple React Web App version 0.1 with all the good features yet to come. This Web App is already hosted in a static website on Amazon S3 and is brought to you by CloudFront so that wherever you are in the world you are going to have the best user experience as everyone else.

This WordPress blog is the right place to document this experience, to share and explain ideas using all sorts of engineering aids as much as possible.

The initial deployment process can be seen in The DevOps Experience #01 video.

Please visit https://thedevopsexperience.co.uk to see how the Web App is looking right now.

What’s next?

In the next publication I am going to detail a little bit more about the process of hosting the code on GitHub to facilitate collaboration, the building of the CI/CD Pipeline using AWS CodeBuild, CodeDeploy and CodePipeline and the decision making process that takes into account Security first.


Comments

Leave a comment