SlideShare une entreprise Scribd logo
1  sur  60
Web Distributed Systems 
Web Distributed Systems Design
Principles
Availability 
The uptime of a website is absolutely critical to the reputation and functionality 
of many companies. For some of the larger online retail sites, being unavailable 
for even minutes can result in thousands or millions of dollars in lost revenue, so 
designing their systems to be constantly available and resilient to failure is both a 
fundamental business and a technology requirement. High availability in 
distributed systems requires the careful consideration of redundancy for key 
components, rapid recovery in the event of partial system failures, and graceful 
degradation when problems occur.
Performance 
Website performance has become an important consideration for most sites. The 
speed of a website affects usage and user satisfaction, as well as search engine 
rankings, a factor that directly correlates to revenue and retention. As a result, 
creating a system that is optimized for fast responses and low latency is key.
Reliability 
A system needs to be reliable, such that a request for data will consistently return 
the same data. In the event the data changes or is updated, then that same 
request should return the new data. Users need to know that if something is 
written to the system, or stored, it will persist and can be relied on to be in place 
for future retrieval.
Scalability 
When it comes to any large distributed system, size is just one aspect of scale that 
needs to be considered. Just as important is the effort required to increase capacity to 
handle greater amounts of load, commonly referred to as the scalability of the system. 
Scalability can refer to many different parameters of the system: how much additional 
traffic can it handle, how easy is it to add more storage capacity, or even how many 
more transactions can be processed.
Manageability 
Designing a system that is easy to operate is another important consideration. The 
manageability of the system equates to the scalability of operations: maintenance and 
updates. Things to consider for manageability are the ease of diagnosing and 
understanding problems when they occur, ease of making updates or modifications, 
and how simple the system is to operate. (I.e., does it routinely operate without failure 
or exceptions?)
Cost 
Cost is an important factor. This obviously can include hardware and software costs, 
but it is also important to consider other facets needed to deploy and maintain the 
system. The amount of developer time the system takes to build, the amount of 
operational effort required to run the system, and even the amount of training 
required should all be considered. Cost is the total cost of ownership.
So , how to start?
Oracle, JBoss, REST, NoSQL, 
Spring, Clusters, VMware???
Stop, Stop, Stop!!!
Technologies First???
Architecture First !!!
First step-> B2B or B2C??? 
Business-to-business (B2B) or Business-to-consumer(B2C)? 
or 
B2G(Business-to-government)?
May be O2O? - a new Model for the Development 
of E-Commerce 
Online2offline?
Let’s Start 
We need architecture which support – 
Flexibility, Scalability , Manageability 
But what is Software architecture?
Architecture is the fundamental organization of a system 
embodied in its components, their relationships to each 
other, and to the environment, and the principles guiding its 
design and evolution.
A system is a collection of components organized to 
accomplish a specific function or set of functions. The term 
system encompasses individual applications, systems in the 
traditional sense, subsystems, systems of systems, product 
lines, product families, whole enterprises, and other 
aggregations of interest. A system exists to fulfill one or more 
missions in its environment.
The environment, or context, determines the setting and 
circumstances of developmental, operational, political, and 
other influences upon that system.
A mission is a use or operation for which a system is intended 
by one or more stakeholders to meet some set of objectives.
A stakeholder is an individual, team, or organization (or 
classes thereof) with interests in, or concerns relative to, a 
system.
A component is a modular part of a system that encapsulates 
its contents and whose manifestation is replaceable within 
its environment. A component defines its behavior in terms 
of provided and required interfaces. As such, a component 
serves as a type, whose conformance is defined by these 
provided and required interfaces (encompassing both their 
static as well as dynamic semantics).
The software architecture of a system or a collection of 
systems consists of all the important design decisions about 
the software structures and the interactions between those 
structures that comprise the systems. The design decisions 
support a desired set of qualities that the system should 
support to be successful. The design decisions provide a 
conceptual basis for system development, support, and 
maintenance. [McGovern]
One component example: 
MessagingService
SOA!!! 
Service-oriented Architecture
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Principles Of SOA Design
Forgot about global data model 
Choose Service model
Relations
One REDWrong Relation
Say no to RED!
Technologies? 
Java EE – EJB3.2, JSF2.2, JMS 
REST 
NoSQL 
SQL 
WILDFLY
Slides author: Armen Arzumanyan 
Slides source: www 
Linkedin : https://www.linkedin.com/pub/armen-arzumanyan/4/b24/605 
Blog: https://armdev.wordpress.com/ 
Github: https://github.com/armdev 
E-mail: armen.arzumanyan@gmail.com
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Discover Armenia!
Architecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems Design
Architecture and Distributed Systems, Web Distributed Systems Design

Contenu connexe

Tendances

The Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed SystemThe Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed System
Real-Time Innovations (RTI)
 
MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015
James Tramel
 
Introduction to Java Enterprise Edition
Introduction to Java Enterprise EditionIntroduction to Java Enterprise Edition
Introduction to Java Enterprise Edition
Abdalla Mahmoud
 

Tendances (18)

Clientserver
ClientserverClientserver
Clientserver
 
Distributed RDBMS: Data Distribution Policy: Part 1 - What is a Data Distribu...
Distributed RDBMS: Data Distribution Policy: Part 1 - What is a Data Distribu...Distributed RDBMS: Data Distribution Policy: Part 1 - What is a Data Distribu...
Distributed RDBMS: Data Distribution Policy: Part 1 - What is a Data Distribu...
 
Client server computing_keypoint_and_questions
Client server computing_keypoint_and_questionsClient server computing_keypoint_and_questions
Client server computing_keypoint_and_questions
 
Cloud computing
Cloud computing Cloud computing
Cloud computing
 
Z26167171
Z26167171Z26167171
Z26167171
 
04 Client Server Computing
04 Client Server Computing04 Client Server Computing
04 Client Server Computing
 
Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad Client/Server Architecture By Faisal Shahzad
Client/Server Architecture By Faisal Shahzad
 
The Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed SystemThe Single Most Important Decision in Designing Your Distributed System
The Single Most Important Decision in Designing Your Distributed System
 
Cc unit 1 updated
Cc unit 1 updatedCc unit 1 updated
Cc unit 1 updated
 
Cc unit 4 updated version
Cc unit 4 updated versionCc unit 4 updated version
Cc unit 4 updated version
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
Load Balancing Tactics in Cloud Computing: A Systematic Study
Load Balancing Tactics in Cloud Computing: A Systematic Study    Load Balancing Tactics in Cloud Computing: A Systematic Study
Load Balancing Tactics in Cloud Computing: A Systematic Study
 
MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015
 
L21 scalability
L21 scalabilityL21 scalability
L21 scalability
 
Clusetrreport
ClusetrreportClusetrreport
Clusetrreport
 
Introduction to Java Enterprise Edition
Introduction to Java Enterprise EditionIntroduction to Java Enterprise Edition
Introduction to Java Enterprise Edition
 
Chapter1
Chapter1Chapter1
Chapter1
 
A cloud environment for backup and data storage
A cloud environment for backup and data storageA cloud environment for backup and data storage
A cloud environment for backup and data storage
 

Similaire à Architecture and Distributed Systems, Web Distributed Systems Design

CRM system for WeLoveVideo.pptCRM System for WeLoveVid.docx
CRM system for WeLoveVideo.pptCRM System for WeLoveVid.docxCRM system for WeLoveVideo.pptCRM System for WeLoveVid.docx
CRM system for WeLoveVideo.pptCRM System for WeLoveVid.docx
mydrynan
 
The Systems Development Life Cycle
The Systems Development Life CycleThe Systems Development Life Cycle
The Systems Development Life Cycle
Crystal Torres
 
Cs633-1 Enterprise Architecture Foundation
Cs633-1 Enterprise Architecture FoundationCs633-1 Enterprise Architecture Foundation
Cs633-1 Enterprise Architecture Foundation
Casey Hudson
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno
 

Similaire à Architecture and Distributed Systems, Web Distributed Systems Design (20)

TREA - transparent enterprise architecture
TREA - transparent enterprise architectureTREA - transparent enterprise architecture
TREA - transparent enterprise architecture
 
Migration and Security in SOA | Torry Harris Whitepaper
Migration and Security in SOA | Torry Harris WhitepaperMigration and Security in SOA | Torry Harris Whitepaper
Migration and Security in SOA | Torry Harris Whitepaper
 
Cloud Design Patterns Book from Microsoft
Cloud Design Patterns Book from MicrosoftCloud Design Patterns Book from Microsoft
Cloud Design Patterns Book from Microsoft
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
CRM system for WeLoveVideo.pptCRM System for WeLoveVid.docx
CRM system for WeLoveVideo.pptCRM System for WeLoveVid.docxCRM system for WeLoveVideo.pptCRM System for WeLoveVid.docx
CRM system for WeLoveVideo.pptCRM System for WeLoveVid.docx
 
Software process
Software processSoftware process
Software process
 
The Systems Development Life Cycle
The Systems Development Life CycleThe Systems Development Life Cycle
The Systems Development Life Cycle
 
I T E007 Warner 091807
I T E007  Warner 091807I T E007  Warner 091807
I T E007 Warner 091807
 
SW Architecture Monolithic to SOA
SW Architecture Monolithic to SOASW Architecture Monolithic to SOA
SW Architecture Monolithic to SOA
 
Microsoft Mimarisi
Microsoft MimarisiMicrosoft Mimarisi
Microsoft Mimarisi
 
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
 
Agility by Design - Building Software to Last
Agility by Design - Building Software to LastAgility by Design - Building Software to Last
Agility by Design - Building Software to Last
 
C0371019027
C0371019027C0371019027
C0371019027
 
VisiREO - The Next Generation End-to-End REO Management
VisiREO - The Next Generation End-to-End REO ManagementVisiREO - The Next Generation End-to-End REO Management
VisiREO - The Next Generation End-to-End REO Management
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Actionable Architecture
Actionable ArchitectureActionable Architecture
Actionable Architecture
 
Quality Attributes of Web Software Applications ∗
Quality Attributes of Web Software Applications ∗Quality Attributes of Web Software Applications ∗
Quality Attributes of Web Software Applications ∗
 
Cs633-1 Enterprise Architecture Foundation
Cs633-1 Enterprise Architecture FoundationCs633-1 Enterprise Architecture Foundation
Cs633-1 Enterprise Architecture Foundation
 
Architecting enterprise BPM systems for optimal agility
Architecting enterprise BPM systems for optimal agilityArchitecting enterprise BPM systems for optimal agility
Architecting enterprise BPM systems for optimal agility
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 

Dernier

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%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
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
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...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
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
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%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
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
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...
 
%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
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

Architecture and Distributed Systems, Web Distributed Systems Design

  • 1. Web Distributed Systems Web Distributed Systems Design
  • 3. Availability The uptime of a website is absolutely critical to the reputation and functionality of many companies. For some of the larger online retail sites, being unavailable for even minutes can result in thousands or millions of dollars in lost revenue, so designing their systems to be constantly available and resilient to failure is both a fundamental business and a technology requirement. High availability in distributed systems requires the careful consideration of redundancy for key components, rapid recovery in the event of partial system failures, and graceful degradation when problems occur.
  • 4. Performance Website performance has become an important consideration for most sites. The speed of a website affects usage and user satisfaction, as well as search engine rankings, a factor that directly correlates to revenue and retention. As a result, creating a system that is optimized for fast responses and low latency is key.
  • 5. Reliability A system needs to be reliable, such that a request for data will consistently return the same data. In the event the data changes or is updated, then that same request should return the new data. Users need to know that if something is written to the system, or stored, it will persist and can be relied on to be in place for future retrieval.
  • 6. Scalability When it comes to any large distributed system, size is just one aspect of scale that needs to be considered. Just as important is the effort required to increase capacity to handle greater amounts of load, commonly referred to as the scalability of the system. Scalability can refer to many different parameters of the system: how much additional traffic can it handle, how easy is it to add more storage capacity, or even how many more transactions can be processed.
  • 7. Manageability Designing a system that is easy to operate is another important consideration. The manageability of the system equates to the scalability of operations: maintenance and updates. Things to consider for manageability are the ease of diagnosing and understanding problems when they occur, ease of making updates or modifications, and how simple the system is to operate. (I.e., does it routinely operate without failure or exceptions?)
  • 8. Cost Cost is an important factor. This obviously can include hardware and software costs, but it is also important to consider other facets needed to deploy and maintain the system. The amount of developer time the system takes to build, the amount of operational effort required to run the system, and even the amount of training required should all be considered. Cost is the total cost of ownership.
  • 9. So , how to start?
  • 10. Oracle, JBoss, REST, NoSQL, Spring, Clusters, VMware???
  • 14. First step-> B2B or B2C??? Business-to-business (B2B) or Business-to-consumer(B2C)? or B2G(Business-to-government)?
  • 15. May be O2O? - a new Model for the Development of E-Commerce Online2offline?
  • 16. Let’s Start We need architecture which support – Flexibility, Scalability , Manageability But what is Software architecture?
  • 17. Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.
  • 18. A system is a collection of components organized to accomplish a specific function or set of functions. The term system encompasses individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest. A system exists to fulfill one or more missions in its environment.
  • 19. The environment, or context, determines the setting and circumstances of developmental, operational, political, and other influences upon that system.
  • 20. A mission is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives.
  • 21. A stakeholder is an individual, team, or organization (or classes thereof) with interests in, or concerns relative to, a system.
  • 22. A component is a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. A component defines its behavior in terms of provided and required interfaces. As such, a component serves as a type, whose conformance is defined by these provided and required interfaces (encompassing both their static as well as dynamic semantics).
  • 23. The software architecture of a system or a collection of systems consists of all the important design decisions about the software structures and the interactions between those structures that comprise the systems. The design decisions support a desired set of qualities that the system should support to be successful. The design decisions provide a conceptual basis for system development, support, and maintenance. [McGovern]
  • 24. One component example: MessagingService
  • 37. Forgot about global data model Choose Service model
  • 38.
  • 41.
  • 42. Say no to RED!
  • 43. Technologies? Java EE – EJB3.2, JSF2.2, JMS REST NoSQL SQL WILDFLY
  • 44. Slides author: Armen Arzumanyan Slides source: www Linkedin : https://www.linkedin.com/pub/armen-arzumanyan/4/b24/605 Blog: https://armdev.wordpress.com/ Github: https://github.com/armdev E-mail: armen.arzumanyan@gmail.com