Showing posts from March, 2016

Telemetry and Microservices part1

Telemetry is a key component in a Microservices architecture solution. If you solution is a monolith or an old fashioned SOA you still need to have some level of telemetry.

There are many companies out there using Nagios and Zabbix. These tools are not the new kids on the block anymore. They were born into a monolith and bare-metal world.

Currently, we live in a Cloud Native, Microservice Oriented world. This is a bigger trend them you might think. Gartner predicts by 2020 companies will be doing more algorithms on they own.  Consider we are transitioning from a centralized architecture with a monolith UI, monolith service and monolith database to a distributed-* we need scale and work with different approaches for telemetry.

Grafana the Dashboard Builder

Grafana is an open source graph and dashboard builder. It provides powerful and elegant dashboards for operations. Grafana has several integrations such as ElasticSearch, AWS CloudWatch, InfluxDB, Graphite and much more. Grafana is an alternative to Elastic Kibana.  There is a Live demo here you check it out.

The UI sometimes is a little bit buggy but the solution is amazing and it works. You can share dashboards with your time with no trouble. Grafana also supports some data stores like InfluxDB, KairosDB and ElasticSearch.

API management with Kong

Kong is an API Management solution.  These kind of solutions are very popular currently but I remember back in 2010 have to work in projects that had required develop in-house.  API Managers are not a brand new concept they have some functions like ESBs. I'm not saying you should use an ESB :-).

Kong is built on the top of NGINX. No matter if you are a developer or operations it's possible to use king with a REST API. Another interesting feature is the plugin support.

Using Ruby properly in Linux with RVM

RVM is a virtual env manager in ruby. This kind of solution is very common currently. In Python and Go we have similar solutions for instance. This is needed because sometimes libraries have different version and conflicts and this makes the process way easier to deal with.

Today as you go down to the isolation and container era you tend to have better separation between development, test and production envs  but even with that is easier to manage dependencies using this kind of systems.

For this blog post i will show how to download, install and configure rvm and install a ruby version on it for Ubuntu Linux.