wso2con usa 2015: iterative architecture

Post on 14-Apr-2017

340 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Iterative Architecture

Chintana WilamunaSolutions Architectchintana@wso2.com

Architect!

Metaphor for an architect

Like a gardener or a tour guide

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

What is software architecture?

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

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

Highest level breakdown of a system

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

Decisions that are hard to change

● Programming language● DB schema● Infrastructure● Monitoring solution

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

Architectural significance can change overtime

● DB choice○ NoSQL → MySQL

● Infrastructure○ AWS → Hosting provider (VMs)

Why do software architecture?

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

Enterprise systems are complex

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

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

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

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

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

Software evolution

Over 90% of software cost happen during maintenance phase

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

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

Traditional – Waterfall method

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

Scrum

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

SAFe - Scaled Agile Framework

http://www.scaledagileframework.com

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

Iteratively improve - WEST solution

Iteratively improve - WEST solution

Iteratively improve - WEST solution

Iteratively improve - WEST solution

Iteratively improve - Legacy auth

Iteratively improve - Legacy auth

Iteratively improve - Legacy auth

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

scrums

Iteratively improve

Iteratively improve

Thank You

top related