SlideShare a Scribd company logo
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/

More Related Content

What's hot

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
Paul Boonyarungsrit
 
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
Ackee
 
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
 
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
Ackee
 
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 , ...
TeK Charnsilp Chinprasert
 
Html5 (games)
Html5 (games)Html5 (games)
Html5 (games)
chamsddine bouzaine
 
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
Giuliano De Luca
 
Building Tools for the Hadoop Developer
Building Tools for the Hadoop DeveloperBuilding Tools for the Hadoop Developer
Building Tools for the Hadoop Developer
DataWorks Summit
 
Optimizing and Deploying Angular
Optimizing and Deploying AngularOptimizing and Deploying Angular
Optimizing and Deploying Angular
John Papa
 
Resume_JiaLIU
Resume_JiaLIUResume_JiaLIU
Resume_JiaLIUJia Liu
 
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
Autodesk
 
I am-one-with-angular
I am-one-with-angularI am-one-with-angular
I am-one-with-angular
John Papa
 
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
jasonong
 
Bangkok
BangkokBangkok
Bangkok
tarzanol
 
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
bryanbibat
 
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
Cameron Kiddle
 
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
Sreejesh Madonandy
 
Cloud Computing and HTML5, 2010
Cloud Computing and HTML5, 2010Cloud Computing and HTML5, 2010
Cloud Computing and HTML5, 2010
Moullet
 

What's hot (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
 

Viewers also liked

PAT Program General Overview
PAT Program General OverviewPAT Program General Overview
PAT Program General Overview
Linda Fullhart
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software Architecture
Praveen Nair
 
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
Amit Midha
 
Software architecture First Lecture
Software architecture First LectureSoftware architecture First Lecture
Software architecture First Lecture
Ahmad Zee
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
RahimLotfi
 
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
anistar sung
 
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPAmit Midha
 
Introduction to Software Architecture
Introduction to Software ArchitectureIntroduction to Software Architecture
Introduction to Software ArchitectureYuriy 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 architectureKonstantin Zakharov
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software Architecture
Kannan Durairaj
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
John Ortiz
 
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
Codemotion
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
Chinh Ngo Nguyen
 
4.2 architecture introduction
4.2 architecture introduction4.2 architecture introduction
4.2 architecture introduction
ingo
 
[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)
Ivano Malavolta
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
Henry Muccini
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture
Ivano Malavolta
 
Software Architecture Introduction
Software Architecture IntroductionSoftware Architecture Introduction
Software Architecture Introduction
SARCCOM
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
Dr.Jayanthi ramasamy
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
Markus Voelter
 

Viewers also liked (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
 

Similar to Introduction to software architecture

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?
Michael Elder
 
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
EUBrasilCloudFORUM .
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
Brian Blanchard
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
Christian Deger
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Petr Kozlik
 
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?
Michael Elder
 
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
Chris Dufour
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - Dev
Clint Edmonson
 
Oracle Cloud Native
Oracle Cloud NativeOracle Cloud Native
Oracle Cloud Native
Neagu Alexandru Cristian
 
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
Stijn Wijndaele
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
ACA IT-Solutions
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Siddiq Abu Bakkar
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
Richard Banks
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
Stuart Lodge
 
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)
Ido Green
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
Debnath Sinha
 
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...
José Román Martín Gil
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal Cloud
Abraham Hoffman
 
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
Jonathan Challener
 

Similar to 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
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

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/