Software Architecture: How Much Design?

Òscar Vilaplana
Òscar VilaplanaPython Geek at Paylogic
How much design?
Òscar Vilaplana
Paylogic, winter 2013
How much talk?
Know How Much & What It Means
What matters
Love the risks
Risks of Models
Architecture-Evident Code
What matters
-Paul Clemens
“The software architecture of a computing
system is the set of structures needed to
reason about the system, which comprise
software elements, relations among them, and
properties of both.”
Issues
Organization of a system as a composition of components
Global control structures
Protocols
Physical distribution
Scaling, performance
Evolution
Design alternatives
What Counts
Macroscopic parts of the design
Everything else is cover on detailed designs.
Not limited to the biggest parts in the system.
e.g. the naming pattern of a method may be architecturally significant.
e.g. prohibit threads, set time duration limitations on methods, require jobs
to be scheduled…
The Chain of Intentionality
Chain from high-level intentions or decisions to low-level details.
Most details left open to reasonable implementation, but not all!
Why is it important?
Skeleton of the system
Influence on quality
Mismatch architecture/functionality: difficult to develop.
Imposes constraints
easy/possible for the system to evolve in a certain way
impossible to evolve in other ways
Constraints?
Embody judgement: guide other engineers to acceptable solutions without
transferring all knowledge of the domain.
Conceptual integrity. Reduce needless creativity.
Reduce complexity
Understand runtime behavior
-Frederik P. Brooks
Conceptual integrity of a system is an
important goal of system design.
A single good idea consistently applied is
better than several brilliant ideas scattered
across a system.
When is it important?
Small solution space, or it’s hard to design any acceptable solution.
High failure risk.
Difficult quality attributes, such as meeting a very high performance
requirement.
New domain, even if it’s just new to you.
Product lines, in which all products must share a common architecture.
When is it important?
How bad would it be to get the architecture wrong?
Basic approaches
Ignore
Embrace
Hoist
Architecture-indifferent design
Degrades.
No shared architectural visiaon.
Increasing complexity.
Architecture-focused design
Seeks architectural solutions.
Entails reasoning.
Uses abstractions, views.
Architecture hoisting
Choose a suitable architecture.
The architecture does the work for you.
Example
(made up)
Requirement
The system must respond to requests within 50ms.
Architecture-indifferent
Reuse the distributed architecture from another system.
If the communication is too slow:
Try to make the code more efficient.
Change the architecture.
Architecture-focused
Analyze the rest of the requirements of the system.
Design an architecture that is compatible with them.
Measure: Prototype, stress test, profile.
Architecture hoisting
How can the architecture ensure that a 50ms response is always achievable?
Peak demand times? Can we get additional processing from the cloud?
Example
(real)
Example: Queue
Handle 10.000+ users per second.
Stability: keep working if a few (but not all) servers die.
Architecture: decentralized, identical nodes.
Lower level: distributed synchronization.
Benefits: easy scale up with load. Ensure fast response.
Fairness with waiting times (within limits).
Accepted tradeoffs: difficult to estimate waiting time, difficult to develop and test, limited fairness.
Example: Queue, Improved
Keep working even if ALL servers die (with reduced functionality).
Recover from errors, don’t fail to the customers.
Architecture: client-server
Tradeoffs: the client becomes a SPF: requires additional testing, protective
coding.
Recap
Software architecture deals with the large-scale decisions and macroscopic
elements. These decisions have a deep impact into the code.
The archictecture choices are important because the architecture asks as a
skeleton of the system and influences all its attributes: if the architecture is
suitable for the desired features, it will be easier to build them; if it’s unsuitable,
you will struggle.
Architecture is just one of many things that require attention. It’s helpful to
know ho much attention to pay to it.
Architecture is important enough to understand and choose deliberately.
Software Architecture
Deals with the large-scale decisions and macroscopic elements.
The decisions have a deep impact into the code.
The archictecture choices are important.
Architecture acts as a skeleton of the system and influences all its attributes.
Architecture is important enough to understand and choose deliberately.
How much?
Love the risks
The concept of failure is central to
the design process,
and it is by thinking in terms of
obviating failure
that successful designs are achieved.
Failure considerations
and proactive failure analysis
are essential for achieving success.
It is precisely
when such considerations and analyses are
incorrect or incomplete
that design errors are introduced
and actual failures occur.
- Petroski, Henry
Design Paradigms: Case Histories of Error and Judgment in Engineering.
Common approaches
No front-up design
Yardstick
Upfront documentation
Ad-hoc
Risk-driven
No up-front design
Just write code.
Design happens together with coding.
Impractical when failure risks are high.
Yardstick
Define percentages of time that should be spent an design, coding,
integration…
Can help plan architecture effort
Does not help you choose techniques.
Upfront documentation
Choose appropriate design techiques.
Write a design documentation upfront.
Impractical when failure risks are low.
Ad-hoc
React to the project needs.
Decide on the spot how much design to do.
Subjective.
No enduring lessons.
Risk-driven
Risks are considered as seriously as features.
Identify and prioritize risks.
Select and apply techniques.
Evaluate risk reduction.
Are you risk-driven?
What are your primary failure risks and
corresponding engineering techniques?
What are risks?
What are risks?
risk = perceived probability of failure × perceived impact
Risk descriptions
Actionable.
Testable failure scenarios.
Engineering Risks
Analysis
Design
Implementation
Project Management Risks
Schedules
Sequencing of work
Delivery
Team size
Shared vocabulary
Product may not understand why something doesn’t work.
They will understand the risk of its failure.
Engineering helps Product understand.
Reverse true.
Treating risks with agility
1. Identify risks.
2. Evaluate mitigation.
3. Write remaining risks in testable form.
4. Prioritize risks together with features.
Identifying risks
Qualities difficult to achieve.
Incomplete requirements?
Quality Attribute Workshop
Taxonomy-Based Questionnaire
Accept risks.
Prototypical risks
Risks inherent in the domain.
Checklist.
Know them.
Notice when deviating from the norm.
Prioritizing risks
Priority to stakeholders.
Perceived difficulty by developers.
Reduce Risks
Risk reduction process
Explicit.
Repeatable.
Choose technique based on risk.
Risk cannot be avoided.
Understand the problem.
Models: Analogic vs Analytic
Analogic: each element has an analogue in the domain.
Analytic: direct computational analysis.
Choose model based on risk
Understanding relationship between domain entities: Analogic.
Calculate response time distributions: Analytic.
Stop!
Know when to stop
effort ∝ risk
Desing risky parts
Subjective evaluation
Evolutionary vs Planned
Planned design
Detail before construction.
Not sure it can be built.
Shared architecture.
Minimal planned design
Plan to address biggest risks
Evolve rest
Evolutionary design
Grows with system.
Refactoring.
Test-driven design.
Continuous Integration.
Plan or Evolve?
Planning
Global properties
Avoid dead ends
Team coordination
Easier to make mistakes
Evolutionary
See it working earlier.
Identify mistakes.
Agile.
Fun with Models
Focus on risks
Trade-off architecture risks vs time, acceptance…
Map risks and techniques.
Understand
Why did you take this decision?
Why did you follow this process?
Distribute architecture skills
Engineering concern!
Efficient communication.
Answer questions, relate them to architecture models.
Small code details can be architecturally significant.
Stick to architecture vs raise flag for change.
Architect doesn’t compensate for developer knowledge.
Choices
Design involves tradeoffs.
Align tradeoffs align with quality attribute priorities.
Follow pattern that:
Helps understand reasoning
Can be evaluated to check if decisions align with priorities
X is a priority,
so we chose design Y
and accepted downside Z
Risks of Big Design Up Front
Unnecessary documentation.
Coding starts → new risks or requirements found → documentation outdated.
!
Address critical risks.
Prototype / implement.
Instead:
Risks of Top-Down Design
Lower-level patterns ignored.
Incompatibility top-level / lower levels.
Lost oportunity for great solutions due to premature top-level decisions.
Example
Risks
Extensibility

supporting new use cases part of the domain requires changing the API.
Knowledge

understanding the domain is not enough to understand the API.
Discoverability

clients need to implement API- or domain- logic in order to use the API.
Risks, Addressed
Extensibility, Knowledge

Choice of resources and actions: follow domain, don’t restrict to use cases.
Discoverability

Consistency of resources, representations, actions.

Machine- (and human-) readable documentation for each entry point.
Tradeoffs
Efficiency
Interface segregation.
–Robert C. Martin
Many client specific interfaces are better than
one general purpose interface
Risks
Extensibility

supporting new use cases part of the domain requires changing the API.
Knowledge

understanding the domain is not enough to understand the API.
Discoverability

clients need to implement API- or domain- logic in order to use the API.
Tradeoffs
Efficiency
Interface segregation.
Risks
Extensibility:

Adding a custom API for a client (e.g for efficiency purposes) requires rewriting
the business logic.
Communication
HTTP API

HTTP interface
PTA

Python simple types interface
Paylogic Core Interface

Interface to the core, guarantee business rules
Paylogic Core
Communication’
Fast Frontoffice HTTP API

Python interface that provides an efficient HTTP interface for the Frontoffice
PTA
Paylogic Core Interface
Paylogic Core
Communication’
Frontoffice HTTP Layer

Simple HTTP layer
Fast Frontoffice API

Python interface that provides an efficient API for the Frontoffice
Paylogic Core Interface
Paylogic Core
Remaining Challenges
Estimating Risks
Unforeseen risks (checklists help).
Risk priority.
Evaluating Alternatives
Costly.
Balance of detail:
Enough detail to represent usefulness.
Work required.
Reusability of models
Not always possible.
Safely ignored details may be important when reusing.
Issues Spanning Other Teams
Dilemma:
Solve problem in Engineering, or
Buy tool for Customer Support to solve on their own.
Risks of Models
Solving Problems
Sometimes abstractions are needed.
Sometimes they aren’t.
Good choice: efficiency + good results!
Abstractions
Size, complexity.
Focus on essence.
Reason about system qualities.
-George E. P. Box
All models are wrong,
but some are useful.
Reasoning
One model, different purposes.
Amplify reasoning.
Standards: spot errors.
Question first!
What to ask?
Details
Abstraction level
Software Architecture: How Much Design?
Software Architecture: How Much Design?
Risks of Model Everything
Wasted effort.
Analysis paralysis.
Not every project needs models
Models help solve problems and mitigate risks.
Some problems are best solved with models.
Other problems are best solved directly.
Don’t Blindly Model Thoroughly
Is there a reason?
Is there a risk?
Code first?
Reveal risks.
Prototype, test, measure.
Models
Domain: Truths.
Design: System. Commitments (incomplete)
Code: Implementation structure. Commitments (complete).
Business: What the business does, why. Goals.
Software Architecture: How Much Design?
Common objections
Already know the domain.
Too simple.
Irrelevant for architecture.
Someone else’s job.
Learn by coding.
Analysis paralysis.
Common objections
Already know the domain: Details!
Too simple: Details!
Irrelevant for architecture: How do you know!
Someone else’s job: Your insight!
Learn by coding: Impractical!
Analysis paralysis: Indeed, but <next slide>!
Avoid Paralysis
Begin with questions
…about failure risks!
Decide ahead depth and breadth
Know when to stop.
Architecture
Evident
Code
Code-Model Gap
Abstraction
Commitments
Intensional elements
Work Through the Gap
Understand both the architecture models and the code.
Keep models and code in sync.
Write architecture-evident code.
When to update the model?
Architecture Evident Code
Code: solution.
Decisions?
Embed architectural intent.
Go beyond “it works”.
Why?
Evolution.
Maintainability.
Developer efficiency.
Lower documentation burden.
Easy to get started.
Hints
Intent: cancel a basket.
Not evident: db.query(‘update ord_orders where…’)
Evident: pta.basket.cancel(…). As in the domain:
Basket resource.
Cancel operation.
Model In Code
Types and relationships of the domain are still valid in the code.
Makes sense in the domain: it makes sense in the code.
Easier to allocate responsibilities.
Easier to learn about the domain by reading the code.
Conclusion
Care About
Architecture.
Risks.
Right measure.
Re-evaluate.
Sync model and code.
Make model evident.
Thanks!
1 of 114

Recommended

Saam by
SaamSaam
SaamHimanshu
3.5K views13 slides
Abc by
AbcAbc
AbcHimanshu
1.1K views12 slides
Saam by
SaamSaam
SaamHimanshu
1.7K views10 slides
Software architecture Unit 1 notes by
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
9.3K views10 slides
Architecture business cycle by
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
28.5K views12 slides
Software Architecture and Design Introduction by
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsmanKhan429
1.8K views5 slides

More Related Content

What's hot

Slides chapter 10 by
Slides chapter 10Slides chapter 10
Slides chapter 10Priyanka Shetty
2.8K views18 slides
Architecture evaluation by
Architecture evaluationArchitecture evaluation
Architecture evaluationRamanamurthyBanda1
93 views17 slides
Architecture evaluation by
Architecture evaluationArchitecture evaluation
Architecture evaluationAlexandru Chica
14.4K views17 slides
Unit 1 by
Unit 1Unit 1
Unit 1KRAMANJANEYULU1
1.9K views41 slides
REQUIREMENT ENGINEERING by
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
13.6K views37 slides
System requirements engineering by
System requirements engineeringSystem requirements engineering
System requirements engineeringAnimesh Chaturvedi
230 views64 slides

What's hot(20)

REQUIREMENT ENGINEERING by Saqib Raza
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza13.6K views
Architecture Review by Himanshu
Architecture ReviewArchitecture Review
Architecture Review
Himanshu 1.4K views
UW Presentation - Architecture Trade-off Analysis Method by Shrikant Palkar
UW Presentation - Architecture Trade-off Analysis MethodUW Presentation - Architecture Trade-off Analysis Method
UW Presentation - Architecture Trade-off Analysis Method
Shrikant Palkar3.5K views
Architecture design in software engineering by Preeti Mishra
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra67.9K views
10 solution architecture concepts by Paul Preiss
10 solution architecture concepts10 solution architecture concepts
10 solution architecture concepts
Paul Preiss101 views
Software Architecture by Reuse, Composition and Customization by Ivano Malavolta
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
Ivano Malavolta3.2K views
Quality Attribute: Testability by Pranay Singh
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: Testability
Pranay Singh136 views
Migration Strategies & Methodologies by Saqib Raza
Migration Strategies & MethodologiesMigration Strategies & Methodologies
Migration Strategies & Methodologies
Saqib Raza311 views

Viewers also liked

Software Architecture & Design - Our Meetup Group by
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupOliver Stadie
811 views51 slides
Software Architecture Design for Begginers by
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
5.6K views149 slides
Software architecture & design patterns for MS CRM Developers by
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers sebedatalabs
8K views40 slides
Software Architecture vs design by
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
17K views50 slides
Web design ux trends 2013 by
Web design ux trends 2013Web design ux trends 2013
Web design ux trends 2013Mahmoud Farrag
2.1K views10 slides
Web, Design, and UX Trends for 2008 by
Web, Design, and UX Trends for 2008Web, Design, and UX Trends for 2008
Web, Design, and UX Trends for 2008Jeremy Johnson
2.2K views224 slides

Viewers also liked(20)

Software Architecture & Design - Our Meetup Group by Oliver Stadie
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup Group
Oliver Stadie811 views
Software Architecture Design for Begginers by Chinh Ngo Nguyen
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
Chinh Ngo Nguyen5.6K views
Software architecture & design patterns for MS CRM Developers by sebedatalabs
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
sebedatalabs8K views
Software Architecture vs design by Arslan Anwar
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
Arslan Anwar17K views
Web design ux trends 2013 by Mahmoud Farrag
Web design ux trends 2013Web design ux trends 2013
Web design ux trends 2013
Mahmoud Farrag2.1K views
Web, Design, and UX Trends for 2008 by Jeremy Johnson
Web, Design, and UX Trends for 2008Web, Design, and UX Trends for 2008
Web, Design, and UX Trends for 2008
Jeremy Johnson2.2K views
Web, Design, and UX Trends for 2006 by Jeremy Johnson
Web, Design, and UX Trends for 2006Web, Design, and UX Trends for 2006
Web, Design, and UX Trends for 2006
Jeremy Johnson1.7K views
Web, Design, and UX Trends for 2005 by Jeremy Johnson
Web, Design, and UX Trends for 2005Web, Design, and UX Trends for 2005
Web, Design, and UX Trends for 2005
Jeremy Johnson2.2K views
Doing Your HW - A UX approach to your web design by Fabian Alcantara
Doing Your HW - A UX approach to your web designDoing Your HW - A UX approach to your web design
Doing Your HW - A UX approach to your web design
Fabian Alcantara930 views
Introduction to Antetype - Web UX design tool by La FeWeb
Introduction to Antetype - Web UX design toolIntroduction to Antetype - Web UX design tool
Introduction to Antetype - Web UX design tool
La FeWeb1.4K views
Responsive Web Design (Microsoft Web & Phone UX Tour 2011) by Bram Vanderhaeghe
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Bram Vanderhaeghe817 views
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk by Steve Fisher
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning TalkConflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
Conflict is the Key to Great UX - Web Design Day Pittsburgh Lightning Talk
Steve Fisher1.1K views
Permendagri no-112-tahun-2014-tentang-pemilihan-kepala-desa by BPD Ajakkang
Permendagri no-112-tahun-2014-tentang-pemilihan-kepala-desaPermendagri no-112-tahun-2014-tentang-pemilihan-kepala-desa
Permendagri no-112-tahun-2014-tentang-pemilihan-kepala-desa
BPD Ajakkang316 views
Hexagonal architecture - message-oriented software design (Symfony Live Berli... by Matthias Noback
Hexagonal architecture - message-oriented software design (Symfony Live Berli...Hexagonal architecture - message-oriented software design (Symfony Live Berli...
Hexagonal architecture - message-oriented software design (Symfony Live Berli...
Matthias Noback2.6K views
Software Architecture Design Patterns by Stanislav
Software Architecture Design PatternsSoftware Architecture Design Patterns
Software Architecture Design Patterns
Stanislav 749 views

Similar to Software Architecture: How Much Design?

04 designing architectures by
04 designing architectures04 designing architectures
04 designing architecturesMajong DevJfu
707 views30 slides
The Modern Software Architect by
The Modern Software ArchitectThe Modern Software Architect
The Modern Software ArchitectNiels Bech Nielsen
6.1K views45 slides
Software Development in 21st Century by
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
618 views33 slides
Oop 2014 sw architekt v3 by
Oop 2014 sw architekt v3Oop 2014 sw architekt v3
Oop 2014 sw architekt v3Michael Stal
1.3K views58 slides
He mian agile project-inception by
He mian   agile project-inceptionHe mian   agile project-inception
He mian agile project-inceptionOdd-e
483 views45 slides
An Introduction to Project management(project management tutorials) by
An Introduction to Project management(project management tutorials)An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)Daroko blog(www.professionalbloggertricks.com)
3.9K views43 slides

Similar to Software Architecture: How Much Design?(20)

04 designing architectures by Majong DevJfu
04 designing architectures04 designing architectures
04 designing architectures
Majong DevJfu707 views
Software Development in 21st Century by Henry Jacob
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
Henry Jacob618 views
Oop 2014 sw architekt v3 by Michael Stal
Oop 2014 sw architekt v3Oop 2014 sw architekt v3
Oop 2014 sw architekt v3
Michael Stal1.3K views
He mian agile project-inception by Odd-e
He mian   agile project-inceptionHe mian   agile project-inception
He mian agile project-inception
Odd-e483 views
27 people roles_and_teams by Majong DevJfu
27 people roles_and_teams27 people roles_and_teams
27 people roles_and_teams
Majong DevJfu569 views
Why die a developer ? (programming to architecture) by Rajesh M
Why die a developer  ? (programming to architecture)Why die a developer  ? (programming to architecture)
Why die a developer ? (programming to architecture)
Rajesh M105 views
02 architectures in_context by Majong DevJfu
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu1K views
Mi 291 chapter 2 (engineering analsysis) by varun teja G.V.V
Mi 291 chapter 2 (engineering analsysis)Mi 291 chapter 2 (engineering analsysis)
Mi 291 chapter 2 (engineering analsysis)
varun teja G.V.V1.3K views
Software Life Cylce Model by Jegadeesh Sam
Software Life Cylce ModelSoftware Life Cylce Model
Software Life Cylce Model
Jegadeesh Sam802 views

More from Òscar Vilaplana

Type Checking in Python at Tiqets by
Type Checking in Python at TiqetsType Checking in Python at Tiqets
Type Checking in Python at TiqetsÒscar Vilaplana
109 views27 slides
Lean Software Development: Validated Learning by
Lean Software Development: Validated LearningLean Software Development: Validated Learning
Lean Software Development: Validated LearningÒscar Vilaplana
983 views118 slides
Celery by
CeleryCelery
CeleryÒscar Vilaplana
954 views34 slides
Handling Massive Traffic with Python by
Handling Massive Traffic with PythonHandling Massive Traffic with Python
Handling Massive Traffic with PythonÒscar Vilaplana
741 views15 slides
Continuous deployment by
Continuous deploymentContinuous deployment
Continuous deploymentÒscar Vilaplana
593 views128 slides
Tornado in Depth by
Tornado in DepthTornado in Depth
Tornado in DepthÒscar Vilaplana
2.2K views100 slides

Recently uploaded

VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
207 views54 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
35 views49 slides
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
129 views10 slides
"Package management in monorepos", Zoltan Kochan by
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan KochanFwdays
34 views18 slides
Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
146 views31 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
196 views62 slides

Recently uploaded(20)

VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue207 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue108 views
The Power of Generative AI in Accelerating No Code Adoption.pdf by Saeed Al Dhaheri
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdf
Saeed Al Dhaheri39 views
Initiating and Advancing Your Strategic GIS Governance Strategy by Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software184 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li91 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 views
"Node.js Development in 2024: trends and tools", Nikita Galkin by Fwdays
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin
Fwdays33 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 views
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue137 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 views

Software Architecture: How Much Design?