CNN recently rated software architect the number one job in America. Yet no clear path exists for moving from developer to architect. Mark Richards blends lecture and hands-on real-world group exercises to explore the many aspects of software architecture. You'll learn various integration styles (and when to use them) as well as patterns to fit various business needs and requirements.
Read more.

Enterprises need to deliver better software faster. The microservice architecture has the testability and deployability necessary for DevOps. Chris Richardson walks you through using the microservice architecture to develop your applications, exploring key obstacles you'll face (and how to deal with them) and sharing strategies for refactoring a monolith to a microservice architecture.
Read more.

With systems like Travis CI, Circle CI, and CodeBuild, we're never more than a few lines of YAML away from a complete continuous delivery pipeline. However, ephemeral build systems constantly recreate the world from scratch, increasing build time and lengthening the CD feedback loop. John Chapin addresses those challenges and shares a reference pipeline using AWS CodePipeline and CodeBuild.
Read more.

Decentralization is often touted as an intrinsic good architecturally. While it's possible to benefit from decentralized thinking, it's also very easy to misfit the solution to the problems at hand. Join Brian Sletten to explore the major decentralized approaches and their applicability to specific problems.
Read more.

Kubernetes is quickly becoming the preferred way to deploy applications. You may understand Docker, but how can a whole set of containers and services consistently work together and run reliably? Consider Kuberentes a new operating system for your data center. Jonathan Johnson walks you through a series of building blocks to demonstrate how Kubernetes actually works.
Read more.

Agile practices and techniques like continuous delivery are all about being able to react to changes rapidly, but putting them into practice when you have a big monolith application can be difficult. Microservices offer one solution. Maria Gomez shows you how to move from a monolith to microservices by applying domain-driven design principles.
Read more.

The link between architecture and how to deploy a software environment is one of the most important factors that leads to a great result: a highly available, fast, accessible, reliable, and easy-to-change software service. Laurentiu Spilca explores considerations and common pitfalls when delivering your software with Kubernetes.
Read more.

As more companies embrace digital technology as core to their operation, it's essential that we architects develop our leadership skills to be equal to our technical skills. Join Seth Dobbs to learn how to guide business decisions and align technology with broad strategy while also motivating your teams and ensuring their success.
Read more.

If you still use large up-front design phases, you'll likely encounter problems with your design as you implement. The solution is to build around a domain-focused metaphor that allows for incremental changes while maintaining coherence throughout. Allen Holub demonstrates how to develop an effective and coherent architecture incrementally as the code evolves.
Read more.

Looking for dinner plans Monday night? Sign up to join a group of fellow attendees for the Software Architecture Dine-Around. This event is not sponsored, so you're responsible for paying your portion of the bill on your own.
Read more.

Jumpstart your networking at Software Architecture by coming to Speed Networking before the keynotes begin. Bring your business cards and prepare a minute of patter about yourself, your projects, and your interests.
Read more.

Architects generally concern themselves with change: a system that’s never going to change in functionality, scope, scale, or environment may not actually need an architect. Join Gregor Hohpe to find out how architects can use what they know about technical systems to help refactor organizations.
Read more.

Today, we are witnessing a great proliferation of cloud native paradigms such as 12-factor app, microservices, and serverless. An emerging unified cloud platform (based on open source projects such as Kubernetes and Istio) is emerging and the new frontier is its evolution to unify multiple programming paradigms for greater simplification with power of expression.
Read more.

Trisha Gee shares advice and lessons she learned the hard way while managing her career as a developer, lead, and technical advocate. She also gives you tools for working out what your next steps are along with plenty of examples of what not to do.
Read more.

In a new series of interviews called "From the Trenches," Neal Ford interviews highly regarded industry professions about their career path and their work as an architect. Join in for his discussion with Mark Richards.
Read more.

Containers are all the rage these days, but how do you go from a single sandbox cluster to a globally distributed enterprise-scale architecture. Christopher Grant covers both infrastructure and application design best practices, such as hybrid and multicluster configurations as well as decomposing applications into system, service, and microservices.
Read more.

Every software system has an architecture. Many are little more than the result of circumstances, rather than deliberate decisions. Helping teams think about software architecture is a key to helping them grow well. James Thompson demonstrates how to assess approaches and make decisions based on what matters to your team and your projects.
Read more.

Ruth Malan revisits architecture modeling in light of Agile. Through a discussion of architecture and related views, heuristics, and other guidelines, Ruth considers the role of visual design in setting design direction for the system and explores design options as part of an Agile approach.
Read more.

The lines between static and dynamic content are blurred, and it’s more difficult than ever to choose the right technologies for your requirements and budget. John Chapin takes you on a step-by-step journey from hosting static content on AWS S3 to deploying dynamic, complex business logic mere milliseconds away from your users, with AWS CloudFront, Lambda@Edge, and more.
Read more.

Join other attendees during lunch at Software Architecture to share ideas, talk about the issues of the day, and maybe solve a few. Not sure which topic to pick? Don’t worry—it's not a long-term commitment. Try two or three and settle on a different topic tomorrow.
Read more.

Kubernetes is catching on like wildfire. But as organizations move to this new platform, they end up with legacy applications that don’t take advantage of everything Kubernetes has to offer—or worse, with applications that don’t work at all. Aaron Schlesinger shares an “Elements of Kubernetes” guide that details patterns to ensure your application fits into the Kubernetes platform.
Read more.

The software delivery industry has proven that it can deliver better products by implementing continuous delivery, but can this be achieved when there are hardware components? Maria Gomez demonstrates it's possible and shares her experience on a project developing embedded systems in an iterative way.
Read more.

As fans of serverless and event-driven architectures, Kenny Baas-Schwegler and Marc Duiker wanted to see how easy it was to create a serverless application in AWS, Azure, and Google Cloud—specifically, by comparing how easy it is to orchestrate functions, using a current car park management example solution. Join them to learn the pros and cons of each cloud vendor.
Read more.

Even if you're not ready to adopt a microservices architecture, you still want the benefits of rapidly deployable, highly automated infrastructure that enables rapid delivery of new features and services. Paula Paul and Rosemary Wang offer a deeper look at the necessary set of products and capabilities for a delivery infrastructure to support a distributed service or microservice architecture.
Read more.

A cell-based architecture is a composable unit of architecture that is self-contained. The cell is independently scalable. It’s independently deployable. It’s independently governed. It is part of an ecosystem of cells. A cell-based architecture is a common pattern that any enterprise can connect architecture, implementation, and deployment by making autonomous development teams.
Read more.

Once you decide to adopt a microservices architecture, you'll face many more decisions and questions about routing, management, observability, developer experience, and more. Mason Jones shares approaches based on his real-world experiences making the shift to microservices.
Read more.

Jonny LeRoy details two architectural failure modes: hierarchical command and control from ivory tower architects with strict approvals and rigorous control gates, and chaos with every team doing whatever they want with close to zero governance. Jonny then explores the "Goldilocks" zone that ensures organizational risks and opportunities are handled while giving teams as much autonomy as possible.
Read more.

As our world becomes digital, we all need to be developing systems that are secure by design. The security community has developed a well-understood set of principles used to build secure systems, but they are rarely explained outside that community. Eoin Woods outlines these fundamental principles of secure software design and explains how to apply them to mainstream systems.
Read more.

Everything fails at some level, in some way, some of the time. How we deal with those failures can ruin our day or help us learn and grow. Join James Thompson to explore some of the patterns for dealing with failure in service-based systems graciously.
Read more.

You're probably skeptical of the hype around service mesh technology. Join Andrew Jenkins to learn how incremental adoption can make a service mesh successful on your terms. You'll learn trade-offs around a few of the top capabilities so you can prioritize what your project adopts today and what you can defer based on your own risk-reward profile.
Read more.

Adam Zimman discusses the history of SDLC models before diving into the next phase of evolution: progressive delivery. Adam explores the benefits of the progressive delivery model, with a focus on business value of rapid delivery as a method to reduce risk.
Read more.

Deploying your Java application in a Kubernetes cluster can sometimes feel like Alice in Wonderland. You keep going down the rabbit hole and don’t know how to make that ride comfortable. Join Arun Gupta to learn how a Java application can be deployed in a Kubernetes cluster.
Read more.

When personalizing for news platforms, you must pay attention to both the audience and the content. Much like most software architecture systems, readers and news content should not be treated as a monolith. Katerina Iliakopoulou details the architecture of a system that facilitates agile personalization on the New York Times’s platforms to accommodate fast A/B testing.
Read more.

Over the past few years, Barclays has embarked on a journey to migrate its legacy services with the objective of achieving a high level of scale, resilience, and reliability, mainly employing an ecosystem of focused, distributed services. Prem Chandrasekaran recounts some of the challenges faced during the transformation and sheds light on the things that worked well and those that didn't.
Read more.

You have a large talented group of engineers, each with an opinion on the best programming language, build tool, test framework, and CI/CD pipeline. How do you get them to agree and reuse without demotivating them? Andrey Utis explains how CapitalOne Bank mandated a single CI/CD framework and kept users engaged through a contribution process, empathy interviews, and openness.
Read more.

Aaron Parecki discusses common security threats when building microservices using OAuth and how to protect yourself. You'll learn about high-profile API security breaches related to OAuth, common implementation patterns for mobile apps, browser-based apps, and web server apps, and the latest best practices around OAuth security being developed at the IETF OAuth working group.
Read more.

How much do you as an Architect know about Infrastructure? And how much do you think you should know? As we transition from Physical Systems to Virtual Machines to Containers, the way we build systems has changed radically, influenced by the new paradigms. This talk will take a look at the relationship between the systems we build and the infrastructure we build them from.
Read more.

Ryan Cooke explains how one organization transformed its architecture from a few hundred disparate servers to running entirely in container orchestration within six months. While the project met its goal to reduce infrastructure costs, it also realized an unexpected benefit: greatly improving developers' velocity in delivering software into production.
Read more.

So you think you can test your complex distributed application effectively just using your test environment? At Netflix, automated testing of client and server applications runs at scale in production. It has quickly gone from low-volume manual mode to automated continuous and voluminous mode. Vasanth Asokan offers a study of such testing at scale that will inform your overall testing strategy.
Read more.

Threat modeling as a discipline has always enjoyed a special place in development, going from "Why do it?" to "I should do it one of these days" to "We did it and didn't even get a T-shirt." Many competing methodologies, interests, and constraints help make the process more difficult than it needs to be, reducing the results. Izar Tarandach shares the approach Autodesk uses for threat modeling.
Read more.

Architects in large enterprises are often seen as ivory tower residents far detached from reality. Large-scale IT transformation across a vast inventory of applications and business units puts an entirely different and much more exciting spin on enterprise architecture. Gregor Hohpe takes a serious but lighthearted look at the role of enterprise architects in modern IT organizations.
Read more.

Join us in the Sponsor Pavilion for drinks and food at the Software Architecture Sponsor Pavilion Reception. This will be your first opportunity to network with other Software Architecture attendees, so don’t miss out.
Read more.

Software architects have to practice being software architects. Now is your chance. Network and show your skills by joining Architectural Katas—a team exercise where small groups work together on a project that needs development—on Tuesday evening following the Sponsor Pavilion Reception.
Read more.

Jumpstart your networking at Software Architecture by coming to Speed Networking before the keynotes begin. Bring your business cards and prepare a minute of patter about yourself, your projects, and your interests.
Read more.

In software engineering, design & architecture offenses are considered especially heinous. At the O’Reilly Software Architecture Conference, the dedicated detectives who investigate these vicious felonies are members of an elite squad known as the Special Dumpster Fire Unit. These are their stories.
Read more.

If you sometimes wish you had more time to pursue other interests, branch out from your specialty, or simply be curious, Glenn Vanderburg offers some encouragement. Glenn talks about the importance of letting your attention roam more widely, sharing real examples of how insights from other fields have inspired practitioners in the world of software.
Read more.

Mike Amundsen walks you through building adaptable microservices that take advantage of the features of REST. You’ll learn how to design services that advertise themselves to the network, discover their own “partner” services, and can adapt to subtle changes to existing services without relying only on recode-and-redeploy patterns for maintaining overall system operation.
Read more.

Join other attendees during lunch at Software Architecture to share ideas, talk about the issues of the day, and maybe solve a few. Not sure which topic to pick? Don’t worry—it's not a long-term commitment. Try two or three and settle on a different topic tomorrow.
Read more.

How do you develop great architects on your team? It's a real challenge when your organization offers limited opportunities to actually perform as an architect. Jean Bordelon shares approaches to give aspiring architects meaningful ways to grow and veteran architects ways to hone their craft, as well as lessons learned along the way.
Read more.

While the rest of the software architecture world is admiring their containers, edge computing, and cloud-native architecture, game developers are off in the corner creating entity component system (ECS)-based architectures and pushing the boundaries with this flexible, compatible, composable approach. It's not just for games. Paris Buttfield-Addison, Mars Geldard, and Tim Nugent explain why.
Read more.

Eben Hewitt shares a holistic approach to enterprise architecture that explains how to bring business architecture, information architecture, data architecture, application architecture, and infrastructure architecture together into a comprehensive design. You'll also learn how to incorporate design thinking principles and work effectively with Agile teams.
Read more.

Despite its success in building an engineering and DevOps culture, when Capital One embarked on the gargantuan task of embracing microservices, several years ago, it had to do an analysis of which of its development and operational practices were applicable to the new architectural style and which had to be fundamentally reevaluated. Irakli Nadareishvili shares lessons learned from the process.
Read more.

Kubernetes scales and manages stateless applications quite easily. Stateful applications can require more work. They can be harder to dynamically manage with data intact and sometimes come with their own notion of clustering. Jan Kleinert offers an overview of Operators—Kubernetes agents that know how to deploy, scale, manage, back up, and even upgrade complex stateful applications.
Read more.

Being a successful architect requires more than just a good understanding of architecture. Patrick Kua explores the breadth of skills and experience an architect should focus on and outlines the balance of traits that makes a well-rounded architect.
Read more.

Stream processing and serverless functions are closely related, yet the technologies that back them have very different properties. Ben Stopford explores how the serverless applications of the future will blend stream processing, event storage, and stateless functions to tackle a far richer range of use cases with better performance, correctness, and observability than those available today.
Read more.

Many organizations are embracing cloud-native technologies, such as microservices, containers, and Kubernetes, but are struggling to adapt their developer experience (DevEx or DX) and continuous delivery processes. Join Daniel Bryant to dive into the core concepts of DevEx, learn why architects should care, and explore lessons learned from the trenches.
Read more.

Audible.com delivers millions of hours of audio content daily across a range of mobile apps and devices. As the company has grown, it has had to quickly scale to meet demand and provide the best experience for its customers. Tyler Lund explains how Audible's audio delivery and playback architectures have evolved and how the company utilizes chaos engineering at scale to improve reliability.
Read more.

Istio is an open source project for securely connecting and managing networked polyglot microservices. In this talk I will demonstrate how Istio can used to help developers continuously deliver software as a service with confidence and reduced risk. In particular, I will show how ISTIO capabilities can be used to perform A/B and Canary testing gaining insight and control.
Read more.

As architects, we provide guiding principles as part of our architecture to enable decision making for unforeseen details, but we seldom develop guiding principles for ourselves as leaders and for how we interact with people. Seth Dobbs shares a core set of principles that will help you enable effective interactions with your team and your stakeholders.
Read more.

Microservices provide a way to break up a monolithic architecture into multiple atomic units, allowing an independent scalability of a service. They also provide a better way to divide the domains across multiple teams. Luca Mezzalira explains how to apply the same principles to frontend applications, enabling you to scale up a project with tens of developers without reducing the throughput.
Read more.

How do you bring safety back into an organizational culture when the contemporary patterns used to increase the rate of change also contribute to increased fragility? Subbu Allamaraju examines contributing factors, the limits of chaos testing, and patterns and practices needed to support a high rate of change while also maintaining system safety.
Read more.

How can a large software organization strike a balance between gaining leverage from the use of common technologies and empowering teams to make their own decisions? Jon Moore outlines the Architecture Guild framework Comcast uses to try to thread this needle.
Read more.

Great architectures are not just about software but also about the people that create it. Traces of how people collaborate during the creation of software systems are captured in data sources like version control history, source code, and ticketing systems. Evelyn van Kelle and Pepijn van de Kamp explain how analyzing this data provides valuable insights and input for your architectural strategy.
Read more.

Comcast is evolving a cloud-based data infrastructure to support classic analytic use cases, real-time operational analysis, and modern machine learning. All these use cases require finding high-quality data of interest, understanding its semantics, and tracing its route from streaming ingestion to at-rest storage. Barbara Eckman explains how a judicious data governance strategy fills these needs.
Read more.

Matt Chapman leads a walkthrough of the architecture and open source components that serves Tribune Publishing's content recommendation system powered by online machine learning at scale. Find out how multiple publications, multiple recommendation algorithms, and one scalable architecture regularly achieve double the performance of the legacy solution.
Read more.