10 software architecture resources on O’Reilly’s online learning platform
Learn about new architecture patterns, event-driven microservices, fast data, and more.
Build on a solid foundation or improve your current approach with one of these new and popular titles on O’Reilly’s online learning platform.
Software Architecture Fundamentals, Second Edition
Being a successful software architect is more than just possessing technical knowledge. It’s about thinking like an architect, being a leader, and understanding the architectural elements, patterns, and styles necessary to create effective software architectures. In Software Architecture Fundamentals, Second Edition, Neal Ford and Mark Richards empower you with the essential skills you need to be effective in this role. You’ll be introduced to previously unmentioned architecture patterns, such as command query responsibility segregation (CQRS) and LMAX, along with the most effective tools and strategies for analyzing architecture. This video is designed for senior-level developers who want to become software architects and for junior architects who want to bump up their skill sets.
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, Building Microservices by Sam Newman takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.
Learning Path: Cloud Native Architecture Fundamentals
In this Learning Path, you begin with learning the foundations behind Cloud Native Architecture. From there, you examine DevOps. You then move on to examine two architectural qualities—modularity and observability. You look at the ingredients of Continuous Delivery and examine how you can bake them into a deployment pipeline. You’ll also define “cloud” in terms of its essential characteristics and examine its various deployment and service models. Finally, you’ll explore the common and public capabilities of cloud infrastructure.
Building Evolutionary Architectures
The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. Building Evolutionary Architectures by Neal Ford, Rebecca Parsons, and Patrick Kua ties those parts together with a new way to think about architecture and time.
Software developers and architects increasingly turn to microservices as a framework for improving the agility and velocity of their development efforts. But is it the right approach? Event-Driven Microservices by Chris Richardson presents a balanced view of the benefits and drawbacks of microservices. It outlines the motivations driving the adoption of microservices; compares and contrasts it to monolithic architecture; describes solutions to key problems such as inter-service communication and distributed data management; and moves on to a set of strategies for refactoring a monolithic application into a set of microservices.
Cloud Native Java
What separates the traditional enterprise from the likes of Amazon, Netflix, and Etsy? Those companies have refined the art of cloud native development to maintain their competitive edge and stay well ahead of the competition. Cloud Native Java by Josh Long and Kenny Bastani shows Java/JVM developers how to build better software, faster, using Spring Boot, Spring Cloud, and Cloud Foundry.
Fast Data Architectures for Streaming Applications
Why have stream-oriented data systems become so popular, when batch-oriented systems have served big data needs for many years? In Fast Data Architectures for Streaming Applications, author Dean Wampler examines the rise of streaming systems for handling time-sensitive problems—such as detecting fraudulent financial activity as it happens. You’ll explore the characteristics of fast data architectures, along with several open source tools for implementing them.
RESTful Web Clients
Powerful web-based REST and hypermedia-style APIs are becoming more common every day, but instead of applying the same techniques and patterns to hypermedia clients, many developers rely on custom client code. With RESTful Web Clients by Mike Amundsen, you’ll learn how to move from one-off implementations to general-purpose client apps that are stable, flexible, and reusable.
If you want your application to provide millisecond response times and close to 100% uptime, traditional architectures with single SQL databases and thread-per-request models simply cannot compete with microservices. Reactive Microsystems by Jonas Bonér discusses strategies and techniques for building scalable and resilient microservices, and helps you work your way through the evolution of a scalable microservices-based system.
What Is Serverless?
Although the cloud has revolutionized the way we manage applications, many companies still view their systems in terms of servers—even though they no longer work with physical servers. What if you take the concept of servers out of the equation and begin to think of cloud-based applications as workflow, distributed logic, and externally managed data stores? What Is Serverless? by John Chapin and Mike Roberts examines the new Serverless approach to operations, including its considerable benefits and notable limitations.