Modern applications are service-based applications. Service and microservice based application development is the new norm, and application modernization often involves moving a monolith application to a service-based application.
The following is a list of curated articles, videos, and other content by Lee related to service and microservice based architectures in modern digital applications.
Traditionally, software developers created large, monolithic applications. The single monolith would encompass all the business activities for a single application. As the requirements of the application grew, so did the monolith.
Dealing with monolithic applications often caused development organizations to get stuck in the muck, resulting in slower, less-reliable applications and longer and longer development schedules. The muck is not inevitable. You can rebuild and rearchitect your applications to scale with your company’s needs, not against it. Using a microservice-based application architecture is an increasingly popular technique for building applications that can scale without miring your organization in the monolithic muck.
In the world of applications, services are standalone components that, when connected and working together, create an application that performs some business purpose. But services come in a wide variety of sizes, from tiny, super-specialized microservices up to services big and complete enough to form their own monolithic applications. Just like Goldilocks looking for the perfect fit, it’s not always easy to determine the right size for the services you need to build your organization’s apps and meet your business goals.
Modern Digital Applications Podcast with Lee Atchison. Episode 5. In this episode, modern web applications have a lot riding on them. Our customers depend on them, and our business depends on them. Without modern web applications, many businesses would not survive. Modern web applications must scale to meet our biggest needs without suffering outages or other availability issues. In order to meet and exceed this high bar, we must build, manage, and monitor our applications using modern principles, processes, and procedures.
Modern Digital Applications Podcast with Lee Atchison. Episode 7.
July 9th, 2018 was the launch of a “Modern Software Podcast” episode titled “The Great Serverless Debate”. It was a debate between Lee Atchison and Clay Smith.
That episode was a huge success, and we still get asked questions about it today. So, on February 21, 2020, Clay and Lee got together for an update to our views on the world of serverless. This is The Great Serverless Debate, Redux.
Modern Software Podcast
The concept of “serverless” is on the minds of many developers and operations teams these days. The technology is definitely hot, but is serverless really ready for prime time in production environments? To find out, we invited a pair of New Relic experts, senior director of strategic architecture Lee Atchison and developer advocate Clay Smith, back to the show to debate the issue.
By: Lee Atchison
Published In: Diginomica
Forget about AWS Lambda and Kubernetes - AWS Fargate is the real future of serverless because it's containers that matter, says New Relic's Lee Atchison
Risk management is an important topic for building highly scalable, highly available web applications. As such, this book, Architecting for Scale by Lee Atchison, spends considerable time discussing risk management in the context of building and operating highly scaled applications.
An O'Reilly Safari course by Lee Atchison.
Using videos and reading from Architecting for Scale, Lee Atchison talks about risk management techniques that youc an apply to building large, scaled, microservice based applications.
This course is free for O’Reilly Safari members.
This presentation by Lee, given at the GeekWire Cloud Summit in Seattle, WA in 2019, uses the concept of Service Tiers to describe how to mitigate risk in large, service-based applications. View the slides and watch a video of the presentation.
Published In: The New Stack
It’s simple, really — services call other services and they take actions based on the responses from those services. Sometimes, that action is a success, sometimes it’s a failure. But whether it is a success or a failure depends on if the interaction meets certain requirements. In particular, the response must be predictable, understandable and reasonable for the given situation.
Service Tiers are one way of helping minimize the impact of service failures across service dependencies. They are a technique I learned while working at Amazon, and they are a technique I recommend to everyone I work with. This article points you to reference material on the topic.