As we mentioned in some previous posts, Dwarves Tech Radar is the gathered output of our latest tech researches for team adoption. Coming back this week with Quang, our DevOps Engineer, we're glad to announce the brand new adoption for efficient project setup: Upptime and Earthly.
Quang: Alright then, let's start with Upptime. Acts as a service monitor, Upptime helps track our servers' current status, notify engineers on the live status and its response time. We get to aware if the service is down and how to improve in no time. Upptime also logs the server's downtime incident, allowing us to assign the people in charge and resolve the issue. The repo is hosted in Github and forked from the Upptime repo. Everything is checked and updated on this repo as well. To sum up, Upptime ensures engineers can stay up to date with the server status and notifies through different channels, such as Slack, Telegram or Discord.
One of the outstanding points I found at Upptime is the easy configuration it provides. The adjustment can be made on the Upptime file, pushed on its repo, and that's it. It also enables us to custom the information to align with our website, design the theme and personalize the experience. Thanks to this benefit, I've made the call to adopt and weaved Upptime in our upcoming projects.
Han: Deployment and maintenance are parts of the development process. There are many ways to monitor the server. Timing is the key. Reduce the downtime and resolve it as quickly as possible is a priority since a down server may cause many roadblocks. Understanding the root causes and providing real-time status is how Upptime supports the back-end system in controlling the development quality or product management.
Quang: I guess it's safe to move on to Earthly. This tool is more related if you work as a DevOps. It generates CI testing in your local environment. Earthly catches everything when you run CI. Even when you edit along the way, the process continues without getting interrupted. It helps the testing and debugging phase happen easier. If you're familiar with Dockerfile, setting up Earthfile shouldn't be a problem.
Han: Developers will come up with more than one part during the development process. These parts will need to be combined into a complete built-version. CI server is a service where they give us the system to push source code and test. It collects the code output from developers and combines it into one. DevOps need to write their script to pull the source code, run some command lines for integration, and push them on the testing environment. If there is an error, they might need to do the steps all over again. With Earthly, the testing process happens in the local environment. DevOps get to finalize the CI setup on the local environment, configuring them once and for all before pushing the code onto the staging environment.
Quang: Exactly. One more thing to note is every CI setup requires a different script. Earthfile works this out by conducting a template. DevOps only need to type in the CLI. The unit test will run based on that defined script without any rework on scriptwriting. Adopting Earthly saves more time during project setup, as it removes the repeatable debugging since everything is controlled locally.
This part gets raised as a side note since the team is moving closer to media coverage. On the Internet, everything starts with an ID. It's the unique initial for people to know who we are without mistaken identity. Being aligned in naming convention also helps build a consistent, neat and clean profile, no matter if we're using it for job application or personal branding.
- Upptime: Real-time tracking tool for server status
- Earthly: Shorten CI config time with local testing
- Profile Convention: Stay consistent in naming helps cement a memorable profile no matter where you're at
Subscribe for “The Next Bytes” where Han & the crew draft up our observation in the industry.