• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
System Architecture at DDVE
 

System Architecture at DDVE

on

  • 576 views

A very basic overview of different architectural concepts, buzzwords and issues regarding architecture of (distributed) systems.

A very basic overview of different architectural concepts, buzzwords and issues regarding architecture of (distributed) systems.

Statistics

Views

Total Views
576
Views on SlideShare
576
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    System Architecture at DDVE System Architecture at DDVE Presentation Transcript

    • System architecture DDVE 2012
    • A few principlesComponents involved in an internet applicationCloud computingOptimizing and scaling up
    • Principles of architectureDurability - should last for long in good conditionUtility - should be useful and fulfill its functionBeauty - should make people happy "Firmitas, Utilitas, Venustas" - Vitruvius, 1th century BC
    • Principles of software architecture
    • 1. ReliabilityProbability of error-free operation
    • 2. EfficiencyAbility to fulfill the task in the most optimum wayNot to be confused with performance
    • 3. UsabilityEase of use of the systemLearnability, Efficiency, Memorability, Errors,Satisfaction
    • 4. MaintainabilityAbility to adapt to changePortability (to a different environment)Transferrability (to another team)
    • Components involved in an internet application
    • ServerA computer program servicing requests fromother programs (clients)Server (hardware) - a computer dedicated torunning one or more such service
    • Database ServerOrganized collection of data together withmanagement softwareOracle, MySQL, PostgreSQL, HBase, Cassandra
    • Web ServerSoftware serving HTTP requestsThe engine behind websites, small or largeApache, IIS (Microsoft), nginx,
    • Load balancerStands in front of a cluster of web serversDistributes requests between cluster nodes to evenout the loadProvides failover when one node failsF5 BIG-IP, Cisco, Apache
    • Web AcceleratorFrees up backend server by caching static contentImproves load speeds by compressing pagesSquid, Varnish, ...
    • Sample architecture - 99designs.com 99designs.com
    • Cloud computing SaaS PaaS IaaS
    • SaaSSoftware-as-a-ServiceApplication hosted on the web, no installationnecessaryGMail, SalesForce, BaseCamp, thousands of others
    • PaaSPlatform-as-a-ServiceNo need to care about operating system etc, candeploy your software directly, usually has goodmonitoring toolsEngineYard, Heroku, AppFog, Azure Cloud, zone.ee
    • IaaSInfrastructure-as-a-ServiceYou have to deal with all the nuts and boltsbutYou get full control over your serverall Virtual Private Server providers (zone.ee,Amazon EC2)
    • Amazon S3Amazon Simple Storage ServiceSimilar services: nimbus.io, possibly others
    • CAP theoremConsistency / Availability / Partition tolerancePick two
    • CAP theoremConsistency / Availability / Partition tolerancePick twoStory of Remembrance, Inc
    • Optimizing and scaling upOptimizing - making the system less resourcehungryScaling up - adding resources to the system
    • Optimizing and scaling upKnow what you want to improve:page load time / throughput / server load / memoryusage
    • Optimizing and scaling upOptimize first, then scale upMeasure first, make changes afterIdentify the bottlenecks!
    • Things to do to make it betterOptimize database queriesOutsource / optimize content deliveryIntroduce caching
    • Examples from the big boys
    • Google MapReducePartition processing huge amounts of data (used insearch) http://jcit.org/web/files/csc548/fpgrowth.html
    • Facebook BigPipeOptimize page loading speed for end usersFB loads page inblocks https://www.facebook.com/note.php?note_id=389414033919
    • Twitter & memcached http://www.slideshare.net/Blaine/scaling-twitter
    • Twitter & memcached http://www.slideshare.net/Blaine/scaling-twitter
    • Twitter & memcachedTwitter does a LOT of caching: in 2007 they had- 600 tweets/second- 180 web servers- 1 DB serverCan be done if you mostly read and rarely writeThere are only two hard things in ComputerScience: cache invalidation and naming things. -- Phil Karlton