Lee@Scale

Articles providing techniques, guidance, and best practices for how to build web applications that scale to significant traffic volumes.

Using Hybrid Clouds: Adding Data Center Capacity - Part 2

Apr 21, 2016

As hybrid clouds become more and more common in enterprise IT settings, a number of different use cases and journeys are beginning to become apparent. In part 1 of this series on how enterprise IT is using the hybrid cloud, we looked at how the hybrid cloud can be a faster and more economical way to add new data center or server capacity—or even an entire new or better data center.


Using Hybrid Clouds: Adding Data Center Capacity - Part 1

Apr 21, 2016

The term “hybrid cloud” has found its way into common usage among IT operations folk, but not everyone agrees on exactly what it means. Basically, a hybrid cloud refers to any situation in which you have an application running partially in your company’s data center, and partially in one or more public clouds, such as AWS, Microsoft Azure, or Google Cloud Platform.


Change and the Cloud

Apr 14, 2016

How has the cloud changed how we think and build applications? The changes to how we build applications are foundational, and the cloud has caused a complete rethink in how we architect our applications.


Cloudy with a Chance of Scaling: Keeping Your Highly Scaled Application Highly Available Using the Cloud

Mar 30, 2016

As our applications grow, keeping them operational can be challenging. High growth means more data, more computation, and more opportunities for problems. The cloud offers us the ability to improve our scalability, while maintaining and improving our availability. During this talk, we’ll show you the “keep two mistakes high” principal and use the cloud to prevent availability issues, keeping our applications healthy and growing, yet keeping costs inline.


Distributing the Cloud - AWS Architecture - Part 3

Mar 4, 2016

We all know the value of distributing an application across multiple data centers. The same philosophy applies to the cloud. As we put our applications into the cloud we need to watch where in the cloud they are located. How geographically and network topologically distributed our applications are is just as important as with normal data centers. While Amazon AWS won’t tell you specifically where your application is running, they do give you enough information to make diversification decisions. Interpreting and understanding this information, and using it to your advantage, requires an understanding of how AWS is architected. In part 1 of this article, we talked about the AWS Architecture of regions and availability zones. In part 2, we went into more detail about how availability zones are structured, and how we can utilize this information. In this final part, we discuss the availability zone to data center mapping, why it is important, and how to use all this information to make sure you have the highest diversification as possible for your application.


Distributing the Cloud - AWS Architecture - Part 2

Mar 3, 2016

We all know the value of distributing an application across multiple data centers. The same philosophy applies to the cloud. As we put our applications into the cloud we need to watch where in the cloud they are located. How geographically and network topologically distributed our applications are is just as important as with normal data centers. While Amazon AWS won’t tell you specifically where your application is running, they do give you enough information to make diversification decisions. Interpreting and understanding this information, and using it to your advantage, requires an understanding of how AWS is architected. In part 1 of this article, we talked about the AWS Architecture of regions and availability zones. In part 2, we will go into more detail about how availability zones are structured, and how we can utilize this information.


Distributing the Cloud - AWS Architecture - Part 1

Mar 3, 2016

We all know the value of distributing an application across multiple data centers. The same philosophy applies to the cloud. As we put our applications into the cloud we need to watch where in the cloud they are located. How geographically and network topologically distributed our applications are is just as important as with normal data centers. However, the cloud makes knowing where your application is located harder. The cloud also makes it harder to proactively make your application more distributed. Some cloud providers don’t even expose enough information to let you know where, geographically, your application is running. Luckily, larger providers like AWS are better. No, AWS won't tell you specifically where, geographically, your application is running, since they do not disclose their actual data center locations (I worked at AWS, and I have no idea, specifically, where the data centers are located). While they won’t tell you specifically where your application is running, they do give you enough information to make diversification decisions. Interpreting and understanding this information, and using it to your advantage, requires an understanding of how AWS is architected.


Monitoring the Cloud at the COUP

Feb 25, 2016

Are you a CEO, CTO, COO, VP, or Director of a company that utilizes or wants to utilize the cloud? Come to the COUP: Embrace Change, Recognize New Opportunities & Capitalize in Miami, FL, and see me speak on Monitoring the Cloud.


Fly Two Mistakes High - Keeping High Availability in the Cloud

Feb 12, 2016

Join me at Cloud Expo 2016 at the Javits Center in New York, NY on June 7-9, 2016, where I will be speaking on keeping high availability in the Cloud.


Microservice Architectures

Feb 9, 2016

Take a look at the article Microservice Architectures: What They Are and Why You Should Use Them>, written by me and published by New Relic.


Talking Microservices and DevOps with Tung Nguyen and Lee Atchison

Jan 29, 2016

It’s an increasingly common scenario: As a company grows, it finds that it needs to move away from the monolithic software architecture that powered its initial success. The alternative? A microservices approach that provides more speed and flexibility. That’s the story told by both our guests on the latest episode of The New Stack @ Scale Podcast: Tung Nguyen, vice-president of engineering at Bleacher Report, and our own Lee Atchison, principal cloud architect & advocate at New Relic. Listen to it on New Relic’s Blog.


Architecting for Scale - Updated Early Release Available

Jan 28, 2016

An updated copy of my book, Architecting for Scale, published by O’Reilly Media, is available for download. This is the second version under the early release program. The full book is scheduled to be released in May.


Scaling with Availability

Jan 14, 2016

One of the most important topics in architecting for scalable systems is availability. While there are some companies and some services where a certain amount of downtime is reasonable and expected, most businesses cannot have any downtime at all without it impacting their customer’s satisfaction, and ultimately their company’s bottom line. How do you keep your customers happily using your service and keep your company’s revenue coming in? You keep your service operational as much as possible. There is a direct and meaningful correlation between system availability, and customer satisfaction.


Why Use Microservices?

Jan 6, 2016

Traditionally, software companies created large, monolithic applications. The single monolith encompasses all business activities for a single application. As the company grew, so did the monolith. In this model, implementing an improved piece of business functionality requires developers to make changes within the single application, often with many other developers attempting to make changes to the same single application. Developers can easily step on each other’s toes and make conflicting changes that result in problems and outages. Development organizations get stuck in the muck, and applications slow down and become unreliable. The companies, as a result, end up losing customers and money. The muck is not inevitable, you can build and rearchitect your application to scale with your company, not against it.


Welcome!

Dec 29, 2015

Scaling web applications isn’t easy. As web applications grow, two things begin to happen. First, they become significantly more complicated and hence brittle. Second, they handle significantly larger traffic volume requiring more novel and complicated mechanisms to handle this traffic. This can lead to a death spiral for an application that can lead to brownouts, blackouts, and other quality of service and availability problems. My purpose for this blog is to provide techniques, guidance, and best practices for how to build web applications that scale to significant traffic volumes.



Lee Atchison