About

Creating fault-tolerant, highly available and maintainable workloads

Abstract

My role involves translating the technical requirements of a project into its architectural and design framework, which essentially shapes the final product. Over the years, I’ve specialized in creating cloud solutions that are fault-tolerant, highly available, deployed globally, and managed by small teams. I aim to share my experiences and some of the solutions I’ve designed and implemented.

Recently, I’ve been exploring certain technologies that have captured my attention. Firstly, Golang has piqued my interest. Coming from a strong background in low-latency Java services, this modern language offers a new realm of possibilities to develop exceptionally fast services. It combines the power of C/C++ with a more user-friendly development approach. Additionally, there’s been a revolution in software distribution with tools like Packer or Docker, eliminating the need for specific versions of virtual machines or interpreters. This significantly enhances the reliability of software production.

I perceive this as a cyclic evolution. Previously, C/C++ was recognized as the language for high-speed services, yet its maintenance, learning curve, and compilation posed challenges. Presently, we’re in an era where the internet and platforms like Github collaborate to facilitate easier software sharing. Go leverages this environment, producing a binary executable that can run on any supported operating system.

Another significant technology stack I’ve been involved with is Kubernetes (K8s). Having worked extensively in cloud environments, I’ve witnessed the substantial benefits of implementing Kubernetes, ranging from cost efficiencies to accelerated software development. Currently, I’m engaged in migrating a sizable platform comprising various workloads, including APIs, UIs, batch processing, and low-latency services. I intend to document and share this ongoing journey.

I hope that this blog proves beneficial to someone navigating similar technological landscapes.

Latest Posts

AWS KMS Key Replication
AWS KMS Key Replication

When architecting cloud-based solutions, one key principle I follow is to isolate resources within their respective regions and avoid sharing or replicating them across regions. This approach consistently provides a more secure and compliant framework for business continuity. Recently, AWS has introduced replication capabilities for various resources. In this post, I will delve into AWS Key Management Service (KMS) and assess whether adopting replication for KMS keys offers tangible benefits.

AWS VPN Client
AWS VPN Client

Amazon Web Services (AWS) offers a VPN Client that is particularly advantageous for organizations seeking scalable and secure connectivity solutions compared to traditional VPN services like NordVPN. This distinction is largely due to the inherent flexibility and elasticity of cloud-based services provided by AWS, tailored to meet the dynamic requirements of modern businesses.

Analysis of Github Actions
Analysis of Github Actions

The examination of GitHub Actions involves a comprehensive evaluation of its functionalities, features, and overall effectiveness. GitHub Actions is a powerful tool for automating workflows within the GitHub platform, enabling seamless integration and continuous delivery processes. It facilitates the automation of tasks such as code compilation, testing, and deployment, contributing to an efficient and streamlined development pipeline.