The Kubernetes dynamic client

Introduction Kubernetes won the battle for the cloud-native platform and the characteristic that makes me enjoy the most working with it is its extensibility. By providing an open model through the kube-apiserver, without splitting an internal and external interface, we can interact with the cluster and any other system to integrate both from the same application (Controller) and even use custom resources to describe our unique operations, know as the Operator Pattern....

May 28, 2021 · 9 min · Caio Ferreira

Introducing Cache in your System

Photo by Joshua Coleman on Unsplash Caching is one of the most popular tools used to scale systems and anyone looking to maintain high throughput, resilient and cost-effective products should understand how to use it because it is financially impractical to apply only compute resources in order to meet the access demands. Knowing the basics about it and what parameters you should be looking when choosing your solution is rarely addressed and hence is the purpose of this article....

May 4, 2020 · 10 min · Caio Ferreira

The Lambda Path

Photo by Roman Mager on Unsplash Introduction Being passionate by functional programming I am often asked about how and where one can learn more about this style. Hence, I decided to compile some resources on the subject to suggest a path to this beautiful world. I split the content into three levels: Beginner, Intermediate and Advanced. Since this is thought of as a starter to master path, I gave preference to contents in Javascript, which is a well-known language that allows for a great extent of functional patterns....

October 8, 2019 · 4 min · Caio Ferreira

Using Technical Debt as your next Tool

Quick Summary In this post I will show you what is the debt that we collect with during the software lifecycle, what are its causes and how to pay it back. Introduction Often we are faced with a dilemma in software development: implement the best solution for the feature or delivery it quickly but assuming some workarounds and code smells? Whichever side you choose, will be a cost. This cost is even greater if you work on legacy projects or high changing environments....

March 31, 2019 · 7 min · Caio Ferreira

Difference between state and State

Photo by Annie Spratt on Unsplash Today we will try to solve the ambiguity in the concept of state, highlighting the differences in the two main notions about it. The post describes the nature of each one, some use cases and how they fit in the object and functional paradigms. Introduction On the last couple of months, I dove into the topic of State Machines and how we can design UI’s with this concept in order to provide better semantic and predictability to our application....

December 18, 2018 · 10 min · Caio Ferreira