Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Architecture Design for Modernization

Kim Kao
August 12, 2022

Continuous Architecture Design for Modernization

When we talking about digital transformation or Application modernization, most of time people tend to link those buzz words to container or Microservices architecture directly. However, it is not correct, they just missed the critical portion of the transformation journey, which are goal alignment and organic growing architecture decision making.

In this talk, DevAx Solutions Architect Kim Kao from AWS, shared why we need to take care about Continuous architecture, what can we do to step on the modern application journey, and pay attention on quality attributes of entire architecture design. Kim got heuristics from the book author - Continuous Architecture (Murat Erder, Pierre Pureur, Eoin Woods) and suggest each one passionate developer, architect should read it.

Kim Kao

August 12, 2022
Tweet

More Decks by Kim Kao

Other Decks in Technology

Transcript

  1. T A I W A N | A U G

    U S T 1 0 - 1 1 , 2 0 2 2
  2. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Continuous Architecture Design For Modernization Kim, Kao (高翊凱) A 3 0 1 Sr. DevAx Solutions Architect, Developer Specialist Amazon Web Services
  3. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Agenda Why Continuous architecture Is One-Stop the only way for modern application Challenges after modernization Take away
  4. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Digital transformation is imperative Five generations of consumers with a wide spectrum of expectations Increased data privacy and security risks Lack of skills and organisational inertia Average lifespan of S&P Companies is decreasing of S&P 500 incumbents will drop out by 2027 at the given rate1 75% 61 years 1958 25 years 1980 18 years 2011 Source: McKinsey, https://www.mckinsey.com/mgi/overview/in-the-news/the-right-response-to-digital-disruption Industry-wide disruption in business models Legacy business processes and workflows Disruption in supply chains and shifts in demand
  5. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Think BIG about digital transformation
  6. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. App architectures & patterns have evolved over the years
  7. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. As an architect you design for the present, with an awareness of the past for a future which is essentially unknown Norman Foster
  8. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Current Challenges with architecture Focus on technology details rather than business context. Perception of architects are not delivering solutions or adding value. Inability of architectural practices to address the increase in speed of IT deliver and to adapt to modern delivery practices such as DevOps. Some architect’s discomfort with or lack of appropriate skills for migrating their IT environment to cloud-based platform.
  9. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Focus on technology details rather than business context Why the IPs are not enough to run my workloads in Kubernetes? Why the traffic just came across different subnets, and costs a lot ? https://aws.amazon.com/tw/blogs/containers/eks-vpc-routable-ip-address-conservation/
  10. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. • Architect products; evolve from projects to products • Focus on qulity attributes, not on functional requirements • Delay design decisions until they are absolutely necessary • Architect for change – leverage the power of small • Architect for build, test, deploy, and operate • Model the organization of your teams after the design of the system you are working on Continuous architecture
  11. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Continuous architecture contains • context of the system • Key functional requirements that will impact the architecture • Quality attributes that drive the architecture • Making trade-off from the cycle
  12. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Difference between CA and traditional architecture approaches 1. End to end delivery 2. Not only in software architecture itself, but ask to have entire coverage 3. Way to avoid big-architecture-up-front syndrome
  13. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Application modernisation Monolith Distributed monolith Microservices Single node Vertically scaled Large blast radius Host metrics Container metrics Instance counts Multiple services Short lived resources No RDP / SSH access Completely independent
  14. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Teams building microservice architectures often find that integration with applications and external services can result in more monolithic and tightly coupled workloads © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  15. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Modern enterprise workload problems can be solved with event-driven architectures Coordinate data flow Decouple and decentralise application components Connect microservices
  16. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Making and governing architectural decisions Provide Guidelines Visibilities
  17. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Architectural decisions • Most of the time, architecture diagram is not readable or maintainable • Only authors realized the entire content • Key assests in the decisions should be recorded, try to use https://adr.github.io • 3 key points should be covered in adr • 1) clearly articulate all constraints related to a decision • 2) focus on quality attributes, not on functional requirements • 3) trade-off between the different opions and impact on quality attributes should be considered
  18. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Building the quality attributes utility tree • Stimulus – Measure the revenue grows from achitecture changing • Response – should be stable in expected responding time • Measurement – SLA, costs, DR, RTO/RPO • Environment – Could support rapidly change , scalability and DR requirements?
  19. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Challenges after modernization
  20. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Business IT Business leads to technology innovation Technology supports business growth Learnt from my first architect experience
  21. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Goal Alignment Facilitating Problem Domain Resources alignment
  22. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Architecture viewpoints Concurrency viewpoint Deployment viewpoint & Operational viewpoint Information Viewpoint Development viewpoint Functional viewpoint Context Viewpoint • Function elements • Responsibilities • interactions • Function elements • Responsibilities • interactions • information flow between subsystems • Dependencies • Environment • Runtime Process • monitoring • Reacting mechanism • Runbook/ Playbook • Live Document • Glossary & Ubiquitous Language • Tier/Layer design guideline • Architecture & Tech Stack Before refactoring : https://github.com/humank/microservices
  23. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Typical SDLC in daily life
  24. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Get the whole picture Entire product engineering life cycle “DOWNTIME” Defects Overproduction Waiting Non-utilized Talent Transportation Inventory Motion Extra-Processing Data Driven Process Time Lead Time Activity Ration %Complete/Accurate Remove wasted steps Draw VSM Figure out Waste Analysis the flow Establish Pull CA Align with Value Stream mapping
  25. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Put feedback loop in your architecture “Cover functional requirements” “Cover quality of attributes at architecture perspective”
  26. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Common Themes in today’s architect practice • Principles as architecture guidelines • Architecture activities become a team responsibility • Becoming a discipline or skill rather than a role • Ability to design • Leadership • Stakeholder focus • Ability to conceptualize and address systemwide concerns • Life cycle involvement • Ability to balance concerns
  27. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. New products Scenario : Business grows with external clients Growth Feedback Customer experience Improvements Usage • Modular existing products • Cross channel selling • Parallel develop teams overseas • Launch new branding platform in 1 year • <2 seconds responding time in each client • Stable release & GA cycle (2w/1 release) • Team members grow up from 20+ to 100
  28. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 1 Know the legacy Monolith to microservices Keep Hands dirty Step in sb’s shoes to know the tough 2 Automate your bureaucracy Introduce Automatic Testing 3 Build it in, don’t bolt it on Involve in the operation, design the co-work model 4
  29. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Knowing the legacy • Embrace multiple viewpoints Variety Stakeholder Goal & Vision Architecture diagrams
  30. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. The appropriate level of coupling depends on the level of control you have over the endpoints. Gregor Hohpe Enterprise Integration Patterns
  31. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. The many facets of coupling • Technology dependency: Java vs. C++ • Location dependency: IP addresses, DNS • Data format dependency: Binary, XML, JSON, ProtoBuf, Avro • Data type dependency: int16, int32, string, UTF-8, null, empty • Semantic dependency: Name, Middlename, ZIP • Temporal dependency: sync, async • Interaction style dependency: messaging, RPC, query-style (GraphQL) • Conversation dependency: pagination, caching, retries Source: EnterpriseIntegrationPatterns.com
  32. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Don’t let the code fool you • Considering the learning curve • Code first rarely lead to correct domain model • Pattern relationship lead to robustness design ( should Apply all or nothing) • Start with layering design • Apply Clean Architecture (optional) UI Layer Application Layer Domain Layer Infrastructure Layer Layer dependency
  33. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Maximize speed to value • Value – maximize agility benefits in least amount of time • Speed – highly automated, mature, and fit-for-purpose tools • Achievable measurable business benefits in short term Minimize business and technical risks • Evolutionary transitions – No rip-and-replace – No big bang • Decomposition into workloads, then packages, then services • Proven patterns and tools – Proven scalable infrastructure • Hands-on pragmatic approach – Go build Evolution tenets
  34. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. What’s the concern we should take care? • How to fulfill the SLO after the refactoring • How to monitor the traffic, healthy, applications • How to deal with the transaction compensation • How to well perform the data replication/synchronization • What if there is needed to publish changed data as event
  35. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Applying CA in Product design
  36. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Minimum Viable Architecture • Follow on current captured requirements • Just fit-in all of the feature needs • Proactively seeking for non-functional quality attributes • Base on the truth of the market, users • MVP should be throwable (* could be a burden for decision maker)
  37. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Consider on all of the efforts • Technical debts are always there and keep growing • There is no perfect cut over point to dismiss technical debts • Resources arrangement on team, time, organization • Difficulty level of forming up consensus for business process • Cross function team collaboration model
  38. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Monolithic WEB AP Database Data Warehouse USERS SALES EVENT LISTING CATEGORY VENUE DW MEMBER Services SALES Services CODE Services AP Tier WEB Tier DB Tier Browser Mobile Device Store Front UI REST REST HTML Data Lake User Interaciton Client
  39. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. CODE DB SALES DB MEMBER DB Microservice Architecture Browser Mobile Device Store Front UI API Gateway REST REST HTML MEMBER Services SALES Services CODE Services Data Tier Services Tier USERS SALES EVENT LISTING CATEGORY VENUE DW WEB Tier Data Exchange Services Queue USERS SALES CODE Monitoring & Observability Logs Group Data Warehouse Data Lake Logs Insights User Interaciton Client
  40. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. CODE DB SALES DB MEMBER DB Data tier refactoring Data Tier (Cloud) USERS SALES EVENT LISTING CATEGORY VENUE DW Data Exchange Services Queue USERS SALES CODE Monitoring & Observability Logs Group Data Warehouse Data Lake Logs Insights User Interaciton Data Tier (On-premise) AWS Lambda AWS DMS (CDC) Amazon Kinesis Data Streams SALES USERS CATEGORY VENUE USERS USERS CATEGORY VENUE SALES Main dataset Replicate dataset AI & ML / Analytics Amazon DynamoDB Amazon Aurora Amazon Athena Amazon Personalize Amazon Quicksight Amazon Redshift Amazon S3 Amazon Kinesis Data Firehose Amazon Cloudwatch Amazon Logs group Amazon Logs insights
  41. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Relative Breakout Sessions [A302] 重新建構你的雲端數據和工作流程 Jack Hsu / Partner Solution Architect, AWS [A303] 採用事件驅動架構的機器學習 Dennis Chang / Senior Partner Solutions Architect, AWS [A304] 如何監控分散式應用程式 Shanna Chang / Solutions Architect, AWS [A305] 採用雲端原生、雲端優先實踐現代化 DevOps HC Lo / Solutions Architect, AWS [A301] 針對應用程式現代化的持續架構設計 Kim Kao / Sr. Solutions Architect | Developer Specialist, AWS
  42. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. Take Away Continuous Architecture principles Visions - Know where to go Bi-direction voice Domain-Driven Design Multiple Viewpoints Hands dirty – Go with dev teams Agility Cloud platform
  43. © 2022, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Deepen your skills with digital learning on demand Access 500+ free digital courses and Learning Plans Earn an industry-recognized credential AWS Skill Builder AWS Certifications Explore resources with a variety of skill levels and 16+ languages to meet your learning needs Join the AWS Certified community and get exclusive benefits Receive Foundational, Associate, Professional, and Specialty certifications Train now Access new exam guides © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. Learn in-demand AWS Cloud skills
  44. Thank you! © 2022, Amazon Web Services, Inc. or its

    affiliates. All rights reserved. Kim, Kao [email protected] @Yikaikao kimkao