From developers to CTOs, everyone has a role to play in shaping their own transformation.
Discover what design patterns are and how they can be used to communicate solutions to common problems.
Learn about architectural safety measures, scaling data, caching schemes, service discovery, and more.
Formats, linking, and versioning are important in well-formed RESTful APIs.
Learn how to properly design RESTful APIs communication with clients, accounting for request structure, authentication, and caching.
Learn how to manipulate smartphone behavior with common hyperlinks.
A simple framework for implementing message-based, user-initiated CRUD operations.
For stack scalability, elasticity at the business logic layer should be matched with elasticity at the caching layer.
Mark Richards explores two basic techniques for analyzing tradeoffs of architecture characteristics.
Neal Ford explains the ground rules for building software architectures.
The architectural design, automated quality assurance, and deployment skills needed for delivering continuous software.
How software architects can balance technical proficiencies with an appropriate mastery of communication.
Dan North introduces some uncomfortable truths that help us unlock the true value from our technology.
Michelle Brush highlights modern programming practices that deliver reproducibility in systems.
Yiannis Kanellopoulos outlines deficiencies SIG found in its approach toward software developers and the key thing that helps developers realize their potential.
Learn about an approach that will subdue your monolithic application in stages.
Nathaniel Schutta says architects are the Rosetta Stones of organizations, which means they must consciously think about the stories they're telling.
Neha Narkhede explains why streaming platforms have become the central nervous systems for modern digital businesses.
Watch highlights covering modularity, platforms, and the evolving role of software architects. From the O'Reilly Software Architecture Conference in London 2017.
Mark Richards explores the history and patterns of architectural modularity, and explains why modularity is so important.
This chapter from Building Evolutionary Architectures describes architectures that support incremental change along with some of the engineering practices used to achieve incremental change.
The O’Reilly Podcast: Helping developers improve performance, security, and service discoverability.
The O’Reilly Podcast: Modify your existing pipeline to embrace failure in isolation.
Save money, reduce repetitive operations, and shorten your time to market.
From building microliths to designing reactive microsystems.
The O’Reilly Podcast: Achieving pure scalability when designing distributed architecture.
Get practical knowledge on the advantages microservices can bring to your project.
Daniel Krook explores Apache OpenWhisk on IBM Bluemix.
Jessica Kerr says one of the hardest problems in software is software.
Matt Stine explains how patterns can help us make sense of the ongoing paradigm shift in software architecture.
As designers of systems, Aaron Bedra says it is your responsibility to ensure that security is built in.
Mike Roberts introduces the concepts behind serverless architectures and provides reasons why it's worthy of some of the hype it’s receiving.
Mark Richards offers a glimpse of what software architecture will look like in the future, and he shares the things software architects will need to focus on in the years ahead.
Bridget Kromhout says designing distributed systems means considering failure scenarios—both likely and less so.
Watch highlights covering microservices, distributed systems, security, and more. From the O'Reilly Software Architecture Conference in New York 2017.
An architectural overview of an image processing example.
Apply modular system design principles while avoiding the operational complexity of microservices.
A look into the unspoken side of software architecture.
An interview with Susan Fowler, Site Reliability Engineer at Uber Technologies.
An interview with Martin Thompson, High-Performance Computing Specialist at Real Logic.
Mike Roberts, Co-founder at Symphonia, on how serverless came about, where it's being used, and what lies ahead.
An interview with Scott Shaw, Head of Technology, Australia, at ThoughtWorks.
An interview with Dianne Marsh, Director of Engineering, Cloud Tools, at Netflix.
Making a lasting impact with microservices takes more than a change in technology.
Landing on a set of simple reactive design principles in a sea of constant confusion and overloaded expectations.
Watch highlights covering software architecture, microservices, distributed systems, and more. From the O'Reilly Software Architecture Conference in San Francisco 2016.
Kelsey Hightower offers a quick overview of Kubernetes—the community, the project, and the technology for managing containerized workloads.
Martin Thompson explores the architectures that emerge from applying design patterns required for high performance, resilience, security, usability, and other quality-of-services measures.
Rachel Laycock and Cassandra Shum take opposing sides in the microservices debate.
The O’Reilly Podcast: Hugh McKee on learning how to think asynchronously to create highly concurrent business systems.
Dianne Marsh explains how microservices paved the way for traffic steering at Netflix, and she highlights current challenges.
Mike Roberts introduces the concepts behind serverless architectures, explains how serverless breaks from the past, and provides reasons why it's worthy of some of the hype it’s currently receiving.
Faced with business and regulatory complexity, Scott Shaw found himself committing some of the software development acts he once condemned. He confesses those sins and explains why they’re sometimes necessary.
Watch highlights covering software architecture, microservices, distributed systems, and more. From the O'Reilly Software Architecture Conference in London 2016.
Rob Harrop looks at how we can use the concepts of CSP, Actors, and Reactive as powerful tools for reasoning about our systems.
Patrick Kua explores why and how software architects should care about high-performance teams.
Kevlin Henney explains how uncertainty, lack of knowledge, and options can be used to drive a system’s architecture and its development schedule.
Mark Richards discusses the factors that have enabled the evolution of software architecture over the past three decades and explores what the future of software architecture might look like.
Martin Thompson explores emergent designs and working practices that succeed in areas where the design pressures quickly cull that which does not deliver.
Taking opposing sides, Rachel Laycock and Cassie Shum debate the merits of microservices.