DevOps for the new SysAdmin

DevOps for the new SysAdmin

Hey, you want to become a DevOps Engineer? Please, take a seat!

So, you wanna become a DevOps engineer to help your company but you don´t even know how and where to start? Trust me, read this article carefully.

This five-minute read presumes the basics of DevOps environment, ok? Its a starting point for those who intend to be a DevOps engineer.

As rule number one, stop reading about concepts, values, and principles that engineers need to have to successfully achieve DevOps mindset. What?

Yes, for the most part, DevOps are the new sysadmin and you know the rules of the game, right? That´s the point I am trying to show here. Most people don´t have directions on this area and sometimes can be tricky to overlap this.

So, take a note at all these tips. Practice and sharing is the key, think about that. Before beginning, the first rule is. You need developers and they need you! An open mindset is the word, ok? Teams need to work closely, always! You will see an evolution in a short period of time.

Said that let's start with the basics. Which operating system should I use? Windows or Unix? Both! You need to know how to "navigate" in both environments. If you don´t feel comfortable with them, please go to Udemy right away and pick a system administration course. It's easier when you know what you are doing and where you are.

It's impossible to talk about systems without mentioning cloud computing. Cloud? Yes! Without it, you are out of the game! Suggestions? AWS, Azure, GCP, and OpenStack. It starts with AWS and OpenStack. Compute, networking and storage should be the focus. On-premises data centers are on borrowed time!

Software engineering and architecture basics are also important to understand all the flow and how services handle the implications of DevOps on software development flow. I suggest look some topics like SOA, Rest API, microservices, monolithic architecture, immutable servers, loose coupling, and CORS headers. It's not mandatory but it is always a good option to visualize how things work behind the hood.

If you do not like programming, do not panic. I encourage you to at least study some language so you can understand how things work. I suggest you start learning shell script and python since in my own opinion it's easy to understand and they have a big community. Also, good attention to PowerShell framework as Microsoft is betting all the chips, so it is a good option to consider.

Now let's talk about the new ITIL framework. What? Yes, I know they are the opposite, but they can work together. Welcome aboard Agile. They changed the way we work. Take some time and read about it. You will learn about the collaborative effort of self-organizing and cross-functional teams and their customers (end-user). Kanban and Scrum methodologies should be on your radar.

What's next?

Now, let's talk about the tools used in real life, ok? They all have some kind of integration, but it's quite hard and requires effort to implement a full CI/CD stack. So, let's go directly to the point!

Git, read as control version system. This is the very basics that every developer, DevOps and operation individuals should have. Trust me! Without this, you go nowhere! Every piece of code is versioned. Some relevance terms that you need to focus on git init, add, commit, clone, remote, checkout, branch, push, pull, diff, tag, and merge. Since Git is our first part I will make a dedicated article for him explaining each command.

The second one is about build automation. I would suggest Gradle and Maven since they are the major configuration build tools used today. It's a good practice to understand how to build a management system works, and yes, someday you will help developers troubleshoot configuration, dependencies, and libraries.

The third tool its called, Jenkins! Yes, he is the most used CI/CD platform nowadays. Since we have other platforms like Travis, CodePipeline, and Bamboo, my choice for Jenkins is because it is the leader in CI/CD platform plus huge community support, extensible plugins and the application robustness. Focus on the installation of plugins, projects using pipelines, parameterized builds and so on.

Now let's talk about the whale. Hey Docker! Containers, they come to stay. Strongly recommend read docker documentation. Docker is a good tool to create containers, build and run any kind of application on the fly. It's transformed the way we do business. My suggestion is to study docker, dockerfile, docker-compose and docker swarm. In this article, I will do not talk about Kubernetes (k8s) since its a more advanced topic. You can automate many things with that, trust me!

Talking about automation, we have another tool called Ansible. Yes, you need to automate your infrastructure!

It's an open-source IT automation engine that gives you scalability and reliability for your environment. I encourage you to read the documentation so you can understand how Ansible can save your time on a daily basis. Read a little about inventories, roles, tasks, and playbooks. We have other options to consider including Puppet and Chef. In my opinion, learn all of them. Pros and Cons for each of them should be considered when deciding which tool to use.

At last but not least, focus! This is the main key. We have a lot of work to do and we know the technology is moving very fast. Sometimes is hard to follow all those changes. You need to keep updating yourself every day. The time is your big enemy. It's impossible to master them all, but with time management and focus you gain more confidence to handle several of those tools. Keep this in mind, you go nowhere alone. Be a team player, share your knowledge and hear what others have to tell.

Some other tools were not posted in this article as we are handling the basics. Next post I will share all the resources that I use to read and study on a daily basis. Do not worry, I will tag each of them so you won't be lost.

Share your thoughts with me! If I forgot anything, please be my guest. See you next time! : )

Written by: Thiago de Paula Magalhaes @ 12/01/2019

https://www.garudax.id/in/tpmagalhaes/

Nice one! I am also working with DevOps. ;)

Like
Reply

Great article, organized and very good to get on a practical way. Thanks Thiago.

Like
Reply

A practical, straightfoward guide without that "Join the Religion" slang.

Like
Reply

Very interesting article Thiago Magalhaes! Congratulations!

Like
Reply

To view or add a comment, sign in

More articles by Thiago Magalhaes

  • DevOps Working Environment — Tools

    So, if you are reading this, I suppose you decided to follow the DevOps path, right? Then first things first: before…

    3 Comments

Others also viewed

Explore content categories