Hi, there! đŸ‘‹đŸŸ

Theses posts used to keep track what I had learned and to reshare it on my own style. But it also have some of my own personal stories. Happy reading! Some post also might unfinished, so bare with me . 😅

Traffic Split in Istio

After years of working in the infrastructure domain, I’ve realized that migration is an inevitable task. In all companies I’ve worked for, migrations have been a constant presence. Even at tech conferences, it’s very common to see migration stories being shared on stage. These can range from Kubernetes migrations to database migrations, tool migrations, and more. In this post, I’ll share my experience with Kubernetes cluster migration. Moving from one Kubernetes cluster to another involves many aspects, including CI/CD setup, monitoring tools, load balancers, and more. However, I’ll specifically focus on traffic migration. ...

February 23, 2025 Â· 3 min Â· Eko Simanjuntak

Design By Contract

After years of working in software development, I started to realize that API and contract are very essential to understand. So here, I’ll explain what I understand and how it impacts my day-to-day work. Years ago When I was still in university, I learned how to create RESTFul API. Since then, my understanding of API is just about REST API. Every time people talk about API, I automatically think about REST API. ...

May 1, 2024 Â· 3 min Â· Eko Simanjuntak

Load Balancer and When to Use It

TL;DR 
 and yes, doing a lot of tasks are killing me slowly, that is why I need your help. Please! Let’s start with my problem Imagine that I create a new mobile application. My system consists of frontend and backend service, communicate using the REST API. This is my system architecture. Architecture with single backend instance At the first time my product lunch to market, there are only a few users that use it. My backend service still can perform well to handle the request as expected. My customers happy because the application blazing fast. ...

August 30, 2019 Â· 4 min Â· Eko Simanjuntak

How I Live in Boarding School

I had been a boarding school student for seven years, start from senior high school until college. Here is something that I feel and what I got during living in a boarding school. I can meet my teachers easily Most of our teachers live near our campus. So is easy for me to reach them when I need something to help. They are also so open to students that what to meet them. Not only for discussing our class material, but they also open for other topics, like career, life, rules, and personal growth. ...

August 18, 2019 Â· 3 min Â· Eko Simanjuntak

Why We Need Idempotency Mechanism

Photo by Photos by Lanty on Unsplash Photo by Photos by Lanty on Unsplash Idempotency is a strategy that makes sure an event that executed multiple times will give the same result. For example, GET method on the HTTP request. If you calling the endpoint with GET method will give you the same result. But POST method is not idempotent because every time you call an endpoint with POST method will create a new record on the database (the database state changes). ...

August 11, 2019 Â· 3 min Â· Eko Simanjuntak

Why Automation is Matter

Photo by Franck V. on Unsplash Photo by Franck V. on Unsplash After four days I joined the Gojek Engineering Bootcamp, there is only one code that passed Non-Negotiable Etiquette (NNE). NNE is the rules that we should follow when coding our solution. We repeatedly doing silly mistakes, like forgot renaming project name on README.md, commit unuse autogenerated code, and others. Some of us take the initiative to make automation for it. We created scripts to generate the project template for us. Using the automation scripts that we created, we try to minimalize doing the repeated task that can lead us to break the rules. At the second and third day, we already start using the automation scripts. But it still not proper enough to cover all the repeated tasks, so we still breaking the NNE. After updating the automation script, we also breaking the NNE and we work to fix it. Until the fourth day, fortunately, one of us passed all the NNE. ...

August 9, 2019 Â· 2 min Â· Eko Simanjuntak

What I got After Quitting Instagram for A Year

Photo by Collins Lesulie on Unsplash Photo by Collins Lesulie on Unsplash Exactly one year ago . . . This story is about what I got, what I learned, and what I do while and after quitting Instagram for a year. I used Instagram start in 2015. I remember the first photo I uploaded is a sunset photo that I took on a train during my trip from Surabaya to Jakarta. After some photos that I posted, I begin to fill interested because I can share my trip, activity, feeling, opinion on every single photo that I posted. Gaining more followers make me feel more excited to post more photos. Beside it, I’m myself truly love photography. ...

January 15, 2019 Â· 5 min Â· Eko Simanjuntak

Creating Simple API Gateway using Node JS

Photo by Nikola Knezevic on Unsplash Photo by Nikola Knezevic on Unsplash On my previous post, I explained how a messaging system can help our system more scalable. Back on when we use microservices architecture, the main concept is separating each service. After separating the services, now we have multiple services that deployed on the different host. It means our client — frontend services like Web, Mobile, or CLI — should retrieve data from the different host. This situation will become harder for us when we had more services. We should remember each service’s host so we can retrieve the data. Here how the system will look like. ...

November 21, 2018 Â· 5 min Â· Eko Simanjuntak

Vue as Event Bus — Life is Happier

“photo of yellow bus park on parking lot” by Damian Carr on Unsplash yellow bus park on parking lot by Damian Carr on Unsplash On my previous article , I write how I implement a messaging system on microservices architecture and I used RabbitMQ as the message broker. The main concept of a messaging system is publish — subscribe pattern. On the simple word, in publish-subscribe pattern, there are services that publish message and there are others services subscribe to the message. The message can be an event, an object, or others type. ...

November 8, 2018 Â· 5 min Â· Eko Simanjuntak

Messaging System — Hands On!

Took from https://sub.watchmecode.net/guides/microservices-with-rabbitmq/ Took from https://sub.watchmecode.net/guides/microservices-with-rabbitmq/ One of the main concept of microservices is separating each service. To separate the services, we can apply Domain Driven Development concept, it means we need to separate the service by its domain. After separating the service by its domain, know we should make a communication mechanism between each service. So now I want to implement it. Previously I had created a monolith system. The main purpose of the system is user can upload feed and if there are some hashtags found on the feed’s caption, they should be stored to a database with the feed’s ID too. Based on the microservices concept, I should separate services on my system. The services that I can create is services to handle the feed and service to handle the hashtag. So, here problem statement ...

October 18, 2018 Â· 7 min Â· Eko Simanjuntak