Slide 1

Slide 1 text

T A I W A N | A U G U S T 1 0 - 1 1 , 2 0 2 2

Slide 2

Slide 2 text

© 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

Slide 3

Slide 3 text

© 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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

“Rapidly change” is beating the Corp ...

Slide 6

Slide 6 text

How to survive in The disrupting innovation world

Slide 7

Slide 7 text

© 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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

© 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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

© 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

Slide 14

Slide 14 text

© 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

Slide 15

Slide 15 text

© 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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

© 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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

© 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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

© 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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

© 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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

© 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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

© 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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

© 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

Slide 31

Slide 31 text

© 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

Slide 32

Slide 32 text

© 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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

© 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

Slide 35

Slide 35 text

© 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

Slide 36

Slide 36 text

© 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

Slide 37

Slide 37 text

© 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

Slide 38

Slide 38 text

© 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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

Legacy system refactoring strategy Rebuild vs Refactor ?

Slide 42

Slide 42 text

© 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

Slide 43

Slide 43 text

© 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

Slide 44

Slide 44 text

© 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

Slide 45

Slide 45 text

© 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

Slide 46

Slide 46 text

© 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

Slide 47

Slide 47 text

© 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

Slide 48

Slide 48 text

© 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

Slide 49

Slide 49 text

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