Systems | Development | Analytics | API | Testing

Development

Updates from Bugfender Q1, 2020

Welcome to the spring Bugfender newsletter. Despite COVID-19 and thanks to being a remote company, we continue working on Bugfender to bring you new updates and features you can take advantage of. Bugfender is now hosted in twin datacenters. With a combination of High Availability and Master-Replica setups, we’re now able to process logs faster than ever and bring the service back up much faster in the unlikely event of datacenter-wide outages.

Happy Developers: Navigators of the data age

In the age of discovery, navigators changed the world. Their unique skills won them fame, riches, and glory, as well as the ears and support of kings and emperors. The rulers of old who knew the importance of investing in these skilled frontier men rewarded their nations with the longest and wealthiest golden ages they’d ever seen. Nowadays, in the age of data, developers are the new navigators.

The Citadel Architecture at AppSignal

DHH just coined the term “Citadel,” which finally gives us an excellent way to reference how we approach tech at AppSignal. We said, “Hey, this is us! Our thing has a name now”. In addition to the Majestic Monolith, someone should write up the pattern of The Citadel: A single Majestic Monolith captures the majority mass of the app, with a few auxiliary outpost apps for highly specialized and divergent needs.

Elixir GenServers: Overview and Tutorial

Elixir describes itself as "a dynamic, functional programming language designed for building scalable and maintainable applications." Although it's a relative newcomer, Elixir is built on top of the functional programming language Erlang. Elixir is capable of using any Erlang library, and is ideal for use cases such as web development and distributed and low-latency systems. The power, dynamism, and feature-rich toolset of Elixir have made it somewhat of a "cult classic" among programmers.

What Is SDLC? Understand the Software Development Life Cycle

The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes for creating high-quality software. in detail, the SDLC methodology focuses on the following phases of software development: This article will explain how SDLC works, dive deeper in each of the phases, and provide you with examples to get a better understanding of each phase.

Apache Kafka Example: How Rollbar Removed Technical Debt - Part 2

April 7th, 2020 • By Jon de Andrés Frías In the first part of our series of blog posts on how we remove technical debt using Apache Kafka at Rollbar, we covered some important topics such as: In the second part of the series, we’ll give an overview of how our Kafka consumer works, how we monitor it, and which deployment and release process we followed so we could replace an old system without any downtime.

What are the characteristics of a Mobile DevOps environment?

Shipping the right app with the right functionalities to the right customer, at the right time is how you boost your ranking in the app store. Some of the key steps in this process are: continuously releasing high-quality software, listening to feedback, and providing new features to users — before they even know that they want them. To achieve all of this, app developers need two main things: automation tools and a growth mindset.

What if it was a software bug/virus? Cyber vs. COVID-19: A thought experiment

The metaphor of software viruses to biological ones is deeply ingrained, easily seen in the fact that biological viruses are at least the namesake, if not the inspiration for computer viruses. Can we take this analogy and reapply it in reverse? Is it possible to learn more about how we can combat biological viruses, such as the raging COVID-19 epidemic, by leveraging concepts, mindsets, and ideas that evolved in the software engineering and cybersecurity worlds?