6 Things Startups Can Do to Avoid Tech Debt

Imagine walking into this: "About 4 million lines of PHP code, written by underpaid, sometimes not well-meaning, freelancers and students over the span of 8 years. The CEO wrote a large part, but stopped learning new techniques around 2004."

That's how bad tech debt can get when a startup is run without considering that all of those messy shortcuts will eventually have to get cleaned up.

Live Betting on ACID: Challenges of Building a Next-Gen Gambling App

Imagine you're watching a baseball game. In the middle of the fifth inning, your pitcher throws a strike and then another one. The fan sitting next to you jumps to his feet in a jubilant celebration.

You could be forgiven for wondering what's going on. After all, it takes three strikes to get a batter out — why is this guy dancing like the game is already over?

What Is a UUID and Why Should You Care?

When working with a database, it's common practice to use some kind of id field to provide a unique identifier for each row in a table.

Imagine, for example, a customers table. We wouldn't want to use fields such as name or address as unique identifiers, for example, because it's possible more than one customer could have the same name, or share the same address.

Message Queuing and the Database: Solving the Dual Write Problem

Developing a modern application means developing for the cloud, with uptime, scalability, geographic distribution, and low latency at the forefront of concerns. This has led to the widespread adoption of application architectures based on event-driven microservices. Breaking the elements of an application down into microservices allows us to (for example) scale different services independently. It is simply the most efficient way to architect applications for the cloud.

However, embracing event-driven microservices also presents some challenges. With so many different services in motion at the same time, communication between them can become a challenge.

What Is Database Contention, and Why Should You Care?

Dealing with slow database performance? One potential cause of this problem is database contention.

Even if you’re not struggling with a slow database right now, database contention is important to understand. The contention monster often doesn’t rear its ugly head until an application has reached significant scale. It’s best to be prepared, so in this article, we’re going to look at both how to avoid contention issues and how to diagnose and resolve them when they do arise.

What Is Connection Pooling, and Why Should You Care?

As a developer, you may not have spent a lot of time thinking about database connections. A single database connection is not expensive, but as things scale up, problems can emerge. So let's (ahem) dive into the world of connection pooling, and take a look at how it can help us build more performant applications, especially when we're operating at scale.

A Typical Database Connection

Before we get into pooling, let's quickly review what happens when your application connects to the database to perform a database operation: