background preloader

Architecture

Facebook Twitter

Backstage Blog - Roshi: a CRDT system for timestamped events - SoundCloud Developers. Let's talk about the stream.

Backstage Blog - Roshi: a CRDT system for timestamped events - SoundCloud Developers

The SoundCloud stream represents stuff that's relevant to you primarily via your social graph, arranged in time order, newest-first. The atom of that data model, an event, is a simple enough thing. How imgix Built A Stack To Serve 100,000 Images Per Second. By Kelly Sutton, ‎Chief Product Officer at Imgix.

How imgix Built A Stack To Serve 100,000 Images Per Second

What We Do With over 60% of the average webpage’s weight being image content, serving the best image in the smallest payload is an increasingly critical concern for both businesses and developers. Every additional second of load time for a page will increase its bounce rate by 7%, according to KISSMetrics. Imagine losing 7% of the revenue from an e-commerce website simply because the images were suboptimal! Imgix is a real-time image processing and delivery service that works with your existing images. Individual customers have been able to eliminate millions of images from storage and generate an infinite number of derivative images on the fly.

High Scalability - Update: Instagram Improved Their App's Performance.

High Scalability -

Here's How. When you find your mobile application that ran fine in the US is slow in other countries, how do you fix it? That’s a problem Facebook talks about in a couple of enlightening videos from the @scale conference. Turning the database inside-out with Apache Samza. This is an edited and expanded transcript of a talk I gave at Strange Loop 2014.

Turning the database inside-out with Apache Samza

The video recording (embedded below) has been watched over 8,000 times. For those of you who prefer reading, I thought it would be worth writing down the talk. Databases are global, shared, mutable state. Rules - Auth0 Docs. Rules are code snippets written in JavaScript that are executed as part of the authentication pipeline in Auth0.

Rules - Auth0 Docs

This happens every time a user authenticates to an application. Rules enable very powerful customizations and extensions to be easily added to Auth0. An App initiates an authentication request to Auth0 (Step 1), Auth0 routes the request to an Identity Provider through a configured connection (Step 2). Starbucks Does Not Use Two-Phase Commit - Enterprise Integration Patterns. BoundedContext. Team organization · requirements analysis · application integration · domain driven design tags: Bounded Context is a central pattern in Domain-Driven Design.

BoundedContext

It is the focus of DDD's strategic design section which is all about dealing with large models and teams. DDD deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. DDD is about designing software based on models of the underlying domain. As you try to model a larger domain, it gets progressively harder to build a single unified model. Microservices. "Microservices" - yet another new term on the crowded streets of software architecture.

Microservices

How many formats do I need for HTML5 video? « Zencoder Cloud Encoding Blog. EDIT: We’ve posted an updated guide on HTML5 video formats.

How many formats do I need for HTML5 video? « Zencoder Cloud Encoding Blog

Go check it out! The <video> tag in HTML5 is a great thing. It enables native video playback in all current browsers, rather than relying on a plugin like Flash. The Engine Room - TrackMaven. TrackMaven has begun hosting a Monthly Challenge meetup!

The Engine Room - TrackMaven

Each month, we will name a general topic, a new technology, or something in between. We'll collect a few resources and examples to get everyone started (hence this post), then we'll meet up in a month to share short presentations on everyone's new projects. Our first topic is Elasticsearch, an incredibly powerful search and analytics engine. Go here for a high level, buzzword-heavy overview, or just jump into the documentation if you're feeling bold. Built on top of Lucene, Elasticsearch is most frequently used to add full text search functionality; it comes out of the box with a rich query language that supports fuzzy matching and advanced parsing patterns.

Как Docker помог нам достичь (почти) невозможного / Хабрахабр. Implementing Blue-Green Deployments with AWS. An important technique for reducing the risk of deployments is known as Blue-Green Deployments.

Implementing Blue-Green Deployments with AWS

If we call the current live production environment “blue”, the technique consists of bringing up a parallel “green” environment with the new version of the software and once everything is tested and ready to go live, you simply switch all user traffic to the “green” environment, leaving the “blue” environment idle. SOA Series Part 3: Documenting and Generating your APIs - LivingSocial's Technology Blog. Demos using AWS with Node.JS and an AngularJS frontend - RecursiveRobot. I recently decided to build some reusable code for a bunch of projects that I’ve got queued up. I wanted some backend components that leveraged a few of the highly scalable Amazon AWS services. The Four Architectures that will inspire your programming. This is the Big 4. The architectures, that may help your work. They may influence the way you think about programming. 1. The Hexagonal Architecture (also known as the Ports and Adapters)

The DCI Architecture: A New Vision of Object-Oriented Programming. The DCI Architecture: A New Vision of Object-Oriented Programmingby Trygve Reenskaug and James O. CoplienMarch 20, 2009 Summary Object-oriented programming was supposed to unify the perspectives of the programmer and the end user in computer code: a boon both to usability and program comprehension. While objects capture structure well, they fail to capture system action.

The Clean Architecture. Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. Hexagonal architecture. Create your application to work without either a UI or a database so you can run automated regression-tests against the application, work when the database becomes unavailable, and link applications together without any user involvement.