We recently implemented Thanos alongside Prometheus into our Kubernetes clusters, we had previously used a variety of different metrics systems and we wanted to make life simpler for everyone by just picking one.
Prometheus seemed like an obvious choice due to its powerful querying language, native Kubernetes support and great community. However we found it somewhat lacking when it came to being highly available, something that would be very important if we wanted this to be the single source of all our metrics.
Thanos came along and solved a lot of these problems. It allowed us to run multiple Prometheis without duplicating metrics, query multiple Prometheus clusters at once, and easily back up data and then query it. Now we have a single place to go if you want to view metrics across all our clusters, with many layers of redundancy to make sure this monitoring solution is as reliable and resilient as we could reasonably make it.
If you're interested in a bit more detail feel free to check out the blog I wrote on the subject that's linked.
We used CircleCI in conjunction with GitHub to achieve an integrated version control system continuous integration setup. CircleCI automatically runs our builds in a clean Docker container or virtual machine on every commit allowing us to stay on stop of any regressions as they arise. Additionally the notification system keeps our team up to date when issues do arise so we can get them fixed quickly. It even integrates with Slack to further reduce the friction in staying up to date with the status of our builds. With the automated deployment system once a build passes we can have it automatically deployed to our production environment so we can make sure our users always have the latest and greatest features.
We primarily use MariaDB but use PostgreSQL as a part of GitLab , Sentry and @Nextcloud , which (initially) forced us to use it anyways. While this isn't much of a decision – because we didn't have one (ha ha) – we learned to love the perks and advantages of PostgreSQL anyways. PostgreSQLs extension system makes it even more flexible than a lot of the other SQL-based DBs (that only offer stored procedures) and the additional JOIN options, the enhanced role management and the different authentication options came in really handy, when doing manual maintenance on the databases.
Earlier this year, I migrated my personal website (dzello.com) from Jekyll to Hugo. My goal with the migration was to make the development environment as pleasant as possible and to make it really easy to add new types of content. For example, I knew I wanted to add a consulting page and some portfolio-style pages to show off talks I had given and projects I had worked on.
I had heard about how fast Hugo was, so I tried it out with my content after using a simple migration tool. The results were impressive - the startup and rebuild times were in milliseconds, making the process of iterating on content or design less cumbersome. Then I started to see how I could use Hugo to create new page types and was very impressed by the flexibility of the content model. It took me a few days to really understand where content should go with Hugo, but then I felt very confident that I could create many different types of pages - even multiple blogs if I wanted - using a consistent syntax and with full control of the layouts and the URLs.
After about 6 months, I've been very happy with the results of the migration. The dev environment is light and fast and I feel at ease adding new pages and sections to the site.
I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.
It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.
Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (
LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.
.properties, XML and JSON files.
Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.
Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.
Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)