Categories
DevOps Orchestration

Kubernetes Pods Introduction for Docker Users

Kubernetes pods are the smallest units of execution in Kubernetes. We’ll explore concepts behind Kubernetes pods and how to manage them using kubectl. Keep reading to find out more.

Categories
Automation Best Practices UI Testing Web Development

Selenium tests in Docker container. Chrome Browser in Docker too.

So you built a website. You even run it in Docker container. That’s perfect, but how do you test it? Do you have Selenium tests running in Docker container? Nice. Does the browser Selenium tests drive run in Docker container too? If you feel it’s too much, don’t worry. We’ll see an example with all of that covered 🙂 Keep reading to find out more.

Categories
Best Practices Web Development

Point host name to WordPress in Docker

Is it possible to point host name to WordPress website running in Docker container? Sure. Keep reading to find out how.

Categories
DevOps Monitoring

Adding health check to Prometheus

So you pulled the official Prometheus docker image and added Prometheus to your monitoring stack. Next, you tried to add a health check for Prometheus and got stuck? Keep reading to find out how to do it 🙂

Categories
Best Practices CI/CD DevOps

CI/CD using Jenkins and Docker

Several years ago I discovered how useful Docker might be for CI/CD using Jenkins. Now, time arrived to share that with you. You may say that it’s old news because there are a lot of new tools and technologies enabling CI/CD other than Jenkins. Nevertheless, many companies still do CI/CD using Jenkins. Additionally, they might use Docker for packaging the applications. Do their Jenkins instances run in Docker as well? Preferably, they do. If you feel it’s too much, don’t worry 🙂 I’ll showcase CI/CD of web app using Docker and Jenkins. Keep reading to find out more details 🙂

Categories
Automation DevOps

HaProxy as HTTP proxy using Docker

While HaProxy has many uses, I’ll show how HaProxy can act as HTTP proxy. Why might you need it? For example, in order to forward HTTP traffic between 2 unreachable networks. As always, Docker will help us to raise a fully functional demo. Keep reading to find out how 🙂

Categories
Best Practices Monitoring Web Development

Adding Google analytics to WordPress website

So you created your wonderful WordPress website and would like to track its usage 🙂 Of course, adding Google analytics seems like an obvious option. Firstly, you created Google Analytics account. What’s next? Obviously, you can install additional WordPress plugins to enable it on your website. However, more plugins may slow your website down. You may wonder how to add Google Analytics support to WordPress website without a plugin. In addition, adding Google analytics to any website requires some effort to make it GDPR-compliant. What exact steps you should take to achieve that? Are there any privacy-friendly and lightweight Google Analytics alternatives which are fully GDPR-compliant? Keep reading to find out answers to all these questions 🙂

Categories
Best Practices

Messed up your git history? Use git merge squash to clean it.

Introduction

Have you ever found yourself in a situation when you made a lot of commits with messages like fix, more fixes in the dev branch? I did. It could have been that you stayed truthful to keeping git commits as small as possible. However, this rule applies only if your small commits were fully complete and tested. Let’s be honest, such commits most probably weren’t. Apparently, you just wanted to finish this never-ending task just to get it done.

Eventually, if you are lucky and patient enough, all these fixes lead to some working code. Would you merge it master? You could, but all these commits won’t pass code review. They shouldn’t, as this would make main branch messy as well. No one will be willing to understand these commits. Moreover, no one should ever revert to these commits, because they don’t represent a stable state in a repository history. So, what should we do?

Luckily, git merge --squash is the magic command which will help us to “squash” all these commits into one. The one we will merge to main branch

Categories
Big Data DevOps Streaming

Introduction into Kafka in Production – Part 1

Introduction

Does anyone know what kafkasque is? I didn’t until I started working with Apache Kafka and discovered its nightmarish complexity 🙂 As with any technology, gaining knowledge makes complexity go away or at least complexity becomes less nightmarish. 

In this (very) opinionated introduction we are going to dive into a few important aspects of Kafka. In addition, we’ll deploy basic Kafka demo using Docker. Of course, this post doesn’t replace existing great courses, books and official documentation. 

Though, it gives you a basic understanding of what Kafka is and how it works. 

Categories
DevOps Monitoring

How to create and debug custom Python Prometheus exporter

Have you ever been frustrated by the fact that Prometheus exporters don’t export the metrics you want? I was. So I wondered how easy it is to create a custom Prometheus exporter in Python. In fact, it’s very easy to build a new Prometheus exporter using Prometheus python client.

Therefore, we’ll develop custom Prometheus exporter in Python and show how to debug it fast. For this purpose, we’ll raise a fully functional Jenkins monitoring stack using docker.