Get Inside Unbounce

Subscribe

All posts by David Dossot

Transitioning to Software Development

One of Unbounce’s core values is courage. We want this value to be manifested across the board, including in how our teams evolve. Very often, companies are stuck in an organizational status quo for fear of what could happen if people would start moving between teams or, even scarier, between roles. But not us! We’re convinced that if you’re awesome in one place, there’s a great chance you’ll be awesome Read More...

Our curvy road to Clojure

The Clojure language is spreading like wildfire at Unbounce. We just had three people attending Clojure West and being indoctrinated with the latest and greatest news about this language and its ecosystem. So we’re very serious about it! But this commitment didn’t happen overnight: it took us a while and some experiments (at times painful) to come to the conclusion that Clojure was the right tool for us.

Breakable Monoliths and the Law of Demeter

Keyboards are on fire: you’re cranking code for your new and awesome technology start-up. Nothing can stop you, not even this arbitrary limitation of 24 hours per day: your MVP is coming hot and heavy. You know exactly what you want to build, you even have your toolbox of choice handy, but there’s still a nagging doubt: should you build your MVP as a monolith or a set of distributed Read More...

Look ma, no internets! Yopa!

If you’ve been following this blog, you’ve heard about our ongoing efforts to break our monolithic Rails application into smaller, more manageable pieces. You’ve also heard about our efforts around a better usage of the messaging features of the Amazon Web Services (AWS) cloud platform. These efforts are obviously linked: evolving towards an event-driven message-passing share-nothing architecture is our goal and we’re hard at work to make it happen. Why Read More...

Recipe for a Perfect Storm

TL&DR; Last Friday, the response time for serving pages to Europe-based visitors climbed to unacceptable levels (15 seconds per page or even more), forcing us to temporarily redirect all European traffic to our page serving infrastructure in the US East Coast. A combination of elevated response time from S3 and illegitimate traffic hitting our pages made an implementation weakness in our page server surface and, eventually, lead to this perfect Read More...

Shed that load or bust!

In September 2013, the Reactive Manifesto was published and, quickly, software developers around the world started to add their signatures to endorse it. Unsurprisingly we all want to build better software, that is applications that behave gracefully when things are normal and also when the fan gets hit. The four main principles listed in the manifesto (represented in the diagram below) are not new but they are conveniently bound together Read More...

Jam-packed week of Developer Events in Vancouver

This is a pretty exciting week to be a software developer in Vancouver: meet-ups and conferences are blooming! It is a great time for stuffing your brain and learn or rediscover the principles of good software design and architecture. Whatever language or platform you’re using, the same constraints apply (like the speed of light!) thus the best practices apply too. As an appetizer for this week of software madness, we’ve Read More...

Dependable Dependencies Versus the House of Cards

At Unbounce we love open source technologies. We build our awesome stuff on them and we contribute back as well. Knowing that a typical open source library itself depends on a bunch of other libraries, our applications end up being built on trees of dependencies. This could be a daunting thought: how can we build confidence that this doesn’t turn into a house of cards? I’m going to detail our Read More...

Growing our AWS Messaging Patterns

At Unbounce, we’re on a constant quest for improving our infrastructure in order to deliver the best service possible to our users. Our goal is to achieve four to five nines availability for our services, while planning for an order of magnitude more traffic. What is perceived externally as a set of services (page builder, page server…) is composed internally of a set of applications that interact with each other. Read More...