SlideShare une entreprise Scribd logo
1  sur  90
Télécharger pour lire hors ligne
http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/
http://microservices-buch.de/ http://microservices-book.com/
http://microservices-book.com/
primer.html
http://microservices-buch.de/
ueberblick.html
FREE!!!!
What is Architecture?
What is an Architect?
Software Architecture
> Definition ISO 42010
Fundamental concepts or properties
of a system in its environment
embodied in its elements,
relationships,
and in the principles of its design and evolution
Architecture =
Boxes & Arrows
Software Architect?
> A title?
> A role!
> …in particular in agile teams.
> Anyone / someone is
doing architecture
Software Architect?
> Designer
> …like an architect for buildings
Architecture=
Boxes + Arrows
Architect=
Designer Role
Conway’s Law
Architecture
copies
communication structures
of the organization
Current
Frontend
Backend
Goal
Current
Frontend
Backend
Current
Frontend
Backend
Goal
Reorganization!
Reorganization!
Current: New goal?
Current: New goal?
New Goal
Architecture
> If architecture = organization
> …then change to architecture = reorganization
> …or organization is a constraint.
Goal
Goal:
Self-contained System
http://scs-architecture-org
Result
Result
Architecture
> Developers’ skills and preferences drive
technology decisions.
> Technology decisions can drive architecture.
Architecture=
Boxes + Arrows
+Org
Architect=
?
Why do we even care
about Architecture?
Maintainability!!
Quality Attributes
> ISO 25010
> E.g. reliability
> Usability
> Maintainability
> ...and a lot more
Architecture=
Quality Attributes
Architect=
?
Quality Attributes
> Reliability
> Usability
> Maintainability
Reliability
> Software has to be available
> Clean architecture & code – any impact?
Reliability
> Software has to be available
> Classic approach:
> Highly available hardware
> Run in a cluster
> …and cluster-enabled software
Reliability
Reliability
> ISO 25010: Availability / Fault tolerance
> ISO 25010: Recoverability
Reliability
> Highly available hardware
> …and cluster
> …focus on MTBF
(Mean time between failure)
Decrease MTTR - How?
Decrease MTTR – How?
> Find a problem faster
> Measure
> Monitoring
> Logs
> Alerts…
Decrease MTTR – How?
> Get the fix out faster
> Deployment
> …or fail-over
Decrease MTTR – How?
> Monitoring and Deployment:
> Ops challenges
> …not classic architecture
Architecture=
Quality Attributes+Org
Architect=
?
Quality Attributes
> Reliability
> Usability
> Maintainability
Usability
> ISO 25010
> Learnability
> Ease-of-use
> Attractiveness
Usability
> Might be very important
> …e.g. to gain a huge market share.
> How do you make it happen?
Architecture =
Boxes & Arrows
Usability??
Some Ideas to
Improve Usability
> Hire an UX expert
> Usability tests
> Prototypes + feedback
> Look at support cases / hotline calls
Some Ideas to
Improve Usability
> No traditional architecture
> QA / Organization / Project management
Usability
> Quality attribute
> Part of the technical decisions
> Beyond “usual” architecture measures
Architecture=
Quality Attributes+Org
Architect=
?
Quality Attributes
> Reliability
> Usability
> Maintainability
Maintainability
> Clean
architecture!
> I am waiting for
such a customer.
We can achieve
maintainability with
clean architecture +
clean code.
Clean Architecture
Developer
Developer
Result?
ECommerce
System
Order
Catalog
Billing
Search
Module = microservices
ECommerce
System
Order
Catalog
Billing
Search
Module = microservices
Communication e.g. REST
REST REST
ECommerce
System
Order
Catalog
Billing
Search
Dependencies between
systems cannot sneak in
ECommerce
System
Order
Catalog
Billing
Search
Dependencies between
systems cannot sneak in
ECommerce
System
Order
Catalog
Billing
Search
Dependencies between
systems cannot sneak in
“Architecture Firewalls”
“Architecture Firewall”
like REST
enforce the architecture
ECommerce
System
Order
Catalog
Billing
Search
Microservices small
ECommerce
System
Order
Catalog
Billing
Search
Microservices small
Hard to mess up
ECommerce
System
Order
Catalog
Billing
Search
Microservices small
Hard to mess up
ECommerce
System
Catalog
Billing
Search
Microservices small
Hard to mess up
ECommerce
System
Order
Catalog
Billing
Search
Microservices small
Hard to mess up
Replace if messed up.
Small,
independent deployable
microservices
are recyclable.
Recycle your
software!
!
How many people
are trying
to replace legacy
systems?
Replaceability
is usually no goal
for a software project.
Why??
We can achieve
maintainability with
clean architecture +
clean code
We can achieve
maintainability with
architecture firewalls +
recyclable microservices
Maintainability
> Clean architecture
focuses on
Changeability.
> …and Analyzability.
> There is more!
Testability
> Another contributing to maintainability
> IMHO: Should be tests, not just testability
> Bonus if tests need not be changed for
refactoring.
> Unit tests?
> Acceptance tests?
Deployment
> It’s nice to change code.
> It’s (lean) waste until it is in production.
> Deployment: another factor for
maintainability.
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
QA
Dev Ops
Maintainability
> Not clean architecture and code
> Recyclable, very decoupled microservices
> Not just structure of the system, but also
> …test and deployment
> …continuous delivery pipeline
Maintainability
> Not just architect and Dev, but also
> QA and Ops
Architecture=
Quality Attributes+Org
Architect=
?
Achieving the Attributes
> Organizational Measure (e.g. hire UX)
> Cross-functional: Ops, Dev, QA
Architect?
> Technical manager
> In charge of achieving the
quality attributes
> Influencing organization
> …and Ops, Dev, QA
Agile Team
> Self Organization
> i.e. not necessarily a defined architect
> Architecture activities cover Ops, Dev, QA
> Cross-functional!
Architecture=
Quality Attributes+Org
Architect=
Technical
Management Role

Contenu connexe

Tendances

Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis
 
Building & managing wa app wely
Building & managing wa app   welyBuilding & managing wa app   wely
Building & managing wa app wely
Spiffy
 

Tendances (20)

Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
 
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
 
From SOA to MSA
From SOA to MSAFrom SOA to MSA
From SOA to MSA
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
BizTalk Server 2013 in Windows Azure IaaS
BizTalk Server 2013 in Windows Azure IaaSBizTalk Server 2013 in Windows Azure IaaS
BizTalk Server 2013 in Windows Azure IaaS
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
 
2019 DevCon - The future of Authentication by Codrin Chirica
2019 DevCon - The future of Authentication by Codrin Chirica2019 DevCon - The future of Authentication by Codrin Chirica
2019 DevCon - The future of Authentication by Codrin Chirica
 
MS Insights Brazil 2015 containers and devops
MS Insights Brazil 2015   containers and devopsMS Insights Brazil 2015   containers and devops
MS Insights Brazil 2015 containers and devops
 
Docker 101
Docker 101Docker 101
Docker 101
 
Azure privatelink
Azure privatelinkAzure privatelink
Azure privatelink
 
Building & managing wa app wely
Building & managing wa app   welyBuilding & managing wa app   wely
Building & managing wa app wely
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011
 
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. JuričJavantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Community and Java EE @ DevConf.CZ
Community and Java EE @ DevConf.CZCommunity and Java EE @ DevConf.CZ
Community and Java EE @ DevConf.CZ
 

Similaire à Architectures and Alternatives

Similaire à Architectures and Alternatives (20)

Technical Architecture
Technical ArchitectureTechnical Architecture
Technical Architecture
 
Microservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software Development
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise Architecture
 
Monolithic to Microservices - Handson
Monolithic to Microservices - HandsonMonolithic to Microservices - Handson
Monolithic to Microservices - Handson
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary Architecture
 
The Role Of The Architect In Turbulent Times
The Role Of The Architect In Turbulent TimesThe Role Of The Architect In Turbulent Times
The Role Of The Architect In Turbulent Times
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Unit2 2
Unit2 2Unit2 2
Unit2 2
 
Enterprise Architecture as a Competitive Advantage in the MarkITS
Enterprise Architecture as a Competitive Advantage in the MarkITSEnterprise Architecture as a Competitive Advantage in the MarkITS
Enterprise Architecture as a Competitive Advantage in the MarkITS
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
Microsoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOpsMicrosoft, Linux, Open Source, DevOps
Microsoft, Linux, Open Source, DevOps
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architect
 
Tips & Tricks to build software architecture document
Tips & Tricks to build software architecture documentTips & Tricks to build software architecture document
Tips & Tricks to build software architecture document
 
Docker enables agile_devops
Docker enables agile_devopsDocker enables agile_devops
Docker enables agile_devops
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
A Day in the Life of a HipChat Developer
A Day in the Life of a HipChat DeveloperA Day in the Life of a HipChat Developer
A Day in the Life of a HipChat Developer
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
EA foundations (Views, Repository, Artifacts and Metamodel)
EA foundations (Views, Repository, Artifacts and Metamodel)EA foundations (Views, Repository, Artifacts and Metamodel)
EA foundations (Views, Repository, Artifacts and Metamodel)
 

Plus de Eberhard Wolff

Plus de Eberhard Wolff (15)

Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Microservice - All is Small, All is Well?
Microservice - All is Small, All is Well?Microservice - All is Small, All is Well?
Microservice - All is Small, All is Well?
 
Legacy Sins
Legacy SinsLegacy Sins
Legacy Sins
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?
 
Micro Service – The New Architecture Paradigm
Micro Service – The New Architecture ParadigmMicro Service – The New Architecture Paradigm
Micro Service – The New Architecture Paradigm
 

Dernier

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Dernier (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

Architectures and Alternatives