31
Iterative Architecture Chintana Wilamuna Solutions Architect [email protected]

WSO2Con USA 2015: Iterative Architecture

Embed Size (px)

Citation preview

Page 1: WSO2Con USA 2015: Iterative Architecture

Iterative Architecture

Chintana WilamunaSolutions [email protected]

Page 2: WSO2Con USA 2015: Iterative Architecture

Architect!

Page 3: WSO2Con USA 2015: Iterative Architecture

Metaphor for an architect

Like a gardener or a tour guide

Erik Dörnenburg - Architecture without Architectshttps://www.youtube.com/watch?v=qVyt3qQ_7TA

Page 4: WSO2Con USA 2015: Iterative Architecture

What is software architecture?

http://geekandpoke.typepad.com/geekandpoke/2009/11/enterprise-architecture-made-easy-part-1.html

Page 5: WSO2Con USA 2015: Iterative Architecture

What is software architecture?

The highest-level breakdown of a system into its parts; the decisions that are hard to change; there are multiple architectures in a system; what is architecturally significant can change over a system's lifetime

Martin Fowler – Patterns of Enterprise Application Architecturehttp://amzn.to/1pQe39r

Page 6: WSO2Con USA 2015: Iterative Architecture

Highest level breakdown of a system

http://wso2.com/whitepapers/a-reference-architecture-for-the-internet-of-things/

Page 7: WSO2Con USA 2015: Iterative Architecture

Decisions that are hard to change

● Programming language● DB schema● Infrastructure● Monitoring solution

Page 8: WSO2Con USA 2015: Iterative Architecture

Multiple architectures

● Solution architecture - Overall structure of solution

● Integration architecture - How integration is done

● Security architecture - How each component is secured

● Application architecture - How the application is structured

● Component architecture - UML diagrams

Page 9: WSO2Con USA 2015: Iterative Architecture

Architectural significance can change overtime

● DB choice○ NoSQL → MySQL

● Infrastructure○ AWS → Hosting provider (VMs)

Page 10: WSO2Con USA 2015: Iterative Architecture

Why do software architecture?

http://martinfowler.com/bliki/DesignStaminaHypothesis.html

Page 11: WSO2Con USA 2015: Iterative Architecture

Enterprise systems are complex

http://www3.cis.fiu.edu/conferences/icac2011/files/Keynote_Kephart.pdf

Page 12: WSO2Con USA 2015: Iterative Architecture

Why enterprise systems are complex?

● Overtime○ Developers/team structure change○ Acquire functionality

● Mindset – don’t change what works○ Change is very expensive

● Find ways to incorporate new requirements○ Often time make architecture more complex

Page 13: WSO2Con USA 2015: Iterative Architecture

Managing complexity – Idealistic!

● Autonomic computing○ Self configuring○ Self healing○ Self optimizing○ Self protecting

● Long way to go!

http://www3.cis.fiu.edu/conferences/icac2011/files/Keynote_Kephart.pdf

Page 14: WSO2Con USA 2015: Iterative Architecture

Managing complexity – an algorithm!

● Follow this simple algorithma. Write down the problemb. Think real hardc. Write down the solution

● True IFF you’re Richard Feynman

Page 15: WSO2Con USA 2015: Iterative Architecture

Managing complexity – Practically

● Ongoing challenge● No Silver Bullet - Fred Brooks, 1986● Every enterprise / people are different● Complexity in multiple stages

○ Software development○ Deployment / operations○ On going maintenance

Page 16: WSO2Con USA 2015: Iterative Architecture

Software evolution

Over 90% of software cost happen during maintenance phase

Fred Brooks – Mythical Man Monthhttp://amzn.to/1Mb3QiR

Page 17: WSO2Con USA 2015: Iterative Architecture

Agile manifesto

● Individuals and interactions over processes and tools

● Working software over comprehensive documentation

● Customer collaboration over contract negotiation

● Responding to change over following a plan

Page 18: WSO2Con USA 2015: Iterative Architecture

Traditional – Waterfall method

http://scrumreferencecard.com/scrum-reference-card/

Page 19: WSO2Con USA 2015: Iterative Architecture

Scrum

http://scrumreferencecard.com/scrum-reference-card/

Page 20: WSO2Con USA 2015: Iterative Architecture

SAFe - Scaled Agile Framework

http://www.scaledagileframework.com

Page 21: WSO2Con USA 2015: Iterative Architecture

SAFe - Good or bad?

● Criticism from Ken Schwaber - https://kenschwaber.

wordpress.com/2013/08/06/unsafe-at-any-speed/

● Relevant good parts○ Architecture epics○ Change architecture based on new

requirements / functionality

Page 22: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - WEST solution

Page 23: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - WEST solution

Page 24: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - WEST solution

Page 25: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - WEST solution

Page 26: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - Legacy auth

Page 27: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - Legacy auth

Page 28: WSO2Con USA 2015: Iterative Architecture

Iteratively improve - Legacy auth

● Interim security architecture change● Support legacy authentication mechanism● Prove pluggable nature● Show business value● Continue onboarding on subsequent

scrums

Page 29: WSO2Con USA 2015: Iterative Architecture

Iteratively improve

Page 30: WSO2Con USA 2015: Iterative Architecture

Iteratively improve

Page 31: WSO2Con USA 2015: Iterative Architecture

Thank You