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. ...
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. ...
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. ...
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. ...
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). ...
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. ...
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. ...
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. ...
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. ...
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 ...