xenmaster's devops systems

This list is inspired by the Kamran Ahmed's "2019 Developer Roadmap." https://github.com/kamranahmedse/developer-roadmap

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


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

    CentOS and Ubuntu are the most common freely-available servers I've seen in the corporate environment. Red Hat Enterprise Linux is basically the same as CentOS, so by learning the free options, you will learn the enterprise software (more or les

  • Red Hat

    Commercial Linux Website

    Red Hat is the leader in development, deployment, and management of Linux and open source solutions for Internet infrastructure - ranging from embedded devices to secure Web servers. Red Hat was founded in 1994 by visionary entrepreneurs Bob Young and Marc Ewing. Open source is the foundation of our business model. It represents a fundamental shift in how software is created. The code that makes up the software is available to anyone. Developers who use the software are free to improve the software. The result: rapid innovation. Red Hat solutions combine Red Hat Linux, developer and embedded technologies, training, management services, technical support. We deliver this open source innovation to our customers via an Internet platform called Red Hat Network. Red Hat is headquartered in Raleigh, North Carolina, USA.

     

    Red Hat icon
  • 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.

     

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

    Free Windows Linux Android iPhone Android Tablet ... iPad Self-Hosted Cloudron Website

    OpenVPN is a full-featured open source SSL VPN solution that accommodates a wide range of configurations, including remote access, site-to-site VPNs, Wi-Fi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-controls. Starting with the fundamental premise that complexity is the enemy of security, OpenVPN offers a cost-effective, lightweight alternative to other VPN technologies that is well-targeted for the SME and enterprise markets.

     

    OpenVPN icon
  • WireGuard

    Free Mac Linux Android iPhone BSD Website

    WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it plans to be cross-platform and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.

     

    WireGuard icon
  • Web Servers

    Two common webservers, each with its own user case and differences.

  • Apache HTTP Server

    Free Mac Windows Linux BSD Website

    Apache, is a web server notable for playing a key role in the initial growth of the World Wide Web and in 2009 became the first web server to surpass the 100 million web site milestone. Apache was the first viable alternative to the Netscape Communications Corporation web server, and has since evolved to rival other Unix-based web servers in terms of functionality and performance. The majority of all web servers using Apache are Linux web servers.
    Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.

     

    Apache HTTP Server icon
  • nginx

    Free Mac Windows Linux BSD Website

    nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server written by Igor Sysoev. It has been running for more than five years on many heavily loaded Russian sites including Rambler (RamblerMedia.com).

    Basic HTTP server features

    Serving static and index files, autoindexing; open file descriptor cache;
    Accelerated reverse proxying with caching; simple load balancing and fault tolerance;
    Accelerated support with caching of FastCGI, uwsgi, SCGI, and memcached servers; simple load balancing and fault tolerance;
    Modular architecture. Filters include gzipping, byte ranges, chunked responses, XSLT, SSI, and image transformation filter. Multiple SSI inclusions within a single page can be processed in parallel if they are handled by proxied or FastCGI/uwsgi/SCGI servers;
    SSL and TLS SNI support.

     

    nginx icon
  • Code Management + Deployment

    Jenkins is the Continuous Integration / Deployment tool I've seen the most, both the free and enterprise versions. I should note that github is more popular than Gitlab right now, but I see a lot companies making the switch.

  • Jenkins

    Free Mac Windows Linux BSD Self-Hosted Website

    Jenkins is a fork of Hudson and is a continuous build system for software projects.

    The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

    Jenkins is an application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:

    Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases the productivity.
    Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Jenkins keeps those outputs and makes it easy for you to notice when something is wrong.

     

    Jenkins icon
  • Git

    Free Mac Windows Linux Android iPhone ... BSD Haiku Website

    Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

     

    Git icon
  • GitLab

    Freemium Linux Web BSD Self-Hosted Ruby ... Cloudron Website

    GitLab is a on-premise or hosted Git repository management tool. It also includes code reviews, issue tracking, wikis, and continuous integration.

     

    GitLab icon
  • Infrastructure as Code

    Docker will be your container software whereas kubernetes is the management platform for orchestrating multiple containers in production at once. Ansible is an up and coming configuration manager used to manage setups across many servers and is gaining popularity fast.

  • Docker

    Freemium Mac Windows Linux Web Self-Hosted ... FreeNAS Website

    Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.

    Docker containers can encapsulate any payload, and will run consistently on and between virtually any server. The same container that a developer builds and tests on a laptop will run at scale, in production*, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above.

    Common use cases for Docker include:

    • Automating the packaging and deployment of applications
    • Creation of lightweight, private PAAS environments
    • Automated testing and continuous integration/deployment
    • Deploying and scaling web apps, databases and backend services

    Docker is available as Community Edition (CE) for free and an Enterprise Edition (EE) subscription with software, support and certification.

     

    Docker icon
  • Kubernetes

    Free Web Website

    Kubernetes is an open source orchestration system for Small Docker iconDocker containers.

    It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery.

     

    Kubernetes icon
  • Ansible

    Commercial Windows Linux BSD Python Website

    Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

    Being designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time.

    It uses no agents and no additional custom security infrastructure, so it’s easy to deploy — and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English.

     

    Ansible icon
  • Terraform

    Free Mac Windows Linux Website

    Tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.

     

    Terraform icon
  • Cockpit Project

    Free Linux Website

    Makes it easy to administer Linux servers via a web browser. It allows you to easily perform simple tasks like storage administration, inspecting journals, starting & stopping services, monitoring & administering several servers at once.

     

    Cockpit Project icon
  • Monitoring Tools

    Netdata is a free NewRelic / AppDynamic alternative, but it is important to note that both of these solutions are pretty common in the field. Same goes for the ElasticSearch - Logstash - Kibana (ELK) stack, which I've seen is being replaced by Splunk in many places, especially those looking to deploy their production infrastructure to the cloud.

  • Nagios

    Free Linux Website

    Nagios is a powerful monitoring system licensed under Nagios Enterprises that helps organizations identify and resolve IT infrastructure issues.

     

    Nagios icon
  • netdata

    Free Mac Linux Web BSD Self-Hosted ... C (programming language) Python Node.JS Bash Website

    netdata is a system for distributed real-time performance and health monitoring. It provides unparalleled insights, in real-time, of everything happening on the system it runs (including applications such as web and database servers), using modern interactive web dashboards.

    netdata is fast and efficient, designed to permanently run on all systems (physical & virtual servers, containers, IoT devices), without disrupting their core function.

     

    netdata icon
  • elasticsearch

    Free Windows Linux Mac Java Website

    ElasticSearch is a distributed, RESTful, free/open source search server based on Java under the Apache License ( Lucene ).

     

    elasticsearch icon
  • logstash

    Free Linux Java Mobile BSD Website

    logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). Speaking of searching, logstash comes with a web interface for searching and drilling into all of your logs.

    It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.

     

    logstash icon
  • Kibana

    Free Mac Windows Linux Web Website

    Easily visualize data pushed into Elasticsearch from Logstash, es-hadoop or 3rd party technologies like Apache Flume, Fluentd, and many others.

     

    Kibana icon
  • Cloud Infrastructure

    Two major players. There are other options out there, but these are the two I've seen the most in production based heavy use companies.

  • Amazon Web Services

    Commercial Web Website

    In 2006, Amazon Web Services LLC (“AWS”), an Amazon.com company, officially began offering developer customers access to in-the-cloud infrastructure services based on Amazon's own back-end technology platform. Today, AWS is a comprehensive cloud services platform, offering compute power, storage, content delivery, and other functionality that enables businesses to cost-effectively deploy applications and services with greater flexibility, scalability, and reliability.

     

    Amazon Web Services icon
  • Microsoft Azure

    Commercial Web Android Android Tablet Website

    Microsoft Azure and SQL Azure enable you to build, host and scale applications in Microsoft datacenters.

     

    Microsoft Azure 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!