From Blockchain to DevOps: A Developer's Journey

This journey was as exciting as it was challenging, pushing me to develop a versatile skill set and an insatiable curiosity for server-side technologies and DevOps.

Over the years, I built a small but mighty team dedicated to server deployments and monitoring. Together, we brought a culture of DevOps into the company, emphasizing automation, efficiency, and collaboration. This blog is my way of sharing this journey, diving deeper into stable system architecture, software deployments, and system orchestration.

Learning Through Experimentation:

Working at a startup has been like navigating a high-speed, ever-changing labyrinth. Each server setup and deployment taught me invaluable lessons that no classroom could.

BlockBook as a Case Study:

The first series of articles on this blog will use BlockBook, a blockchain explorer, as a running case study. Through these articles, I'll break down different DevOps concepts and how they apply to real-world web applications.

Exploring Practicalities:

Here’s a sneak peek at some of the topics I'll be covering:

  • Self-Hosted Runners: Setting up self-hosted runner instances, configuring users and permissions, and installing necessary software like Docker and Docker Compose.
  • Dependency Management: Ensuring services can communicate and function seamlessly using tools like Supervisor or systemd.
  • Temporary Resources: Creating separate users on each VM deployment with the right permissions and designating temporary locations for bootstrapping processes.
  • Docker Deep Dive: Exploring Docker Compose, leveraging shell scripting in Docker Compose entry points, and comparing the performance of shell scripts with Python and Go scripts.
  • CI/CD Pipelines: Setting up a centralized CI/CD architecture, with individual app repositories and webhooks for triggering workflows through GitLab. I'll also use Mermaid.js to create visualizations that enhance understanding.
  • Container Orchestration: Exploring container orchestration tools like Kubernetes and their benefits.
  • Infrastructure as Code with Terraform: An introduction to Terraform and its application in managing cloud infrastructure.

A Journey of Discovery:

This blog is more than just a collection of technical tutorials. It's a personal journey from being a blockchain developer who integrated DevOps into a startup, to becoming a dedicated DevOps engineer exploring the depths of this field. I'll share my insights, lessons learned, and the challenges I face along the way, hoping to connect with fellow developers exploring similar paths.