Articles

DevOps

Application containerization

Application containerization thumbnail
Let's imagine a developer building an application on his computer and that this application is meant to be deployed on a different machine (production environment). In order to execute properly, this application requires multiple libraries, binaries and packages. For example, a Python program requires the Python interpreter as well as all the imported Python modules.
DevOpsDockerTutorials

Combining two independent git repositories

Combining two independent git repositories thumbnail
This article presents how to combine two independent and unrelated git repositories.
TutorialsGitDevOps

Containerization of a Flask application

Flask can be seen as the equivalent of Express for Python. However, although an express application is basically production ready, a Flask app outputs the following when executed by itself:
TutorialsDevOps

Creating a private docker registry for Kubernetes

A docker registry can be run easily using as a docker container using docker itself.
DevOpsKubernetesDocker

Deployment of a TensorFlow model to Kubernetes

Let’s imagine that you’ve just finished training your new TensorFlow model and want to start using it in your application(s). One obvious way to do so is to simply import it in the source code of every application that uses it. However, it might be more versatile to keep your model in one place as standalone and simply have applications exchange data with it through API calls. This article will go through the steps of building such a system and deploy the result to Kubernetes.
AI / MLDevOpsTensorFlow

Distributing a Helm chart on Artifact Hub

Distributing a Helm chart on Artifact Hub thumbnail
Building applications in a microservice architecture has become more and more popular recently. With this design pattern, an application is composed of multiple services that run independently and generally share data across network protocols.
KubernetesHelmWIPDevOps

Docker HTTP (insecure) registry

By default Docker refuses to push/pull from registries that are not served using HTTPS.
DevOpsDockerTutorials

Generic Kubernetes manifest for web application deployment

Deployment name, container registry and service port are externalized, making this manifest general-purpose
KubernetesDevOps

Getting Python's requests library to use a local DNS (Core-DNS, Docker-compose, etc.) while behind a proxy

When using Python's requests library, the requests are send through the proxy set as environment variables. Consequently, if the DNS to be used comes before said proxy, the host might not be resolved. This typically happens when resolving a host in Kubernetes using Core-DNS. If the request first leaves the Kubernetes cluster to reach the proxy, then the DNS server becomes unreachable, making the request fail.
DevOpsPythonTutorials

GitLab CI

GitLab CI is a feature of GitLab that allows users to have actions triggered upon pushing a repository to it's remote. For example, it can be used to execute all tests defined in the code, containerize the application and deploy it. A popular alternative to GitLab CI is Jenkins.
GitLabDevOps