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.
Yiannis Kanellopoulos outlines deficiencies SIG found in its approach toward software developers and the key thing that helps developers realize their potential.
Michelle Brush highlights modern programming practices that deliver reproducibility in systems.
Learn about an approach that will subdue your monolithic application in stages.
Mark Richards explores the history and patterns of architectural modularity, and explains why modularity is so important.
Nathaniel Schutta says architects are the Rosetta Stones of organizations, which means they must consciously think about the stories they're telling.
Watch highlights covering modularity, platforms, and the evolving role of software architects. From the O'Reilly Software Architecture Conference in London 2017.
Neha Narkhede explains why streaming platforms have become the central nervous systems for modern digital businesses.
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.
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.
Daniel Krook explores Apache OpenWhisk on IBM Bluemix.
As designers of systems, Aaron Bedra says it is your responsibility to ensure that security is built in.
Watch highlights covering microservices, distributed systems, security, and more. From the O'Reilly Software Architecture Conference in New York 2017.
Bridget Kromhout says designing distributed systems means considering failure scenarios—both likely and less so.
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.
Mike Roberts introduces the concepts behind serverless architectures and provides reasons why it's worthy of some of the hype it’s receiving.
An architectural overview of an image processing example.
Apply modular system design principles while avoiding the operational complexity of microservices.
Susan Fowler discusses the state of microservices standardization.
A look into the unspoken side of software architecture.
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.
Rachel Laycock and Cassandra Shum take opposing sides in the microservices debate.
Martin Thompson explores the architectures that emerge from applying design patterns required for high performance, resilience, security, usability, and other quality-of-services measures.
Kelsey Hightower offers a quick overview of Kubernetes—the community, the project, and the technology for managing containerized workloads.
The O’Reilly Podcast: Hugh McKee on learning how to think asynchronously to create highly concurrent business systems.
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.
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.
Watch highlights covering software architecture, microservices, distributed systems, and more. From the O'Reilly Software Architecture Conference in London 2016.
Patrick Kua explores why and how software architects should care about high-performance teams.
Rob Harrop looks at how we can use the concepts of CSP, Actors, and Reactive as powerful tools for reasoning about our systems.
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.
Taking opposing sides, Rachel Laycock and Cassie Shum debate the merits of microservices.
Martin Thompson explores emergent designs and working practices that succeed in areas where the design pressures quickly cull that which does not deliver.
Author Mark Richards walks you through the 10 most common microservice anti-patterns and pitfalls, and provides solutions for avoiding them.
Crafted by experienced object-oriented practitioners, design patterns can make your designs more flexible, more resilient to change, and easier to maintain.
Deciding whether to use microservices starts with understanding what isn’t working for you now.