cs435 535 internet scale applications l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CS435/535: Internet-Scale Applications PowerPoint Presentation
Download Presentation
CS435/535: Internet-Scale Applications

Loading in 2 Seconds...

play fullscreen
1 / 44

CS435/535: Internet-Scale Applications - PowerPoint PPT Presentation


  • 286 Views
  • Uploaded on

CS435/535: Internet-Scale Applications http://zoo.cs.yale.edu/classes/cs435/ 1/12/2009 Outline What are Internet-scale applications? Administration Outline What are Internet-scale applications? Internet-Scale: Large Network Number of Hosts on the Internet: Aug. 1981 213

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CS435/535: Internet-Scale Applications' - oshin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cs435 535 internet scale applications

CS435/535: Internet-Scale Applications

http://zoo.cs.yale.edu/classes/cs435/

1/12/2009

outline
Outline
  • What are Internet-scale applications?
  • Administration
outline3
Outline
  • What are Internet-scale applications?
growth of the internet in terms of number of hosts
Number of Hosts on the Internet:

Aug. 1981 213

Oct. 1984 1,024

Dec. 1987 28,174

Oct. 1990 313,000

Jul. 1993 1,776,000

Jul. 1996 19,540,000

Jul. 1999 56,218,000

Jul. 2004 285,139,000

Jul. 2005 353,284,000

Jul. 2007 489,774,000

Jul. 2008 570,937,000

Jul. 2009 681,064,000

Growth of the Internet in Terms of Number of Hosts

CAIDA router

level view

internet physical infrastructure

ISP

Backbone ISP

ISP

Internet Physical Infrastructure

Residential access

  • Cable
  • Fiber
  • DSL
  • Wireless
  • The Internet is a network of heterogeneous networks
  • Each individually administrated network is called an Autonomous System (AS)
  • Campus access, e.g.,
    • Ethernet
    • Wireless
abilene i2 backbone
Abilene I2 Backbone

http://weathermap.grnoc.iu.edu/abilene_jpg.html

qwest backbone map
Qwest Backbone Map

http://www.qwest.com/largebusiness/enterprisesolutions/networkMaps/preloader.swf

att global backbone ip network
ATT Global Backbone IP Network

From http://www.business.att.com

at t usa backbone map
AT&T USA Backbone Map

From AT&T web site.

user base of large internet applications in u s june 2009
User Base of Large Internet Applications in U.S. (June 2009)

Total U.S. - Home, Work and University Locations

Unique Visitors (000)

Unique

Visitors

Rank Property (000)

---- -------- --------

Total Internet : Total Audience 193,896

1 Google Sites 156,871

2 Yahoo! Sites 154,097

3 Microsoft Sites 127,454

4 AOL LLC 106,467

5 Fox Interactive Media 84,567

6 FACEBOOK.COM 77,031

7 Ask Network 73,041

8 eBay 71,020

9 Amazon Sites 63,178

10 Wikimedia Foundation Sites 60,692

11 Apple Inc. 56,554

12 Glam Media 54,223

13 Viacom Digital 51,575

14 Turner Network 50,841

15 CBS Interactive 50,341

16 craigslist, inc. 46,832

17 New York Times Digital 44,789

18 Weather Channel, The 41,751

19 Adobe Sites 38,120

20 Comcast Corporation 34,865

21 Verizon Communications

Corporation 33,436

22 Wal-Mart 33,358

23 AT&T Interactive Network 31,582

24 Disney Online 31,362

25 Demand Media 28,938

26 Superpages.com Network 28,367

27 Expedia Inc 27,058

28 The Mozilla Organization 26,964

29 Target Corporation 26,284

30 WordPress 26,245

31 Answers.com Sites 26,163

32 Bank of America 25,479

33 Photobucket.com LLC 24,528

34 AT&T, Inc. 24,032

35 Gorilla Nation 24,022

36 United Online, Inc 22,828

37 Everyday Health 22,374

38 Break Media 22,334

39 CareerBuilder LLC 21,704

40 NBC Universal 21,202

41 ESPN 20,984

42 NetShelter Technology Media 20,635

43 iVillage.com: The Womens Network 20,594

44 Weatherbug Property 20,465

45 JPMorgan Chase Property 20,211

46 TWITTER.COM* 20,111

47 Real.com Network 19,918

48 EA Online 19,607

49 Gannett Sites 19,298

50 Time Warner -Excluding AOL 19,293

Source: comScore Media Metrix (http://ir.comscore.com/releasedetail.cfm?releaseid=398136)

how much data
How Much Data?

1 PB = 1000 TB

1EB = 1000 PB

how much data16
How Much Data?
  • Wayback Machine has 2 PB + 20 TB/month (2006)
  • NOAA has ~1 PB climate data (2007)
  • Google processes 20 PB a day (2008)
  • Internet traffic 5-8 EB (Dec. 2008)
  • Size of World’s digital content 500 EB (May 2009)

640K ought to be enough for anybody.

1 PB = 1000 TB

1EB = 1000 PB

http://en.wikipedia.org/wiki/Exabyte

processing examples
Processing Examples
  • Crawling, indexing, searching, mining the Web
  • Ecommerce transactions
  • Software as service
servers
Servers
  • Internet-scale problem? Throw more machines at it !
    • From tiny end users (called P2P)
    • From giant data centers (called data center applications)
large data centers
Large Data Centers
  • A trend: centralization of computing resources in large data centers
  • Necessary ingredients: fiber, juice, and space
    • What do Oregon, Iceland, and abandoned mines have in common?
  • Major design point: scale out, not scale up
evolving computing models
Evolving Computing Models
  • Do it yourself (build your own data centers)
  • Utility computing
    • Why buy machines when you can rent cycles?
    • Examples: Amazon’s EC2, GoGrid, AppNexus
  • Platform as a Service (PaaS)
    • Give me nice API and take care of the implementation
    • Example: Google App Engine
  • Software as a Service (SaaS)
    • Just run it for me!
    • Example: Gmail; MS Exchange; MS Office Online
web based applications
Web-based Applications
  • The Internet infrastructure has better support for HTTP than other protocols
  • A trend of software applications:
    • From the desktop to the browser
    • SaaS == Web-based applications
    • Examples: Google Maps/Doc, Facebook
  • How do we deliver highly-interactive Web-based applications?
    • AJAX (asynchronous JavaScript and XML)
    • For better, or for worse…
programming architecture matters
Programming Architecture Matters
  • Performance vs. software extensibility
software architecture matters
Software Architecture Matters
  • It all boils down to…
    • Divide-and-conquer
    • Throwing more hardware at the problem as the problem grows bigger
divide and conquer
Divide and Conquer

“Work”

Partition

w1

w2

w3

“worker”

“worker”

“worker”

r1

r2

r3

Combine

“Result”

It is simple to state, hard to master…

different workers
Different Workers
  • Where are the workers?
    • Different threads in the same core
    • Different cores in the same CPU
    • Different CPUs in a multi-processor system
    • Different machines in a distributed system
  • Many design issues
    • Which worker does what?
    • How do the workers communicate/coordinate?
    • What if some workers die or are separated from others?
example architecture three tiered architecture
Example Architecture:Three Tiered Architecture
  • Stateless frontend
  • Soft state middle tier containing application logic and common services
  • Backend persistent storage
platform matters
Platform Matters

“Developers who have worked at the small scale might be asking themselves why we need to bother with “platform design” when we could just use some kind of out-of the-box solution. For small-scale applications, this can be a great idea. We save time and money up front and get a working and serviceable application. The problem comes at larger scales—there are no off-the-shelf kits that will allow you to build something like Amazon or Friendster. While building similar functionality might be fairly trivial, making that functionality work for millions of products, millions of users, and without spending far too much on hardware requires us to build something highly customized and optimized for our exact needs. There’s a good reason why the largest applications on the Internet are all bespoke creations: no other approach can create massively scalable applications within a reasonable budget.”

http://www.evontech.com/symbian/55.html

outline34
Outline
  • What are Internet-scale applications?
  • Course administration
personnel
Personnel
  • Instructor
    • Michael Fischer <fischer-michael@cs.yale.edu>
      • AKW 409
    • Y. Richard Yang <yry@cs.yale.edu>
      • AKW 308A
      • office hours
        • TTh 4:00-5:00 or by appointment
  • Teaching assistant (grader)
    • Ye Wang
what are the goals o f this course
What are the Goals of this Course?
  • Learn design principles and techniques of:
    • Large-scale Internet applications;
    • Infrastructure supporting such applications
  • See how the principles and techniques apply and adapt in real world:
    • Real examples from DNS/Email/Web, Akamai, Amazon (dynamo, AWS), Google (Google cluster, GFS, BigTable, Chubby, AppEngine), Microsoft (Live Mesh, Azure), PPLive
what will we cover
What Will We Cover?
  • Background on Internet/DNS/Email/Web
  • Basic abstraction/design for high-performance client/server
    • multi-thread, async i/o, SEDA
    • adaptive applications (e.g., playout buffer)
  • Web service oriented architecture
    • Interactivity (ajax)
  • Server scaling
    • Load balancing (HTTP local/Akamai global example)
    • Cloud integration
    • Over-provisioning and capacity planning
  • Servent (end hosts contributed) design (P2P)
  • Application/network infrastructure integration and interface
  • Tiered architecture and middle layer design
    • Storage/state management (e.g., DDS, memcard, GFS, BigTable, dynamo, and PRS) [1.5 week]
    • Transaction/
  • Higher level programming models
    • MapReduce/Hadoop
    • Dryad
  • Data center design
  • Debugging, deployment and diagnosis
references
References
  • We will use resources available from the Intrenet
  • Resources will be posted online
    • http://zoo.cs.yale.edu/classes/cs435
what do you need to do
What Do You Need To Do?
  • Please return the class background survey at the end of the class
    • help us determine your background
    • help us determine the depth, topics, and assignments
    • suggest topics that you want to be covered (if you think of a topic later, please send us email)
  • Your workload
    • homework assignments
    • one exam
    • a project
grading
Subject to change after we know more about your background

More important is what you realize/learn than the grades !!

Grading
amazon web services
Amazon Web Services
  • Elastic Compute Cloud (EC2)
    • Rent computing resources by the hour
    • Basic unit of accounting = instance-hour
    • Additional costs for bandwidth
  • Simple Storage Service (S3)
    • Persistent storage
    • Charge by the GB/month
    • Additional costs for bandwidth
  • Simple Queue Service (SQS)
  • Virtual Private Cloud (VPC)
  • You’ll be using Zoo/Amazon AWS for course assignments
  • Projects can use AppEngine/Azure or AWS!
this course is not for you
This Course is not for you…
  • If you’re not genuinely interested in the topic
  • If you’re not open to thinking about computing in new ways
  • If you can’t cope with uncertainly, unpredictability, poor documentation, and immature software

Otherwise, this could be an interesting learning experience.

internet application zen
Internet Application Zen
  • Don’t get frustrated (take a deep breath)…
    • Those W$*#T@F! moments
  • Be patient…
    • This is the second first time we are teaching this course
  • Be flexible…
    • There will be unanticipated issues along the way
  • Be constructive…
    • Tell us how we can make everyone’s experience better