Download - WSO2Con USA 2015: Iterative Architecture
![Page 2: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/2.jpg)
Architect!
![Page 3: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/7.jpg)
Decisions that are hard to change
● Programming language● DB schema● Infrastructure● Monitoring solution
![Page 8: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/9.jpg)
Architectural significance can change overtime
● DB choice○ NoSQL → MySQL
● Infrastructure○ AWS → Hosting provider (VMs)
![Page 10: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/10.jpg)
Why do software architecture?
http://martinfowler.com/bliki/DesignStaminaHypothesis.html
![Page 11: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/11.jpg)
Enterprise systems are complex
http://www3.cis.fiu.edu/conferences/icac2011/files/Keynote_Kephart.pdf
![Page 12: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/18.jpg)
Traditional – Waterfall method
http://scrumreferencecard.com/scrum-reference-card/
![Page 19: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/19.jpg)
Scrum
http://scrumreferencecard.com/scrum-reference-card/
![Page 20: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/20.jpg)
SAFe - Scaled Agile Framework
http://www.scaledagileframework.com
![Page 21: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/22.jpg)
Iteratively improve - WEST solution
![Page 23: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/23.jpg)
Iteratively improve - WEST solution
![Page 24: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/24.jpg)
Iteratively improve - WEST solution
![Page 25: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/25.jpg)
Iteratively improve - WEST solution
![Page 26: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/26.jpg)
Iteratively improve - Legacy auth
![Page 27: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/27.jpg)
Iteratively improve - Legacy auth
![Page 28: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/29.jpg)
Iteratively improve
![Page 30: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/30.jpg)
Iteratively improve
![Page 31: WSO2Con USA 2015: Iterative Architecture](https://reader031.vdocuments.site/reader031/viewer/2022030204/58f03d721a28ab24658b45ef/html5/thumbnails/31.jpg)
Thank You