Continuous Architecture in Practice: Architecting for Scalability and Resilience in the Age of Agile, DevOps and Cloud
The foundations of software architecture haven’t changed in the last few years. The overall goal of architecture remains to enable early and continual delivery of business value from the software being developed. Unfortunately, this goal isn’t always prioritized or even well understood by many architecture practitioners.
The components of a software architecture do not exist in isolation: they are interrelated. Creating an architecture means making a series of tradeoffs between requirements, decisions, blueprints, and technical debt items, which are always reflected into the executable code. Sometimes those tradeoffs are optimal, and sometimes they are the least unfavorable ones because of constraints beyond the team’s control. Either way, consciously making architectural tradeoffs and explicitly focusing on architectural decisions is an essential activity.
What You Will Learn
This 3-day hands-on workshop focuses on giving guidance on how to leverage the continuous architecture approach, including its principles, tools and essential activities, to architect scalable and resilient systems. It focuses on architecting cloud based systems, developed and implemented using a DevOps model.
We provide an updated approach to making the architectural practice relevant, often building on conventional advice found in many software architecture books and explaining how to meet the security and performance challenges in a modern software development context.
The workshop is organized around a trade finance case study to make it as useful, interactive and practical as possible. Each day will include at least 30 minutes of exercises based on the TFX case study. We assume that we are working for a software company that is building a new Trade Finance application called the Trade Finance Exchange (or “TFX”). The purpose of TFX is to allow organizations, engaged in writing and using Letters of Credit in the Trade Finance process, to interact in an efficient, transparent, reliable and safe manner. TFX is being built as a cloud-native Software-as-a-Service platform, and implemented using a DevOps model.
The workshop is designed for software architects, software engineers and developers responsible for designing and delivering software systems.
This training is for you because…
Software Architecture in the Age of Agile, DevOps and Cloud
Day 1 is designed to provide you with a comprehensive introduction to modern-day software architecture practice, explaining the importance of shifting architectural thinking ‘left’ in order to form a firm foundation for continuous delivery and continuous architecture evolution.
This section provides a context for our Case Study: Automating Trade Finance. We will also review the architectural description of TFX.
Architecting for Scalability
We will then the following topics: “TFX scalability requirements,” “Database Scalability,” “Data Distribution, Replication, and Partitioning,” “Caching for Scalability,” “Using Asynchronous Communications for Scalability, and “Additional Application Architecture Considerations.”
We will end Day 3 with the following exercise: How can we achieve the TFX scalability requirements?
Architecting for Resilience
The goal of Day 3 is to focus on another important quality attribute requirement for modern, internet based software systems: resilience. In recent years, a new approach to achieving availability and reliability has emerged, which still uses many of the fundamental techniques of data replication and clustering but harnesses them in a different way. Rather than externalizing availability from systems and pushing it into specialist hardware or software, architects today are designing systems to recognize and deal with faults throughout their architecture.
Here we will cover the following topics: “Fault Recognition Tactics,” “Isolation Tactics,” “Protection Tactics,” “Mitigation Tactics.”
Exercise: Achieving Resilience for TFX
We will end Day 3 with a discussion of the following topics: “Operational Visibility,” “Testing for Resilience,” “The Role of DevOps,” “Detection and Recovery, Prediction and Mitigation,” “Dealing with Incidents,” and “Disaster Recovery.”
Ready to Get Started?
Choose the region that best suits your time zone and see our scheduled workshops.