DevOps Working Environment — Tools

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 going deep on all those neat DevOps technologies mentioned in the previous article (if you forgot to read it, follow here), we need to set up our own work environment. Life is easier when we have the right tools installed — you will be more productive, save time, and will manage to handle any kind of issues. I will list the article by category.

Operating System

I would suggest a Unix-like system like Mac-OS or Ubuntu. Why? Simply because of its versatility, as you have a terminal right from the box with a huge amount of tools that you can use on a daily basis.

“But I cannot use Linux as main desktop in my company! :’(“

No problem! Go for Windows 10. Let’s be fair: Lately Microsoft has been committed to bring Windows closer to Linux. That said, my final choice is: Mac-OS.

Browser

Consider this: It’s not only a browser, it’s more than that. We are talking about add-on plugins and functionalities that will help you troubleshoot a lot of things in real life scenarios. Names? For Chrome, it’s called DevTools or developer mode. We also have good browsers like in Mozilla Firefox, Edge, Chrome, Opera, Safari, Vivaldi. If you want powers go with Vivaldi but for overall my final choice though goes with Google Chrome.

Team Chat

Team chatting is also a must-have tool on a daily basis. You shorten barriers! Communication is everything, remember?! Sharing is the key always! We have some options like Slack, Skype, MS Teams, Pidgin, even IRC and so on... I will go with Microsoft Teams and Slack.

Text Editor

Yes, you heard right, text editor! A good text editor is a indispensable tool to maintain flexibility and agility in your daily tasks. It can open a variety of types of files, and you can use it for code and markup languages purposes. It’s good when you have to troubleshoot specific coding or debug some logs. Customization on these tools is also a good point to emphasize. My choice? Sublime Text and Notepad++

Screenshots

Sometimes we need to send visual evidence and info to someone real fast, right out of our screen! Share the screen is an option but I prefer sending a print. In this category my favorites are Lightshot, Greenshot, SnapIt and Windows default Snipping Tool. My choice is Lightshot due to its versatility.

Provisioning

Sometimes you need to quick provision an environment for test purposes. Sure you can go to the Cloud for that, but in some situations it can be a good idea to just do it right on the spot. My Go-To’s here are Vagrant and Docker.

Coding

I know: we are not developers. Still, we do need to code. Remember: we are in the serverless era! Function as a code is the future! In a near future we won’t support servers anymore. We will support services. And I do it using Visual Studio Code where we have tons of capabilities on the fly.

Git Client

Wherever there is code, it’s easy to make a mess out of versions, so its time to tidy up the house. Git is one of the best and most preferred version control systems (VCS) available. My choice goes to GitHub Desktop and GitKraken for Linux.

Database Management

Occasionally you need to see some table or help a Developer/DBA with some task, or even execute some DML or DQL type (like a SELECT statement). For this, you will need to install some database client. The winner is: SQLDeveloper and MySQL Workbench.

Terminal Emulator

Here is where the magic happens. You definitely need a terminal to do your work and focus on the troubleshooting. We have several options to use at work: MobaXterm, Putty, Cmder, mRemoteNG, xShell, iTerm2, Terminator… Just pick the one you feel more comfortable with. My final choice is: iTerm2

PDF Reader

There’s not much to talk here, choose the one that will do the job. We have several options like Okular, Adobe Reader, Foxit Reader, Evince and so on. I go with Foxit Reader

Key Storage

A tool for use at home or at work. There are several web services providing better security on key storage but is not the focus on this article. That said, if you need to remember Windows credentials, e-mail account, FTP access, online passwords, etc. My choice is: Keepass

FTP Solution

Same as above, you need one, period! My suggestion is to have two tools installed. There will always be a day when you have to switch it. Some terminals already have ftp integrated. My choices: Filezilla and WinSCP

API Client

All modern languages like Ruby, Node.js, Java, Clojure and Elixir let you make HTTP requests and handle such responses. Using an API client is a great way to speed up development and troubleshooting. Quickly and easily send REST, SOAP, and GraphQL requests! You will need to use it! Trust me. Pick the Postman for this.

Java Memory Troubleshooting

The certain things in life: death, taxes, and that occasion when your Java application has some kind of issues like slowness and memory leak and you need to debug it using some tool. I can mention JavaMelody, Scouter, Pinpoint and VisualVM. First install JDK and then you have some good tools to troubleshoot Java applications. My choice here is jvisualvm

VPN

How about virtual a private network is your connection to a safer internet experience There are options everywhere like ExpressVPN, IPVanish, NordVPN, cyberGhost and Cisco Any Connect. For home my choice is NordVPN and for enterprise my choose is Cisco Any Connect.

RDP

You can go with Microsoft’s default tool (MSTSC) or go for other options like TigerVNC, Remmina or Team Viewer. You can also use some terminal emulator like MobaXterm and mRemoteNG that have built in capabilities. My pick is Remmina for Linux and MS default RDP client for Windows.

Unix (commands)

Ok, these aren’t "tools" I know, just commands, but I generally use these on a daily basis. Good for troubleshooting and daily tasks. And if you don't know some command, just Google it. They are the basics. To enumerate some: Telnet, ping, nc, curl, wget, df, du, sort, grep, tail, ssh, wc, netstat, free, mysqldump, rsync, fdisk, vmstat, mkfs, top, ifconfig, dig, host, semanage, systemctl, service, iostat, yum, and apt-get.

PS: Web services tools are not included in this article.

Have any doubt? Did I forget to mention anything? Reach me sending comments below! Be my guest and share your thoughts, new ideas are always welcome! Also, follow me at Medium. https://medium.com/@devopspuzzle

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

Are that the some stuffs I will need to install when I go work with you? hahaha very nice tips! Thanks Thiago!

Like
Reply

Excellent article, congratulations Thiago!

Like
Reply

To view or add a comment, sign in

More articles by Thiago Magalhaes

  • 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…

    12 Comments

Others also viewed

Explore content categories