SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
intro to
software
@mljungblad
             blog: ljungblad.nu
       code: github.com/archie
mail: marcus.ljungblad@mah.se
what’s an
It’s all about quality,
but you can’t have it all!
Why architect?
Yet!




who’s an
Car requirements



               Drive forwards and backwards

               Use gasoline to power the engine

               Steer the vehicle using a wheel

               Control speed using a foot pedal
define a few
car qualities
”For any different system, there are a
number of available architectures, and the
qualities that you want should
rule which architectural
choices you make.”
cost and time
f(
 feature x using design y
     with downside z        )
What views?

         views
styles
and patterns
A complete mess
Client

Client

         Server




                  Client
$ node mapi.js -p 8000 > /tmp/mapi.log 2>&1 &
Presentation



Business logic



 Data model
C

A

        B




    D       D
C/S

C/S

            C/S




      C/S         C/S
A bible!
what is
”The interesting thing about Cloud
Computing is that we’ve redefined Cloud
Computing to include everything that we
 already do. . . . I don’t understand what
      we would do differently in the light
                of Cloud Computing other
                  than change the wording
                       of some of our ads.”
”Cloud Computing refers to both the
applications delivered as services over the
Internet and the hardware and systems
software in the datacenters that provide
those services.”
Cloud computing




              Illusion of infinite HW resources

              Elimination of upfront commitment

              Pay-as-you-go on short term basis
cloud
arch itecture
what’s an
It’s all about quality,
but you can’t have it all!
Resources
GoF Patterns - http://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_Type  
Scalable Web Architecture and DS - http://www.aosabook.org/en/distsys.html
Code Monkey - http://www.youtube.com/watch?v=5W_wd9Qf0IE
Netflix Techblog - http://techblog.netflix.com/
Above the Clouds - http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf

SW Architecture Talks
George Fairbanks’s Introduction to SW architecture - http://www.youtube.com/watch?v=x30DcBfCJRI

Cases
Heroku architecture - http://www.quora.com/Scalability/How-does-Heroku-work, http://www.heroku.com/how
Dropbox scaling - http://www.quora.com/Dropbox/What-is-Dropboxs-architecture
Highscalability Blog - http://highscalability.com/
Google’s MapReduce - http://research.google.com/archive/mapreduce.html

Creative Commons
http://www.flickr.com/photos/swisscan/633644067/sizes/l/in/photostream/
http://www.flickr.com/photos/banovsky/2721248454/sizes/l/in/photostream/
http://www.flickr.com/photos/-lif-/3213233094/sizes/l/in/photostream/
http://www.flickr.com/photos/shakeskc/7967355494/
http://www.flickr.com/photos/skasuga/139744722/sizes/l/in/photostream/
http://www.flickr.com/photos/stickkim/6013651966/sizes/l/in/photostream/
http://www.flickr.com/photos/jensst/5762063659/sizes/l/in/photostream/
http://www.flickr.com/photos/elizabethbw/8373942339/sizes/m/in/photostream/
http://www.flickr.com/photos/esther-/2516424698/sizes/o/in/photostream/

Mais conteúdo relacionado

Mais procurados

Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Schlomo Schapiro
 
Resume_JiaLIU
Resume_JiaLIUResume_JiaLIU
Resume_JiaLIU
Jia Liu
 

Mais procurados (19)

Voice controlled robot powered by Google Cloud
Voice controlled robot powered by Google CloudVoice controlled robot powered by Google Cloud
Voice controlled robot powered by Google Cloud
 
Get your mobile app in production in 3 months: DevOps and Infrastructure
Get your mobile app in production in 3 months: DevOps and InfrastructureGet your mobile app in production in 3 months: DevOps and Infrastructure
Get your mobile app in production in 3 months: DevOps and Infrastructure
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
 
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
Get your mobile app in production in 3 months: Native and Reactive Mobile AppsGet your mobile app in production in 3 months: Native and Reactive Mobile Apps
Get your mobile app in production in 3 months: Native and Reactive Mobile Apps
 
Automate scalable micro services with Kubernetes on Google Cloud by Billme , ...
Automate scalable micro services with Kubernetes on Google Cloud by Billme , ...Automate scalable micro services with Kubernetes on Google Cloud by Billme , ...
Automate scalable micro services with Kubernetes on Google Cloud by Billme , ...
 
Html5 (games)
Html5 (games)Html5 (games)
Html5 (games)
 
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development waySharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
SharePoint Saturday Zurich 2017 - SharePoint Framework the new development way
 
Building Tools for the Hadoop Developer
Building Tools for the Hadoop DeveloperBuilding Tools for the Hadoop Developer
Building Tools for the Hadoop Developer
 
Optimizing and Deploying Angular
Optimizing and Deploying AngularOptimizing and Deploying Angular
Optimizing and Deploying Angular
 
Resume_JiaLIU
Resume_JiaLIUResume_JiaLIU
Resume_JiaLIU
 
Forge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design DataForge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design Data
 
I am-one-with-angular
I am-one-with-angularI am-one-with-angular
I am-one-with-angular
 
Building RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
Building RIA - Comparison between Adobe Flex and GWT - Hu ShunjieBuilding RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
Building RIA - Comparison between Adobe Flex and GWT - Hu Shunjie
 
Bangkok
BangkokBangkok
Bangkok
 
Latest Trends in Open Source Web Technologies
Latest Trends in Open Source Web TechnologiesLatest Trends in Open Source Web Technologies
Latest Trends in Open Source Web Technologies
 
Node-Red Poster
Node-Red PosterNode-Red Poster
Node-Red Poster
 
Dynamic Provisioning of Service Environments with ASPEN
Dynamic Provisioning of Service Environments with ASPENDynamic Provisioning of Service Environments with ASPEN
Dynamic Provisioning of Service Environments with ASPEN
 
Few Tips for asp.net developers 2014 and beyond
Few Tips for asp.net developers 2014 and beyondFew Tips for asp.net developers 2014 and beyond
Few Tips for asp.net developers 2014 and beyond
 
Cloud Computing and HTML5, 2010
Cloud Computing and HTML5, 2010Cloud Computing and HTML5, 2010
Cloud Computing and HTML5, 2010
 

Destaque

INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
Amit Midha
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software Architecture
Yuriy Guts
 
TechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architectureTechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architecture
Konstantin Zakharov
 

Destaque (20)

PAT Program General Overview
PAT Program General OverviewPAT Program General Overview
PAT Program General Overview
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software Architecture
 
MODELING SERVICE ORIENTED ARCHITECTURE- A COMPREHENSIVE COURSE
MODELING SERVICE ORIENTED ARCHITECTURE- A COMPREHENSIVE COURSEMODELING SERVICE ORIENTED ARCHITECTURE- A COMPREHENSIVE COURSE
MODELING SERVICE ORIENTED ARCHITECTURE- A COMPREHENSIVE COURSE
 
Software architecture First Lecture
Software architecture First LectureSoftware architecture First Lecture
Software architecture First Lecture
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
 
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software Architecture
 
TechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architectureTechTalk - Introduction to software design and architecture
TechTalk - Introduction to software design and architecture
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software Architecture
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
 
Software architecture for developers by Simon Brown
Software architecture for developers by Simon BrownSoftware architecture for developers by Simon Brown
Software architecture for developers by Simon Brown
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
4.2 architecture introduction
4.2 architecture introduction4.2 architecture introduction
4.2 architecture introduction
 
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
 

Semelhante a Introduction to software architecture

Semelhante a Introduction to software architecture (20)

Cloud computing: highlights
Cloud computing: highlightsCloud computing: highlights
Cloud computing: highlights
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
Lightening the burden of cloud resources administration: from VMs to Functions
Lightening the burden of cloud resources administration: from VMs to FunctionsLightening the burden of cloud resources administration: from VMs to Functions
Lightening the burden of cloud resources administration: from VMs to Functions
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
DevCamp - What can the cloud do for me
DevCamp - What can the cloud do for meDevCamp - What can the cloud do for me
DevCamp - What can the cloud do for me
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - Dev
 
Oracle Cloud Native
Oracle Cloud NativeOracle Cloud Native
Oracle Cloud Native
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
 
Google Cloud - Scale With A Smile (Dec 2014)
Google Cloud - Scale With A Smile (Dec 2014)Google Cloud - Scale With A Smile (Dec 2014)
Google Cloud - Scale With A Smile (Dec 2014)
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal Cloud
 
The building blocks for a reusable front end - #imaodbc2015
The building blocks for a reusable front end - #imaodbc2015The building blocks for a reusable front end - #imaodbc2015
The building blocks for a reusable front end - #imaodbc2015
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Introduction to software architecture

  • 2. @mljungblad blog: ljungblad.nu code: github.com/archie mail: marcus.ljungblad@mah.se
  • 4. It’s all about quality, but you can’t have it all!
  • 6.
  • 8. Car requirements Drive forwards and backwards Use gasoline to power the engine Steer the vehicle using a wheel Control speed using a foot pedal
  • 9.
  • 10. define a few car qualities
  • 11. ”For any different system, there are a number of available architectures, and the qualities that you want should rule which architectural choices you make.”
  • 13. f( feature x using design y with downside z )
  • 14. What views? views
  • 17. Client Client Server Client
  • 18. $ node mapi.js -p 8000 > /tmp/mapi.log 2>&1 &
  • 20. C A B D D
  • 21. C/S C/S C/S C/S C/S
  • 24. ”The interesting thing about Cloud Computing is that we’ve redefined Cloud Computing to include everything that we already do. . . . I don’t understand what we would do differently in the light of Cloud Computing other than change the wording of some of our ads.”
  • 25. ”Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services.”
  • 26. Cloud computing Illusion of infinite HW resources Elimination of upfront commitment Pay-as-you-go on short term basis
  • 27.
  • 28.
  • 29.
  • 32. It’s all about quality, but you can’t have it all!
  • 33.
  • 34. Resources GoF Patterns - http://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_Type   Scalable Web Architecture and DS - http://www.aosabook.org/en/distsys.html Code Monkey - http://www.youtube.com/watch?v=5W_wd9Qf0IE Netflix Techblog - http://techblog.netflix.com/ Above the Clouds - http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf SW Architecture Talks George Fairbanks’s Introduction to SW architecture - http://www.youtube.com/watch?v=x30DcBfCJRI Cases Heroku architecture - http://www.quora.com/Scalability/How-does-Heroku-work, http://www.heroku.com/how Dropbox scaling - http://www.quora.com/Dropbox/What-is-Dropboxs-architecture Highscalability Blog - http://highscalability.com/ Google’s MapReduce - http://research.google.com/archive/mapreduce.html Creative Commons http://www.flickr.com/photos/swisscan/633644067/sizes/l/in/photostream/ http://www.flickr.com/photos/banovsky/2721248454/sizes/l/in/photostream/ http://www.flickr.com/photos/-lif-/3213233094/sizes/l/in/photostream/ http://www.flickr.com/photos/shakeskc/7967355494/ http://www.flickr.com/photos/skasuga/139744722/sizes/l/in/photostream/ http://www.flickr.com/photos/stickkim/6013651966/sizes/l/in/photostream/ http://www.flickr.com/photos/jensst/5762063659/sizes/l/in/photostream/ http://www.flickr.com/photos/elizabethbw/8373942339/sizes/m/in/photostream/ http://www.flickr.com/photos/esther-/2516424698/sizes/o/in/photostream/