Kafka vs RedPanda Benchmark
Using default settings from their docker-compose example, today we're gonna benchmark one of popular MQ/PubSub software. I never used MQ extensively before (only NATS, Google PubSub, and ActiveMQ),...
View ArticleCoolest PaaS I've ever use: Jelastic
So, I'm looking an simplest deployment strategy for my next side project, I don't want to use Kubernetes since I'm all alone XD, learning Nomad, WayPoint, Swarm, and other popular tool to make it easy...
View ArticleStorage Service with CDN
There's a lot of S3-like service, but some of them doesn't have CDN-like feature, we have to manually cache them or use CDN manually. Today we're gonna compare each service either S3 or CDN storage in...
View ArticleString Associative Array and CombSort Benchmark 2021 Edition
Last year, we've done string associative benchmark and lesser string associative benchmark (measuring string concat operation and built-in associative array set and get), numeric comb sort benchmark...
View ArticleEasy minimal Ubuntu VM on any OS
Normally we use LXC/LXD, KVM, QEMU, Docker, Vagrant, VirtualBox, VMWare or any other virtualization and containerization software to spawn a VM-like instance locally. Today we're gonna try multipass, a...
View ArticleGetting started with Kubernetes
Since the containerization got more popular, kubernetes gained more traction than just single VM. In previous post I explained why or when you don't need kubernetes and when you'll need it. At least...
View ArticleC# vs Go in Simple Benchmark
Today we're gonna retry two of my few favorite language in associative array and comb sort benchmark (compile and run, not just runtime performance, because development waiting for compilation time...
View ArticleGetting started with Cassandra
Today we're gonna learn Cassandra (it's been 5 years since I last use ScyllaDB: C++ version of Cassandra), to install Cassandra, you can use this docker-compose:version: '3.3'services: testcassandra:...
View Article1 million Go goroutine vs C# task
Let's compare 1 million goroutines with 1 million tasks, which one more efficient in cpu usage and memory usage? The code is forked from kjpgit's techdemoName UserCPU SysCPU AvgRSS...
View ArticleMove docker Data Directory to Another Partition
My first NVMe (i hate this brand S*****P****), sometimes hangs periodically (marking the filesystem readonly) so 50-100% CPU usage and nothing more can be done. So I have to move some parts of it into...
View ArticleGetting started with Ansible
Ansible is one of the most popular server automation tool (other than Pulumi and Terraform), it's agentless and only need SSH access to run. It also can help you provision server or VM instances using...
View ArticleGeoreplicable Architecture Tech Stacks
Since I got a use case for geo-replicable (multiple datacenters around the world), I need to create metrics and billing and log aggregator that survives even when multiple datacenter is down. So we...
View ArticleAutomatic Load Balancer Registration/Deregistration with NATS or FabioLB
Today we're gonna test 2 alternative for automatic load balancing (previously I always use Caddy or NginX (because most of my projects is single server -- the bottleneck is always the database not the...
View ArticleStart/restart Golang or any other binary program automatically on boot/crash
There are some alternative to make program start on boot on Linux, the usual way is using:1. SystemD, it could ensure that dependency started before your service, also could limit your CPU/RAM usage....
View ArticleGetting started with Kubernetes
Since the containerization got more popular, kubernetes gained more traction than using just one VM for deployment. In previous post I explained why or when you don't need kubernetes and when you'll...
View ArticleGetting started with Trino
Trino is a distributed query engine, that allows you to JOIN from multiple datasources (databases like mysql, postgresql, bigquery, cassandra, mongodb, redis, prometheus, elasticsearch, csv file,...
View ArticleHow to structure/layer your Golang Project (or whatever language you are using)
I've been maintaing a lot of other people's project, and see that most people blindly following a framework's structure without purpose. So I write this so that people can be convinced how to write a...
View ArticleGetting started with SaltStack Configration Management
SaltStack is one of the least popular Automation and Configuration Management tool, similar to Ansible, Chef, and Puppet (also stuff that not a CM, it's IaC tool but if you are skilled enough can be...
View ArticleHow to profile your Golang Fiber server
Usually you need to load test your webserver to measure where's the memory leak or where's the bottleneck, and Golang already provided tool to do that, called pprof. What you need to do is depends on...
View ArticleTechempower Framework Benchmark Round 21
The result for Techempower framework benchmark round 21 is out, as usual the most important benchmark is the update and multi query benchmark:The top rankers are Rust, JS (cheating), Java, C++, C#,...
View Article