xenmaster's devops systems

This list is inspired by the Kamran Ahmed's "2020 Developer Roadmap," now at roadmap.sh

Without further ado, my take on the most important technologies to learn for dev-ops in 2020!


  • Basics for SysAdmin

    These are the basic tools you will need to start your path to being a sysadmin. BASH is the scripting language used in the command terminal while vim will be your go-to text editor and PuTTY your primary solution for remote server access.

  • GNU Bourne Again SHell

    Free Linux BSD Website

    Bash is the shell, or command language interpreter, that will appear in the GNU operating system. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification.

    The improvements offered by BASH include:

    * Command line editing
    * Unlimited size command history
    * Job Control
    * Shell Functions and Aliases
    * Indexed arrays of unlimited size
    * Integer arithmetic in any base from two to sixty-four

     

    GNU Bourne Again SHell icon
  • Xfce-Terminal

    Free Linux BSD Xfce Website

    Terminal is a modern terminal emulator for the Unix/Linux desktop - primarily for the Xfce desktop environment. We developed it because we saw the need for a lightweight and easy to use terminal emulator in the Xfce desktop environment, that doesn’t require the user to install the GNOME platform, but still provides a worthy alternative to the GNOME terminal emulator.

     

    Xfce-Terminal icon
  • tmux

    Free Mac Linux BSD Cygwin Website

    tmux is a terminal multiplexer: it enables a number of terminals (or windows), each running a separate program, to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

    tmux uses a client-server model. The server holds multiple sessions and each window is a independent entity which may be freely linked to multiple sessions, moved between sessions and otherwise manipulated. Each session may be attached to (display and accept keyboard input from) multiple clients.

    tmux is intended to be a modern, BSD-licensed alternative to programs such as GNU screen. Major features include:

    A powerful, consistent, well-documented and easily scriptable command interface.
    A window may be split horizontally and vertically into panes.
    Panes can be freely moved and resized, or arranged into one of four preset layouts.
    Support for UTF-8 and 256-colour terminals.
    Copy and paste with multiple buffers.
    Interactive menus to select windows, sessions or clients.
    Change the current window by searching for text in the target.
    Terminal locking, manually or after a timeout.
    A clean, easily extended, BSD-licensed codebase, under active development.

     

    tmux icon
  • Vim

    Free Mac Windows Linux BSD Haiku ... OpenSolaris Website

    Vim ("Vi IMproved") is an advanced text editor that allows syntax highlighting, word completion and has a huge amount of contributed content. It also has a GUI version called GVim.

     

    Vim icon
  • PuTTY

    Free Windows Linux BSD PortableApps.com ReactOS Website

    PuTTY is a free and open-source terminal emulator, serial console and network file transfer application. It supports several network protocols, including SCP, SSH, Telnet, rlogin, and raw socket connection. It can also connect to a serial port.

    A simple, lightweight client for connecting to a Linux shell from your Windows machine!

     

    PuTTY icon
  • Linux Servers

    Redhat is the most common server seen in the field. CentOS is the freeware equivalent.

  • CentOS

    Free Linux Website

    CentOS is a community-supported, free and open source operating system based on Red Hat Enterprise Linux. It exists to provide a free enterprise class computing platform and strives to maintain 100% binary compatibility with its upstream distribution. CentOS stands for Community ENTerprise Operating System.

     

    CentOS icon
  • Ubuntu Server

    Free Linux Website

    The leading platform for scale-out computing, Ubuntu Server helps you make the most of your infrastructure. Whether you want to deploy an OpenStack cloud, a Hadoop cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.

     

    Ubuntu Server icon
  • Compiling Tools

    For compiling apps from source.

  • GNU Make

    Free Mac Windows Linux BSD Cygwin Website

    Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.

     

    GNU Make icon
  • GNU Compiler Collection

    Free Mac Windows Linux Haiku Website

    The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain. As well as being the official compiler of the unfinished GNU operating system, GCC has been adopted as the standard compiler by most other modern Unix-like computer operating systems, including Linux, and the BSD family.

     

    GNU Compiler Collection icon
  • Virtualization

    I don't see virtualization as much as I used to, but these are the best free options I've come across. Note that in the Corporate environment, VMWare dominates from what I've seen.

  • Xen

    Free Linux Website

    Xen.org, home of the Xen hypervisor, the powerful open source industry standard for virtualization. It is a native (bare-metal) hypervisor providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently.

     

    Xen icon
  • VirtualBox

    Free Mac Windows Linux BSD Solaris Website

    VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2.

    Presently, VirtualBox runs on Windows, Linux, Macintosh, and Solaris hosts and supports a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10), DOS/Windows 3.x, Linux (2.4, 2.6, 3.x and 4.x), Solaris and OpenSolaris, OS/2, and OpenBSD.

    Virtualbox is available in 28 languages.

     

    VirtualBox icon
  • Vagrant

    Free Mac Windows Linux BSD VirtualBox ... VMware Workstation VMware Fusion FreeBSD Website

    Create and manage virtualized development environments. Vagrant is a tool for building complete development environments. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases development/production parity, and makes the "works on my machine" excuse a relic of the past.

     

    Vagrant icon
  • Networking + Security

    This is the longest section and some of these solutions overlap. Some additional notes:

    • Wireguard is looking to become the faster, more secure version of OpenVPN, but is still in the experimental stage at this point.
    • Snort is an alternative to Suricata I've seen a lot in the field as well.

  • Suricata

    Free Mac Windows Linux BSD FreeBSD Website

    Suricata is a high performance Network IDS, IPS and Network Security Monitoring engine. Open Source and owned by a community run non-profit foundation, the Open Information Security Foundation (OISF). Suricata is developed by the OISF and its supporting vendors. Suricata is a fork of snort.

     

    Suricata icon
  • Squid

    Free Windows Linux BSD Self-Hosted Solaris ... FreeBSD OpenSolaris NetBSD OpenBSD Website

    Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. Squid has extensive access controls and makes a great server accelerator.

     

    Squid icon
  • Haproxy

    Free Linux BSD Website

    HAProxy is free, open source software that provides a high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers.

     

    Haproxy icon
  • netfilter

    Free Linux Website

    Netfilter software comprises iptables, ipset, conntrack-tools, libnetfilter and more. It is the core of Linux firewalls and NAT. It consists of a set of hooks inside the Linux kernel and a number of utilities to manage callback functions.

     

    netfilter icon
  • dnsmasq

    Free Linux Website

    Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP server. It is designed to provide DNS and, optionally, DHCP, to a small network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP/TFTP/PXE for network booting of diskless machines.

     

    dnsmasq icon
  • Unbound

    Free Mac Windows Linux Website

    Unbound is a validating, recursive, and caching DNS resolver.

    The C implementation of Unbound is developed and maintained by NLnet Labs. It is based on ideas and algorithms taken from a java prototype developed by Verisign labs, Nominet, Kirei and ep.net.

    Unbound is designed as a set of modular components, so that also DNSSEC (secure DNS) validation and stub-resolvers (that do not run as a server, but are linked into an application) are easily possible.

     

    Unbound icon
  • Certbot

    Free Mac Linux BSD Self-Hosted Arch Linux ... Gentoo Linux CentOS Fedora Debian FreeBSD Ubuntu Server Devuan OpenBSD Website

    Automatically enable HTTPS on your website with EFF's Certbot, deploying Let's Encrypt certificates.

     

    Certbot icon

The purpose of this list is to provide a listing of solutions available and commonly used by system administrators in the field in 2019 for managing production systems and support. I encourage everyone and anyone reading this list to also check out the site "https://github.com/kamranahmedse/developer-roadmap" as it has additional information on a logical order to run and use these apps as well as additional topics that are not software solutions, but concepts that are important to learn.



Comments on xenmaster's devops systems

Echo echo ... Feels empty in here

Maybe you want to be the first to submit a comment?

Sign up to comment, it's simple!