A closer look at Percona Server 5.6

General performance improvements MySQL 5.6 by itself comes with a great list of performance fixes, however what we discovered that their focus was on small datasets that fit into memory. In other words, mostly on CPU-bound workloads. In our research we found that in IO-bound cases there is still room for improvement so we took action:… Read More »

AppLovin: Marketing To Mobile Consumers Worldwide By Processing 30 Billion Requests A Day

AppLovin’s marketing platform provides marketing automation and analytics for brands who want to reach their consumers on mobile. The platform enables brands to use real-time data signals to make effective marketing decisions across one billion mobile consumers worldwide. Core Stats 30 Billion ad requests per day 300,000 ad requests per second, peaking at 500,000 ad… Read More »

10 Reasons To Consider A Multi-Model Database

The proliferation of NoSQL databases is a response to the needs of modern applications. Still, not all data can be shoehorned into a particular NoSQL model, which is why so many different database options exist in the market. As a result, organizations are now facing serious database bloat within their infrastructure. But a new class… Read More »

The Architecture Of Algolia’s Distributed Search Network

Algolia started in 2012 as an offline search engine SDK for mobile. At this time we had no idea that within two years we would have built a worldwide distributed search network. Today Algolia serves more than 2 billion user generated queries per month from 12 regions worldwide, our average server response time is 6.7ms… Read More »

Microservices Architecture

Context You are developing a server-side enterprise application. It must support a variety of different clients including desktop browsers, mobile browsers and native mobile applications. The application might also expose an API for 3rd parties to consume. It might also integrate with other applications via either web services or a message broker. The application handles… Read More »

Micro-service architecture: API Gateway

Context Let’s imagine you building an online store that uses the Microservices pattern and that you are implementing the product details page. You need to develop multiple versions of the product details user interface: HTML5/JavaScript-based UI for desktop and mobile browsers – HTML is generated by a server-side web application Native Android and iPhone clients… Read More »

Kubernetes – Docker orchestration system

An interesting tool that allows you to run containers on different cloud providers. Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of “labels” and “pods”, it groups… Read More »

Defining DevOps

Over the last few years, I’ve spent quite a bit of time learning and discussing DevOps, as well as putting into practice DevOps principles and values. I’ve read several  articles that provide detailed descriptions of what DevOps is, and what DevOps is not. Most of these talk about moving development and operations teams closer together, the cultural changes involved,… Read More »

REST Is Not Only About APIs

Most articles on REST seem to focus only on APIs. This view misses several key benefits of a RESTful system.  The true potential of REST is to build systems as scalable, distributed, resilient, and composable as the Web. Yes, APIs play a role in this but by themselves are not enough. In this two-part post,… Read More »

Infrastructure optimization use case

Here’s the setup. A smallish website was having problems. Users were unhappy. In the balance was not only the product, but the company. The site was built using Angular, Symfony2, Postgres, Redis, Centos, 8 HP blades with 128 G RAM each, two racks, a very large HP 3par storage array, a 1Gbps uplink, and VMWare.… Read More »