Enterprise architects are facing a rapid rate of change in business and technology. This new normal requires moving beyond classic patterns and practices and embracing architecture principles better aligned with today's mandate for agility, reliability, security, and experience-driven systems.
With these fundamental principles in mind, here are three outdated ideas about designing architecture that may be holding you back.
Inside-out design
In the early days of my career, designing a new application often started with creating an entity relationship diagram (ERD). The database was essentially the centerpiece of the application, with business logic and the user interface assembled around it. This is a classic example of inside-out design.
Meeting the demands of today's experience-driven customers means starting with the endpoints interacting with our systems. This "endpoint" is often a human user, although it's important to consider cases where the primary consumer of your software is other software. In either case, it makes little sense to begin the design process with a static representation of data at rest. By doing so, you are immediately forcing your experience to adapt to this internal requirement instead of starting with the desired external experience and designing inward.
Businesses and users operate in real time and are in a constant state of change. We must design technology systems accordingly. This means focusing design efforts on the fluidity of the data involved in a business function. Designs must enable a seamless flow of data within and between functional components. Achieving this in a sustainable and scalable fashion means having fewer point-to-point integrations and more event-driven data streams. This type of data-in-motion architecture places less emphasis on creating the perfect data-at-rest schema. Instead, it facilitates real-time processing capabilities that can easily transform entities into various data-at-rest formats as needed.
Rigid architecture frameworks
As the rate of change increases in business and technology, architecture frameworks must also evolve. Classic architecture frameworks such as The Open Group Architecture Framework (TOGAF) and Zachman can be useful for modeling the complexity of businesses, but many of today's architects are finding they are either too complex or too abstract to drive rapid transformation.
[ Download the eBook: Modernize your IT with managed cloud services. ]
The Open Group has attempted to address demands for more overtly agile architecture guidance by introducing the Open Agile Architecture (O-AA) standard in September 2020. O-AA is positioned as complementary to TOGAF but more focused on helping organizations architect in an agile environment.
Regardless of the specific framework, the ultimate goal of designing architecture is to communicate effectively. This means capturing both the process by which you arrive at a design and the design itself. The process is critical because it communicates the key considerations that went into the design, including context, business requirements, and (most importantly) the trade-offs that you evaluated. These considerations are critically important to communicate in a design that will continue to evolve.
I recommend sharing the most critical architecture decisions with some form of architecture decision record (ADR). This is typically a document that captures when an important architecture decision has been made, along with its context and ramifications.
Developers code, operators run
My last outdated idea involves a key saboteur of reliable, secure, and agile systems. It is rooted in the classic bifurcation of duties in software engineering, where developers build applications and operators run them in production. In this model, developers focus on innovation and removing barriers to productivity (velocity), while operators focus on reliability and process (SLAs).
DevOps has been instrumental in bridging these two ends of the product engineering spectrum. That said, IT leaders still tend to focus more on the build side and less on the run side when touting the benefits of DevOps. This is driving an increased need to adopt site reliability engineering (SRE) principles across the full engineering lifecycle.
SRE is a discipline founded at Google in 2003 that focuses on building reliable systems. In the SRE model, creating reliable applications is a true engineering discipline, which means it must be integrated into the earliest aspects of product development.
SREs with software development skills are needed across the entire life cycle—from architecture to development and through operations. In essence, this extends operator concerns further left in the engineering life cycle and broadens developer responsibilities further to the right. This makes even more sense when considering that today's systems are increasingly designed with software-defined everything.
Wrap up
As John F. Kennedy famously said, "change is the law of life." Architects must continue to evolve to meet business and technology demands. This means letting go of outdated practices, injecting new innovation into existing sound practices, and committing to continuous improvement in architecture design.
About the author
Stephen Tranchida is Vice President, Digital Solutions atAnexinet. He has 30 years of experience with a proven history of success as an IT executive and technology innovator dedicated to achieving competitive advantage through digital transformation. Serving in roles that include Chief Technology Officer, Mobility Solutions Director, Software Development Manager, and Director of Infrastructure Solutions, Stephen is uniquely qualified to deliver holistic business solutions that help transform IT from a cost center to a vital business asset and competitive differentiator. He is a published author and featured speaker and holds a BS in Computer Science from Lehigh University.
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem Catalog
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit