Docker Containers on the Desktop

Read more →

If Your Boss Could Do Your Job, You’re More Likely to Be Happy at Work

Read more →

Kubernetes-hosted application checklist (part 1)

At work, we’ve been running Kubernetes (k8s) in production for almost 1 year. During this time, I’ve learnt a few best practices for designing and deploying an application hosted on k8s. I thought I might share it today and hopefully it will be useful to newbie like me. Liveness and readiness probes # Liveness probe: check whether your app is running Readiness probe: check whether your app is ready to accept incoming request Liveness probe is only check after the readiness probe passes.
Read more →

Kubernetes-hosted application checklist (part 2)

This part is about how to define constraint to the scheduler on where/how you want your app container to be deployed on the k8s cluster. Node selector # Simpleast form of constraint for pod placement. You attach labels to nodes and you specify nodeSelector in your pod configuration. When to use # you want to deploy redis instance to memory-optimized (R3, R4) instance group for example. Affinity and anti-affinity # Affinity and anti-affinity is like nodeSelector but much more advanced, with more type of constraints you can apply to the default scheduler.
Read more →

Minimal Node.js docker container

Bitnami recently releases a prod version of their bitnami-docker-node with much smaller size due to stripping a bunch of unncessary stuff for runtime. If your app does not require compiling native modules, you can use it as is. No changes required. However, if you do need to compile native modules, you can still use their development image as builder and copy stuff over to prod image after. I try with one of my app and the final image size reduce from 333 MB down to just 56 MB 💪 !
Read more →

Non-privileged containers FTW

Read more →

Recent Node.js TSC fuss

Read more →

node-pre-gyp and CI

Read more →

tldr

A better man page. This is insanely useful 👍 tar Archiving utility. Often combined with a compression method, such as gzip or bzip. - Create an archive from files: tar cf target.tar file1 file2 file3 - Create a gzipped archive: tar czf target.tar.gz file1 file2 file3 - Extract an archive in a target folder: tar xf source.tar -C folder - Extract a gzipped archive in the current directory: tar xzf source.
Read more →

Getting started with WebAssembly

WebAssembly Binary Toolkit - Easiest way to setup WebAssembly binary toolkit. Or if you prefer to manually install it. wat2js - Compile WebAssembly .wat files to a common js module WebAssembly spec - WebAssembly Specification Some examples modules siphash24 - SipHash (2-4) implemented in pure Javascript and WebAssembly. blake2b - Blake2b implemented in WASM xsalsa20 - XSalsa20 implemented in Javascript and WebAssembly
Read more →