Docker is a containerization software that is used for automating the deployment and management of applications within an isolated environment. This software allows us to “pack” and ship an application, along with all of its needed files, libraries, and dependencies, into a “docker container“. That container can then be easily ported to any Linux system that contain cgroups support within the kernel, and provides a container management environment. Docker is one of several containerization implementations (not to be confused with virtualization) based on this cgroups mechanisms built into the Linux kernel.
SaltStack is an open-source infrastructure management platform built on a dynamic communications bus. The main structure of SaltStack contains two main components for work: one Salt Master and several Salt Minions. Salt Master is the main control system used to send commands to Salt Minion and their configuration. Salt Minions (they are also called Nodes) are subsystems that work on managed servers and receive commands from the master, as well as their configuration. At least two servers are required for interaction settings. One for the Master and one for the node. All nodes are configured in the same way.
Today, DevOps teams try to utilize automation as much as possible. This is to cut down on the sheer number of repeatable processes to limit man-hours worked, throttle development efforts, and to reduce the possibility of errors. This is also a business necessity to reduce overhead costs, increase the speed of the CI/CD process and increase customer satisfaction. There are multiple individual areas that need to be automated to have a fully autonomous infrastructure. Luckily, there are various tools we can take advantage of to help us automate our infrastructure and make sure we have well-developed DevOps processes. In this article we will go over the several of the best DevOps tools for our infrastructure systems.
Before we begin, let’s describe what Docker is. Docker is a set of virtualization tools that allows us to create, test, and deploy containerized applications quickly and easily on a dedicated server. It has become very popular and used almost everywhere in our daily lives. Thanks to containerization, we can quickly launch applications on different cloud platforms utilizing small bundles which contain all the needed packages, libraries and configuration file to run an application. These docker packages communicate via established network channels.
Today, we have multiple tools at our disposal when it comes to web application testing. Sometimes, it can be challenging to make the right decision when it comes to choosing a web application testing tool that fits your specific needs. There are endless factors that come into play when inspecting, verifying, and assessing code as multiple factors come into play that depends on the type of platform being used (e.g. a server cluster or virtual cloud-based system), the programming language being employed as well as the purpose of the web application itself.
In our last article on Selenium, we touched on the tools that the software provides for testing web applications. In this article, we will review the installation of these tools and some basic tests that can be run using the following tools.
We will go through each of the Selenium tools in the order that is listed below. So let’s begin by installing Selenium IDE. After this, we will cover the basic usage of each of the tools.
Selenium is a suite of open-source testing tools for web apps that can be utilized across multiple platforms and browsers. Selenium is comprised of four different tools, each providing a different testing capability.
Chef is a popular, open-source, IaC (Infrastructure as Code) management tool. It eases administration, configuration, and deployment of server resources across a network from a central location.
What is IaC?
IaC (or Infrastructure as code) is the procedure of provisioning, coordinating, and controlling servers via machine-readable files, that are defined in commonly reused records called cookbooks rather than physical hardware configuration or interactive configuration tools.
In this tutorial, we will install Puppet on a Ubuntu 18.04 server. Puppet is an open core, server based, task management type of automation software that is primarily used to limit your interactions for many of the mundane, day to day server tasks that used to require personal intervention.
This software allows you as the server owner to delegate specific functions to the software, thereby freeing you up for more critical business efforts. Puppet is a master/client based system that can interact with both Windows and Linux servers. The Puppet master server is run from a Linux server (a small downside given the time and effort it will save in the long run) but, can control efforts on other server types as well. Continue reading “Install Puppet on Ubuntu 18.04”→