$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

  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

    View Slide

  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

    View Slide

  4. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  5. “Rapidly change”
    is beating the Corp ...

    View Slide

  6. How to survive in
    The disrupting innovation world

    View Slide

  7. © 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

    View Slide

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

    View Slide

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

    View Slide

  10. © 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

    View Slide

  11. © 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.

    View Slide

  12. © 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/

    View Slide

  13. © 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

    View Slide

  14. © 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

    View Slide

  15. © 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

    View Slide

  16. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View Slide

  17. © 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

    View Slide

  18. © 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.

    View Slide

  19. © 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

    View Slide

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

    View Slide

  21. © 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

    View Slide

  22. © 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?

    View Slide

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

    View Slide

  24. © 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

    View Slide

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

    View Slide

  26. © 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

    View Slide

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

    View Slide

  28. © 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

    View Slide

  29. © 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”

    View Slide

  30. © 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

    View Slide

  31. © 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

    View Slide

  32. © 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

    View Slide

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

    View Slide

  34. © 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

    View Slide

  35. © 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

    View Slide

  36. © 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

    View Slide

  37. © 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

    View Slide

  38. © 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

    View Slide

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

    View Slide

  40. © 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)

    View Slide

  41. Legacy system refactoring strategy
    Rebuild vs Refactor ?

    View Slide

  42. © 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

    View Slide

  43. © 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

    View Slide

  44. © 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

    View Slide

  45. © 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

    View Slide

  46. © 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

    View Slide

  47. © 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

    View Slide

  48. © 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

    View Slide

  49. Thank you!
    © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Kim, Kao
    [email protected]
    @Yikaikao kimkao

    View Slide