SoundCloud Backstage Blog Using Kubernetes Pod Metadata to Improve Zipkin Traces <p>We revisited our distributed tracing setup and incorporated Kubernetes pod metadata into it, significantly enhancing our engineers’ ability to troubleshoot problems that cut across microservices. <a href="/blog/using-kubernetes-pod-metadata-to-improve-zipkin-traces" class="readmore">Read more...</a></p> Tue, 18 Sep 2018 00:00:00 +0000 How SoundCloud uses HAProxy with Kubernetes for user-facing traffic <p>A little under two years ago, SoundCloud began the journey of replacing our home-grown deployment platform, <a href="">Bazooka</a>, with <a href="">Kubernetes</a>. Kubernetes automates deployment, scaling, and management of containerized applications.</p> <p><a href="/blog/how-soundcloud-uses-haproxy-with-kubernetes-for-user-facing-traffic" class="readmore">Read more...</a></p> Thu, 07 Dec 2017 00:00:00 +0000 Inside a SoundCloud Microservice <p>If you&#39;re a regular visitor to this blog, you might be aware that we have been transitioning to a microservices based architecture over the past four to five years, as we have shared insights into the process and the related challenges [on][1] [multiple][2] [occasions][3]. To recap, adopting a microservices architecture has allowed us to regain team autonomy by breaking up our monolithic backend into dozens of decoupled services, each encapsulating a well defined portion of our product domain. Every service is built and deployed individually, communicating with other services over the network via light-weight data interchange formats such as JSON or Thrift. What we haven&#39;t touched on so far is how a microservice at SoundCloud looks backstage.</p> <p><a href="/blog/inside-a-soundcloud-microservice" class="readmore">Read more...</a></p> Fri, 28 Jul 2017 00:00:00 +0000 Lessons in resilience at SoundCloud <p>Building and operating services distributed across a network is hard. Failures are inevitable. The way forward is having resiliency as a key part of design decisions.</p> <p>This post talks about two key aspects of resiliency when doing RPC at scale - the circuit breaker pattern, and its power combined with client-side load balancing.</p> <p><a href="/blog/lessons-in-resilience-at-SoundCloud" class="readmore">Read more...</a></p> Wed, 07 Dec 2016 00:00:00 +0000 Microservices and the monolith <p><a href="">In a previous series of blog posts</a>, we covered our decision to move away from a monolithic architecture, replacing it with microservices, interacting synchronously with each other over HTTP, and asynchronously using events. In this post, we review our progress toward this goal, and talk about the conditions and strategy required to decommission our monolith.</p> <p><a href="/blog/microservices-and-the-monolith" class="readmore">Read more...</a></p> Fri, 26 Aug 2016 00:00:00 +0000