Every software developer’s primary goal is to come up with a practical, intuitive, and robust product, a platform or service lots of people can use without any major issue. The problem is that what happens out there with real users is a lot more, well, chaotic than in a control environment developers initially work in. That’s why more and more devs have been using specialized techniques to test out their handiwork and ensure optimal reliability.

Resilience engineering is a practice within Site Reliability Engineering (SRE), closely related to Chaos Engineering. If you’re having trouble wrapping your head around all these…


The Best Solution for Automatic Account Configuration

Defining AWS Landing Zone

According to Amazon, the AWS landing zone is a complete solution designed to help customers set up and manage multiple accounts in the AWS environment that uses only the best practices on the market. The platform offers many different design options, so setting up multiple accounts usually takes a lot of time, understanding of the AWS services, and a lot of patience.

The AWS landing zone is a solution that fully automatizes the entire setup process by creating core accounts and resources needed to monitor multiple accounts. …


Cloud computing has become the leading method for scaling up workloads and growing businesses at a steady rate. It allows companies to build and run scalable applications in dynamic environments known as clouds.

Cloud technologies allow integration of multiple systems, offering a new platform designed to enable easy management and detailed reporting. With an emphasis on automation, these services allow engineers to make huge changes quickly and effectively. The Cloud-Native Computing Foundation or CNFC is making a push to create an open-source system that allows all users to access new technologies and improve their platforms.

The Importance of Cloud Computing

Scaling up and growing a…


During the installation of a few packages, Ubuntu usually installs the tzdata package. It’s usually included in some PHP or Python packages dependencies. The issue with it is that it hangs and waits for user input to continue the installation. It’s ok until we are using Docker and trying to build images (it’s hanging or even throwing errors in newer versions of Ubuntu). We will try to reproduce the situation and try to fix it.

To reproduce the hanging situation, we can use this Docker image:

Here is the logs that we see in terminal:

And here it…


Introduction

Docker is an application that makes it simple and easy to run application processes in a container, which are like virtual machines, only more portable, more resource-friendly, and more dependent on the host operating system.

In this tutorial, you’ll learn how to install and use it on an existing installation of Ubuntu 20.04.

Note: Docker requires a 64-bit version of Ubuntu as well as a kernel version equal to or greater than 3.10. The default 64-bit Ubuntu 20.04 server meets these requirements.

Installing Docker

Note: All the commands in this tutorial should be run as a non-root user. …


Introduction

Docker is an application that makes it simple and easy to run application processes in a container, which are like virtual machines, only more portable, more resource-friendly, and more dependent on the host operating system.

In this tutorial, you’ll learn how to install and use it on an existing installation of Ubuntu 19.10.

Note: Docker requires a 64-bit version of Ubuntu as well as a kernel version equal to or greater than 3.10. The default 64-bit Ubuntu 19.10 server meets these requirements.

Installing Docker

Note: All the commands in this tutorial should be run as a non-root user. …


Using Docker to containerize your applications and services can give you some security benefits out of the box, but a default Docker installation still has room for some security-related configuration improvements. The Docker team has provided a tool to analyze your running containers for potential security issues.

The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production. The tests are all automated, and are inspired by the CIS Docker Community Edition Benchmark v1.1.0.

You can download and run this tool from here: https://github.com/docker/docker-bench-security

https://github.com/docker/docker-bench-security

I see errors/warnings, what’s next?

Assuming you’re successful in firing off…


Dockerize NodeJS applications using Alpine Linux with ease

When using alpine, you need to install build dependencies for some node module to be able to be built natively.

Here is an example of how you would install dependencies for packages that require node-gyp support on the alpine variant:

And Here’s a multistage build example:

Pro Tip:

As Alpine Linux uses musl, you may run into some issues with environments expecting glibc-like behavior — especially if you try to use binaries compiled with glibc. …


COPY and ADD are both Dockerfile instructions that serve similar purposes. They let you copy files from a specific location into a Docker image.

COPY

The COPY instruction copies new files or directories from <src> and adds them to the filesystem of the container at the path <dest>.

COPY has two forms:

  • COPY [--chown=<user>:<group>] <src>... <dest>
  • COPY [--chown=<user>:<group>] ["<src>",... "<dest>"] (this form is required for paths containing whitespace)

ADD

ADD has two forms:

  • ADD [--chown=<user>:<group>] <src>... <dest>
  • ADD [--chown=<user>:<group>] ["<src>",... "<dest>"] (this form is required for paths containing whitespace)

Dockerfile best practice for copying from a URL

Docker suggests that it is often not efficient to copy from a URL…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store