Practical advice for software engineers and security consultants.
The benefits of modeling data as events as a mechanism to evolve our software systems.
O’Reilly Media Podcast: JP Phillips, platform engineer at IBM Cloud, on problem solving with containers and Kubernetes, and how developers can get started.
Harnessing DNS for traffic steering, load balancing, and intelligent response.
Choose an Istio sidecar for reliability, observability, and security.
Enhance overall code quality through a blend of interpersonal communication and tool-based analysis.
Considerations for setting the architectural foundations for a fast data platform.
How to enable non-programmer business users to create their own data applications.
Why stateful services are an important part of the future of containers and microservices in the enterprise.
Build a more scalable, composable, and functional architecture for interconnecting systems and applications.
Get a basic overview of microservices and then go deeper with recommended resources.
Kevin Stewart explores the people, processes, and cultural aspects that complement the cloud-native computing stack.
Adrian Cockcroft outlines the architectural principles of chaos engineering and shares methods engineers can use to exercise failure modes in safety and business-critical systems
Andrew Hately says enterprises must adopt a collaborative culture to truly exploit continuous-deployment workflows.
A look at the stages of designing an API and service.
Cornelia Davis explains how an event-driven approach addresses the fallacies of distributed computing.
Jago Macleod shares recent work that lets users extend the Kubernetes API with custom resources and controllers.
Watch highlights covering the latest tools and techniques of software architecture. From the O'Reilly Software Architecture Conference in New York 2018.
Chris Richardson explains why events are a key application integration mechanism and how they're used by applications to communicate with the outside world.
Learn about new architecture patterns, event-driven microservices, fast data, and more.
Optimize for business value with clear feedback loops and quality standards.
Streaming architectures for data sets that never end.
Explore the factors that make up a reactive microservice.
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.
Michelle Brush highlights modern programming practices that deliver reproducibility in systems.
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.
Learn about an approach that will subdue your monolithic application in stages.
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.
Nathaniel Schutta says architects are the Rosetta Stones of organizations, which means they must consciously think about the stories they're telling.
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.
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.
Jessica Kerr says one of the hardest problems in software is software.
Daniel Krook explores Apache OpenWhisk on IBM Bluemix.
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.
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.
An architectural overview of an image processing example.
Apply modular system design principles while avoiding the operational complexity of microservices.