Systems | Development | Analytics | API | Testing

%term

API design: Understanding gRPC, OpenAPI and REST and when to use them

As most software developers no doubt know, there are two primary models for API design: RPC and REST. Regardless of model, most modern APIs are implemented by mapping them in one way or another to the same HTTP protocol. It has also become common for RPC API designs to adopt one or two ideas from HTTP while staying within the RPC model, which has increased the range of choices that an API designer faces. This post tries to explain the choices, and give guidance on how to choose between them.

Ride Down Into JavaScript Dependency Hell

Every JavaScript project starts ambitiously, trying not to use too many NPM packages along the way. Even with a lot of effort on our side, packages eventually start piling up. package.json gets more lines over time, and package-lock.json makes pull requests look scary with the number of additions or deletions when dependencies are added. “This is fine” — the team lead says, as other team members nod in agreement. What else are you supposed to do?

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.

Operational Database Administration

This blog post is part of a series on Cloudera’s Operational Database (OpDB) in CDP. Each post goes into more details about new features and capabilities. Start from the beginning of the series with, Operational Database in CDP. This blog post gives you an overview of the operational database (OpDB) administration tools and features in the Cloudera Data Platform.

Benchmarking NiFi Performance and Scalability

Ever wonder how fast Apache NiFi is? Ever wonder how well NiFi scales? When a customer is looking to use NiFi in a production environment, these are usually among the first questions asked. They want to know how much hardware they will need, and whether or not NiFi can accommodate their data rates. This isn’t surprising. Today’s world consists of ever-increasing data volumes. Users need tools that make it easy to handle these data rates.

OctoPerf 11.7 - Pacing, Monitoring, Dynatrace and More

This new release of OctoPerf brings a lot of long awaited features. This is all based on your feedback, so make sure to let us know what you would like to see in OctoPerf next! Of course we have a few plans of our own for the future, but I strongly believe that a good software can only result from a good collaboration between users and developers.

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.