Computing On The Edge - 202322

Here On The Ground

Discussion about the Cloud has been interesting in the last couple of years, because it has meant to be able to deal with technologies economically out of reach for most of us taken individually.

You typically cannot afford a cluster of physical machines just to try and write down some distributed version of an hello world.

With the so-called Cloud, that is what most of us has been doing recently: just start up a bunch of services, tinker a bit with them, throw them away when you are done.

It is a huge opportunity that simply wasn't there about a decade ago.

This should have been a good boost for innovation, once you find that your experiment is valuable, you take it to production.

Apart that the same model that was so convenient for experimenting can cost you now 10 times more than self-hosting.

Of course, you don't have all the bell and whistles, but when it comes to publishing a service, all you should care about is keeping tabs on operational costs, being able to iterate on the product itself, and eliminate single points of failure, so that you can sleep at night.

All the cloud cool factor stops there: in the end is all just a bunch of Linux machines that should be by now pretty well understood, expecially if you are in the business of implementing new products, and even if you decide to buy in the Cloud 'ready-made services', it's not so fun to be locked-in, and you should always have the mind that you might need to migrate one day if something happens.

If some policy changes, if some pricing change, you don't want to get stuck.

Data Intensive Applications

GraphQL vs. gRPC vs. REST: Choosing the right API

The Way To Go

How to include Git version information in Go

Implementing a distributed key-value store on top of implementing Raft in Go

Self Hosting

Building a Personal VoIP System

[golang] [api] [linux] [git]