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.
저자 소개
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.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
오리지널 쇼
엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리
제품
- Red Hat Enterprise Linux
- Red Hat OpenShift Enterprise
- Red Hat Ansible Automation Platform
- 클라우드 서비스
- 모든 제품 보기
툴
체험, 구매 & 영업
커뮤니케이션
Red Hat 소개
Red Hat은 Linux, 클라우드, 컨테이너, 쿠버네티스 등을 포함한 글로벌 엔터프라이즈 오픈소스 솔루션 공급업체입니다. Red Hat은 코어 데이터센터에서 네트워크 엣지에 이르기까지 다양한 플랫폼과 환경에서 기업의 업무 편의성을 높여 주는 강화된 기능의 솔루션을 제공합니다.