Continuous Architecture in Practice: Architecting for Security and Performance 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 systems which are secure and meet or exceed their performance requirements. 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, and each day will include at least 30 minutes of exercises based on the 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…
In this workshop, we revisit the role of architecture in the age of agile, DevOps, cloud, and cloud-centric platforms. We provide technologists with a practical guide on how to update classical software architecture practice in order to meet the complex challenges of today’s cloud based systems, specifically in the areas of security and performance. We also revisit some of the core topics of software architecture, such as the evolving role of the architect in the development team, meeting stakeholders’ quality attribute needs, and the importance of architecture in managing data and in achieving key cross-cutting concerns.
Software Architecture in the Age of Agile, DevOps and Cloud
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 start Day 2 by discussing the following topics: “What Changed: Today’s Threat Landscape,” “What Do We Mean by Security?” “Moving Security from No to Yes,” “Shifting Security Left,” “Architecting for Security,” “What Is a Security Threat?” “Continuous Threat Modeling and Mitigation,” “Techniques for Threat Identification,” and “Prioritizing Threats. Other Approaches.”
We will then cover the following topics: “Authentication, Authorization, and Auditing,” “Information Privacy and Integrity,” “Nonrepudiation,” “System Availability,” “Security Monitoring,” “Secrets Management,” “Social Engineering Mitigation’ and “Zero Trust Networks.”
Exercise: Achieving Security for TFX.
Architecting for Performance
The goal of Day 3 is to focus on another important quality attribute requirements for modern, cloud based software systems: performance. Performance has traditionally been at the top of the list of quality attributes for an architecture because poor performance may have a serious impact on the usability of your system
Ready to Get Started?
Choose the region that best suits your time zone and see our scheduled workshops.