SlideShare a Scribd company logo
1 of 31
Download to read offline
MetaCDN: Creating a ‘Cloud
 Storage’ Mashup for High
  Performance, Low Cost
     Content Delivery
Dr. James Broberg (brobergj@csse.unimelb.edu.au)
     http://www.csse.unimelb.edu.au/~brobergj

            http://www.metacdn.org
Content Delivery
   Networks (CDNs)
• What is a CDN?
 • Content Delivery Networks (CDNs) such as
    Akamai, Mirror Image and Limelight place
    web server clusters in numerous
    geographical locations to improve the
    responsiveness and locality of the content it
    hosts for end-users.
Existing CDN
          providers
• Akamai is the clear leader in coverage and
  market share (approx. 80%)
  • Price is prohibitive for SME, NGO, Gov...
  • Anecdotally 2−15 times more expensive
    than Cloud Storage, and require 1−2 year
    commitments and min. data use (10TB+)
• Academic CDNs include Coral, Codeen,
  Globule....
  • No SLA / QoS provided, only ‘best effort’
Storage Clouds
           ‘Storage as a Service’

 Now!



Late ‘08


 ??????
SaaS Comparison
Introducing MetaCDN
• What if we could create a low-cost, high
  performance overlay CDN using these
  storage clouds?
  • Exploit the strengths and coverage
    footprints of multiple providers
  • Cherry pick providers based on
    customers QoS needs / cost budget
  • MetaCDN provides this while hiding the
    complexity from users
How MetaCDN works
        AmazonS3Connector                                                          NirvanixConnector
createFolder(foldername, location)             DefaultConnector           createFolder(foldername, location)
deleteFolder(foldername)             DEPLOY_USA                           deleteFolder(foldername)
createFile(file, foldername,          DEPLOY_EU                            createFile(file, foldername,
           location, date)           DEPLOY_ASIA                                      location, date)
createFile(fileURL, foldername,       DEPLOY_AUS                           createFile(fileURL, foldername,
           location, date)           createFolder(foldername, location)
                                                                                      location, date)
renameFile(filename, newname,         deleteFolder(foldername)
                                                                          renameFile(filename, newname,
           location) throws          createFile(file, foldername,
                                                                                      location)
     FeatureNotSupportedException                location, date)
                                                                          createTorrent(file) throws
createTorrent(file)                   createFile(fileURL, foldername,
                                                                               FeatureNotSupportedException
createTorrent(fileURL)                            location, date)
                                                                          createTorrent(fileURL) throws
deleteFile(file, location)            renameFile(filename, newname,
                                                                               FeatureNotSupportedException
listFilesAndFolders()                            location)
                                                                          deleteFile(file, location)
deleteFilesAndFolders()              createTorrent(file)
                                                                          listFilesAndFolders()
                                                                          deleteFilesAndFolders()
                                     createTorrent(fileURL)
           <<exception>>             deleteFile(file, location)
  FeatureNotSupportedException       listFilesAndFolders()
FeatureNotSupportedException(msg)    deleteFilesAndFolders()
How MetaCDN works
    Amazon S3 &                                            Mosso Cloud                                        Shared/Private
                             Nirvanix SDN                                                   Coral CDN
     CloudFront                                             Files CDN                                             Host




                                                                                                            WebDAVConnector
   JetS3t toolkit           Nirvanix SDK                Cloud Files SDK                                    Java stub
   Java SDK                 Java SDK                    Java SDK                                           MetaCDN.org
   Open Source              Nirvanix, Inc               Mosso, Inc                                            SCPConnector
                                                                                                           Java stub
                                                                                                           MetaCDN.org
 AmazonS3Connector        NirvanixConnector           CloudFilesConnector                CoralConnector        FTPConnector
Java stub               Java stub                    Java stub                        Java stub            Java stub
MetaCDN.org             MetaCDN.org                  MetaCDN.org                      MetaCDN.org          MetaCDN.org


                                                            MetaCDN

                          MetaCDN             MetaCDN QoS                MetaCDN                MetaCDN
                          Manager                Monitor                 Allocator              Database

                             Web Portal                  Load Redirector                    Web Service
                     Java (JSF/EJB) based portal   Random redirection                SOAP Web Service
                     Support HTTP POST             Geographical redirection          RESTful Web Service
                     New/view/modify deployment    Least cost redirection            Programmatic access
MetaCDN Manager
• The MetaCDN Manager ensures that:
 • All current deployments are meeting
    QoS targets (where applicable)
 • Replicas are removed when no longer
    required (minimising cost)
 • A users’ budget has not been exceeded,
    by tracking usage (i.e. storage/download)
MetaCDN QoS
         Monitor
• The MetaCDN QoS Monitor:
 • Tracks the performance of participating
    providers at all times
 • Monitors and records throughput and
    response time from a variety of locations
 • Ensures that upstream providers are
    meeting their Service Level Agreements
MetaCDN Allocator
• The MetaCDN Allocator allows users to
  deploy files either directly or from a public
  origin URL, with the following options:
 • Maximise coverage and performance
 • Deploy content in specific locations
 • Cost optimised deployment
 • Quality of Service (QoS) optimised
MetaCDN Database

MetaCDN   1              0:M      CDN        1            1    CDN
                has                               for
  User                         Credentials                    Provider

 1                                                        1     1

                                                 hosted
  has                                                            has
                                                   by
                                             M
 1                                                             M
          1   deployed   0:M   MetaCDN                        Coverage
Content          as             Replica                       locations
MetaCDN Web Portal
• Developed using Java Enterprise and Java
  Server Faces (JSF) technologies
• MySQL back-end to store persistent data
• Web portal acts as the entry point to the
  system and application-level load balancer
• Most suited for small or ad-hoc
  deployments, and especially useful for less
  technically inclined content creators.
MetaCDN Web Service
• Makes all functionality available via Web
  Services (SOAP & REST/HTTP)
  • Web interface is useful for novices and
    for ad-hoc deployments, but doesn’t scale
  • Larger customers have 1,000’s - 10,000 -
    100,000s of files that need deployment
  • Let them automate their deployment and
    management via Web Services!
  • Perfect for Mashup developers!!!
MetaCDN Load
          Redirector
• We have created a unified namespace to
  simply deployment, routing, management
• Currently, file deployment results in
  multiple URLs, each mapping to a replica
  •   http://metacdn-eu-user.s3.amazonaws.com/myfile.mp4

  •   http://metacdn-us-user.s3.amazonaws.com/myfile.mp4

  •   http://node3.nirvanix.com/MetaCDN/user/myfile.mp4

• Single namespace is created for fine control
  •   http://www.metacdn.org/FileMapper?itemid=2
MetaCDN Load
             Redirector (cont.)
MetaCDN end-user                                        DNS Server                  MetaCDN gateway
             Resolve www.metacdn.org

                Return IP of closest MetaCDN gateway,
                www-na.metacdn.org


                              GET http://metacdn.org/MetaCDN/FileMapper?itemid=1

                                                                                                 processRequest ()




                                                                                                geoRedirect ()




                         HTTP 302 Redirect to
                         http://metacdn-us-username.s3.amazonaws.com/filename.pdf

          Resolve metacdn-us-username.s3.amazonaws.com                              Amazon S3 USA

         Return IP of metacdn-us-username.s3.amazonaws.com

                      GET http://metacdn-us-username.s3.amazonaws.com/filename.pdf

                      Return replica
Redirector Overhead
          1.8
               from USA
                 S3 USA
                MetaCDN
          1.6


          1.4


          1.2


           1
Seconds




          0.8


          0.6


          0.4


          0.2


           0
                0         5   10          15   20   25
                                   Hour
Redirector Overhead
             from Australia
           0.9
                                          Nirvanix SDN #3
                                                 MetaCDN

          0.85



           0.8



          0.75
Seconds




           0.7



          0.65



           0.6



          0.55
                 0   5   10          15        20           25
                              Hour
Evaluating MetaCDN
     performance
• Ran tests over 24 hour period (mid-week)
• Downloading test replicas (1KB, 10MB) 30
  times per hour, take average and conf. inter.
  • 10MB - Throughput, 1KB - Response
    Time
• Ran test from 6 locations: Melbourne
  (AUS), Paris (FRA),Vienna (AUT), San
  Diego & New Jersey (USA), Seoul (KOR)
• Replicas located across US, EU, ASIA, AUS
Summary of Results -
           Throughput (KB/s)
                S3    S3   SDN   SDN   SDN   SDN   Coral
                US    EU    #1    #2    #3    #4
Melbourne
 Australia
               264.3 389.1 30 366.8 408.5 405.6 173.7
Paris France   703.1 2116 483.8 2948 416.8 1043 530.2
   Vienna
  Austria
               490.7 1347 288.4 2271 211 538.7 453.4
   Seoul
South Korea
               312.8 376.1 466.5 411.9 2456 588.2 152
 San Diego
    USA
               1234 323.5 5946 380.1 506.1 820.4 338.5
New Jersey
    USA
               2381 1949 860.8 967.1 572.8 4230 636.4
Summary of results -
          Response Time (Sec)
                S3    S3   SDN   SDN    SDN   SDN   Coral
                US    EU    #1    #2     #3    #4
Melbourne
 Australia
               1.378 1.458 0.663 0.703 1.195 0.816 5.452
Paris France   0.533 0.2 0.538 0.099 1.078 0.316 3.11
   Vienna
  Austria
               0.723 0.442 0.585 0.099 1.088 0.406 3.171
   Seoul
South Korea
               1.135 1.21 0.856 0.896   1     0.848 3.318
 San Diego
    USA
               0.232 0.455 0.23 0.361 0.775 0.319 4.655
New Jersey
    USA
               0.532 0.491 0.621 0.475 1.263 0.516 1.916
Summary of results
       (cont)
• Clients benefited greatly from local replicas
• Results are consistent in terms of response
  time and throughput with previous studies
  of dedicated CDNs
• Back-end providers have sufficient
  performance and reliability to be used to
  host replicas in the MetaCDN system
MetaCDN features in
planning / development
• Support as many providers as possible
 • Ensures redundancy, reliability, coverage
    and choice (reduces single vendor lock-
    in)
  • Windows Azure Storage Service support
    will be added ASAP.
• Other storage & delivery services can be
  rapidly added as they are released....
MetaCDN features in
planning / development
• Create Apache module (mod_metacdn) to
  utilise at content origin sites
• Module would utilise MetaCDN web
  services to maintain optimal deployment
 • Maximise performance during peak load
    via intelligent replica deployment
 • Minimise storage cost during periods of
    low demand
Collaborations
• Always looking for people to collaborate
  on the project
• Work to be done on:
 • Load balancing / redirection algorithms
 • Intelligent Caching / replication
    algorithms
  • Security / Access Control of content
  • Improving MetaCDN Web Services
• Please contact me if you are interested...
Acknowledgements

• Thanks to reviewers for useful feedback.
• Australian Research Council (ARC) for
  funding the project.
• Cory & Barry (Nirvanix) and Eric
  (Rackspace/Mosso) for development
  support.
Thanks
Latest information will be available at:
www.metacdn.org


International Workshop on Cloud
Computing (Cloud 2009):
http://www.gridbus.org/cloud2009

More Related Content

What's hot

DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldKellyn Pot'Vin-Gorman
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWSAmazon Web Services
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computingJithin Parakka
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWSIan Massingham
 
Introduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsIntroduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsAmazon Web Services
 
Getting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCacheGetting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCacheAmazon Web Services
 
Cloud computing security issues and challenges
Cloud computing security issues and challengesCloud computing security issues and challenges
Cloud computing security issues and challengesDheeraj Negi
 
Cloud Computing Security
Cloud Computing SecurityCloud Computing Security
Cloud Computing SecurityNinh Nguyen
 
Content Delivery Networks (CDN)
Content Delivery Networks (CDN)Content Delivery Networks (CDN)
Content Delivery Networks (CDN)Dilum Bandara
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)Gasida Seo
 
My CIO Says that We're Going All-In and Migrating to AWS, Now What?
My CIO Says that We're Going All-In and Migrating to AWS, Now What?My CIO Says that We're Going All-In and Migrating to AWS, Now What?
My CIO Says that We're Going All-In and Migrating to AWS, Now What?Amazon Web Services
 
Benefits Of Building Private Cloud
Benefits Of Building Private CloudBenefits Of Building Private Cloud
Benefits Of Building Private Clouddinobusalachi
 
Disaster Recovery of on-premises IT infrastructure with AWS
Disaster Recovery of on-premises IT infrastructure with AWSDisaster Recovery of on-premises IT infrastructure with AWS
Disaster Recovery of on-premises IT infrastructure with AWSAmazon Web Services
 
Introduction to EC2
Introduction to EC2Introduction to EC2
Introduction to EC2Mark Squires
 

What's hot (20)

2 vm provisioning
2 vm provisioning2 vm provisioning
2 vm provisioning
 
DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs World
 
Cloud Reference Model
Cloud Reference ModelCloud Reference Model
Cloud Reference Model
 
Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWS
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
What is AWS?
What is AWS?What is AWS?
What is AWS?
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
Overview of Amazon Web Services
Overview of Amazon Web ServicesOverview of Amazon Web Services
Overview of Amazon Web Services
 
Introduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsIntroduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless Applications
 
Getting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCacheGetting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCache
 
Cloud computing security issues and challenges
Cloud computing security issues and challengesCloud computing security issues and challenges
Cloud computing security issues and challenges
 
Cloud Computing Security
Cloud Computing SecurityCloud Computing Security
Cloud Computing Security
 
Content Delivery Networks (CDN)
Content Delivery Networks (CDN)Content Delivery Networks (CDN)
Content Delivery Networks (CDN)
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)
 
My CIO Says that We're Going All-In and Migrating to AWS, Now What?
My CIO Says that We're Going All-In and Migrating to AWS, Now What?My CIO Says that We're Going All-In and Migrating to AWS, Now What?
My CIO Says that We're Going All-In and Migrating to AWS, Now What?
 
Benefits Of Building Private Cloud
Benefits Of Building Private CloudBenefits Of Building Private Cloud
Benefits Of Building Private Cloud
 
Disaster Recovery of on-premises IT infrastructure with AWS
Disaster Recovery of on-premises IT infrastructure with AWSDisaster Recovery of on-premises IT infrastructure with AWS
Disaster Recovery of on-premises IT infrastructure with AWS
 
Introduction to EC2
Introduction to EC2Introduction to EC2
Introduction to EC2
 

Similar to MetaCDN

MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...James Broberg
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 
CRESTCon Asia 2018 - Config Password Encryption Gone Wrong
CRESTCon Asia 2018 - Config Password Encryption Gone WrongCRESTCon Asia 2018 - Config Password Encryption Gone Wrong
CRESTCon Asia 2018 - Config Password Encryption Gone WrongKeith Lee
 
Discovery Day 2019 Sofia - Big data clusters
Discovery Day 2019 Sofia - Big data clustersDiscovery Day 2019 Sofia - Big data clusters
Discovery Day 2019 Sofia - Big data clustersIvan Donev
 
Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012Anton Arhipov
 
jclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Colejclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian ColeEverett Toews
 
Spring 3.1: a Walking Tour
Spring 3.1: a Walking TourSpring 3.1: a Walking Tour
Spring 3.1: a Walking TourJoshua Long
 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngormdevaraj ns
 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...Michele Leroux Bustamante
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
Hidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceHidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceSven Ruppert
 
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systexJames Chen
 
Kerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastKerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastJorge Lopez-Malla
 
An Engineer's Intro to Oracle Coherence
An Engineer's Intro to Oracle CoherenceAn Engineer's Intro to Oracle Coherence
An Engineer's Intro to Oracle CoherenceOracle
 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment WorkshopChuong Nguyen
 
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012Anton Arhipov
 
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and PerformanceApache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performanceaaronmorton
 
Java e i database: da JDBC a JPA
Java e i database: da JDBC a JPAJava e i database: da JDBC a JPA
Java e i database: da JDBC a JPAbenfante
 
Writing Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason LeeWriting Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason Leejaxconf
 

Similar to MetaCDN (20)

MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 
CRESTCon Asia 2018 - Config Password Encryption Gone Wrong
CRESTCon Asia 2018 - Config Password Encryption Gone WrongCRESTCon Asia 2018 - Config Password Encryption Gone Wrong
CRESTCon Asia 2018 - Config Password Encryption Gone Wrong
 
Discovery Day 2019 Sofia - Big data clusters
Discovery Day 2019 Sofia - Big data clustersDiscovery Day 2019 Sofia - Big data clusters
Discovery Day 2019 Sofia - Big data clusters
 
Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012
 
jclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Colejclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Cole
 
Spring 3.1: a Walking Tour
Spring 3.1: a Walking TourSpring 3.1: a Walking Tour
Spring 3.1: a Walking Tour
 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Hidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceHidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-Persistence
 
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
 
Kerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastKerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit east
 
An Engineer's Intro to Oracle Coherence
An Engineer's Intro to Oracle CoherenceAn Engineer's Intro to Oracle Coherence
An Engineer's Intro to Oracle Coherence
 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
 
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
 
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and PerformanceApache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performance
 
Java e i database: da JDBC a JPA
Java e i database: da JDBC a JPAJava e i database: da JDBC a JPA
Java e i database: da JDBC a JPA
 
Writing Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason LeeWriting Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason Lee
 

More from Cesare Pautasso

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteCesare Pautasso
 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?Cesare Pautasso
 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Cesare Pautasso
 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremCesare Pautasso
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software ConnectorCesare Pautasso
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Cesare Pautasso
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...Cesare Pautasso
 
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesCesare Pautasso
 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of usCesare Pautasso
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesCesare Pautasso
 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionCesare Pautasso
 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiCesare Pautasso
 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresCesare Pautasso
 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful ServicesCesare Pautasso
 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOperaCesare Pautasso
 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate MemberCesare Pautasso
 

More from Cesare Pautasso (20)

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?
 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC Theorem
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
 
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
 
BPMN for REST
BPMN for RESTBPMN for REST
BPMN for REST
 
SOA with REST
SOA with RESTSOA with REST
SOA with REST
 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of us
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process Execution
 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service Geografici
 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
 
BPM with REST
BPM with RESTBPM with REST
BPM with REST
 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful Services
 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOpera
 
SOA2010 SOA with REST
SOA2010 SOA with RESTSOA2010 SOA with REST
SOA2010 SOA with REST
 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate Member
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

MetaCDN

  • 1. MetaCDN: Creating a ‘Cloud Storage’ Mashup for High Performance, Low Cost Content Delivery Dr. James Broberg (brobergj@csse.unimelb.edu.au) http://www.csse.unimelb.edu.au/~brobergj http://www.metacdn.org
  • 2. Content Delivery Networks (CDNs) • What is a CDN? • Content Delivery Networks (CDNs) such as Akamai, Mirror Image and Limelight place web server clusters in numerous geographical locations to improve the responsiveness and locality of the content it hosts for end-users.
  • 3. Existing CDN providers • Akamai is the clear leader in coverage and market share (approx. 80%) • Price is prohibitive for SME, NGO, Gov... • Anecdotally 2−15 times more expensive than Cloud Storage, and require 1−2 year commitments and min. data use (10TB+) • Academic CDNs include Coral, Codeen, Globule.... • No SLA / QoS provided, only ‘best effort’
  • 4. Storage Clouds ‘Storage as a Service’ Now! Late ‘08 ??????
  • 6. Introducing MetaCDN • What if we could create a low-cost, high performance overlay CDN using these storage clouds? • Exploit the strengths and coverage footprints of multiple providers • Cherry pick providers based on customers QoS needs / cost budget • MetaCDN provides this while hiding the complexity from users
  • 7. How MetaCDN works AmazonS3Connector NirvanixConnector createFolder(foldername, location) DefaultConnector createFolder(foldername, location) deleteFolder(foldername) DEPLOY_USA deleteFolder(foldername) createFile(file, foldername, DEPLOY_EU createFile(file, foldername, location, date) DEPLOY_ASIA location, date) createFile(fileURL, foldername, DEPLOY_AUS createFile(fileURL, foldername, location, date) createFolder(foldername, location) location, date) renameFile(filename, newname, deleteFolder(foldername) renameFile(filename, newname, location) throws createFile(file, foldername, location) FeatureNotSupportedException location, date) createTorrent(file) throws createTorrent(file) createFile(fileURL, foldername, FeatureNotSupportedException createTorrent(fileURL) location, date) createTorrent(fileURL) throws deleteFile(file, location) renameFile(filename, newname, FeatureNotSupportedException listFilesAndFolders() location) deleteFile(file, location) deleteFilesAndFolders() createTorrent(file) listFilesAndFolders() deleteFilesAndFolders() createTorrent(fileURL) <<exception>> deleteFile(file, location) FeatureNotSupportedException listFilesAndFolders() FeatureNotSupportedException(msg) deleteFilesAndFolders()
  • 8. How MetaCDN works Amazon S3 & Mosso Cloud Shared/Private Nirvanix SDN Coral CDN CloudFront Files CDN Host WebDAVConnector JetS3t toolkit Nirvanix SDK Cloud Files SDK Java stub Java SDK Java SDK Java SDK MetaCDN.org Open Source Nirvanix, Inc Mosso, Inc SCPConnector Java stub MetaCDN.org AmazonS3Connector NirvanixConnector CloudFilesConnector CoralConnector FTPConnector Java stub Java stub Java stub Java stub Java stub MetaCDN.org MetaCDN.org MetaCDN.org MetaCDN.org MetaCDN.org MetaCDN MetaCDN MetaCDN QoS MetaCDN MetaCDN Manager Monitor Allocator Database Web Portal Load Redirector Web Service Java (JSF/EJB) based portal Random redirection SOAP Web Service Support HTTP POST Geographical redirection RESTful Web Service New/view/modify deployment Least cost redirection Programmatic access
  • 9. MetaCDN Manager • The MetaCDN Manager ensures that: • All current deployments are meeting QoS targets (where applicable) • Replicas are removed when no longer required (minimising cost) • A users’ budget has not been exceeded, by tracking usage (i.e. storage/download)
  • 10. MetaCDN QoS Monitor • The MetaCDN QoS Monitor: • Tracks the performance of participating providers at all times • Monitors and records throughput and response time from a variety of locations • Ensures that upstream providers are meeting their Service Level Agreements
  • 11. MetaCDN Allocator • The MetaCDN Allocator allows users to deploy files either directly or from a public origin URL, with the following options: • Maximise coverage and performance • Deploy content in specific locations • Cost optimised deployment • Quality of Service (QoS) optimised
  • 12. MetaCDN Database MetaCDN 1 0:M CDN 1 1 CDN has for User Credentials Provider 1 1 1 hosted has has by M 1 M 1 deployed 0:M MetaCDN Coverage Content as Replica locations
  • 13. MetaCDN Web Portal • Developed using Java Enterprise and Java Server Faces (JSF) technologies • MySQL back-end to store persistent data • Web portal acts as the entry point to the system and application-level load balancer • Most suited for small or ad-hoc deployments, and especially useful for less technically inclined content creators.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. MetaCDN Web Service • Makes all functionality available via Web Services (SOAP & REST/HTTP) • Web interface is useful for novices and for ad-hoc deployments, but doesn’t scale • Larger customers have 1,000’s - 10,000 - 100,000s of files that need deployment • Let them automate their deployment and management via Web Services! • Perfect for Mashup developers!!!
  • 19. MetaCDN Load Redirector • We have created a unified namespace to simply deployment, routing, management • Currently, file deployment results in multiple URLs, each mapping to a replica • http://metacdn-eu-user.s3.amazonaws.com/myfile.mp4 • http://metacdn-us-user.s3.amazonaws.com/myfile.mp4 • http://node3.nirvanix.com/MetaCDN/user/myfile.mp4 • Single namespace is created for fine control • http://www.metacdn.org/FileMapper?itemid=2
  • 20. MetaCDN Load Redirector (cont.) MetaCDN end-user DNS Server MetaCDN gateway Resolve www.metacdn.org Return IP of closest MetaCDN gateway, www-na.metacdn.org GET http://metacdn.org/MetaCDN/FileMapper?itemid=1 processRequest () geoRedirect () HTTP 302 Redirect to http://metacdn-us-username.s3.amazonaws.com/filename.pdf Resolve metacdn-us-username.s3.amazonaws.com Amazon S3 USA Return IP of metacdn-us-username.s3.amazonaws.com GET http://metacdn-us-username.s3.amazonaws.com/filename.pdf Return replica
  • 21. Redirector Overhead 1.8 from USA S3 USA MetaCDN 1.6 1.4 1.2 1 Seconds 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 Hour
  • 22. Redirector Overhead from Australia 0.9 Nirvanix SDN #3 MetaCDN 0.85 0.8 0.75 Seconds 0.7 0.65 0.6 0.55 0 5 10 15 20 25 Hour
  • 23. Evaluating MetaCDN performance • Ran tests over 24 hour period (mid-week) • Downloading test replicas (1KB, 10MB) 30 times per hour, take average and conf. inter. • 10MB - Throughput, 1KB - Response Time • Ran test from 6 locations: Melbourne (AUS), Paris (FRA),Vienna (AUT), San Diego & New Jersey (USA), Seoul (KOR) • Replicas located across US, EU, ASIA, AUS
  • 24. Summary of Results - Throughput (KB/s) S3 S3 SDN SDN SDN SDN Coral US EU #1 #2 #3 #4 Melbourne Australia 264.3 389.1 30 366.8 408.5 405.6 173.7 Paris France 703.1 2116 483.8 2948 416.8 1043 530.2 Vienna Austria 490.7 1347 288.4 2271 211 538.7 453.4 Seoul South Korea 312.8 376.1 466.5 411.9 2456 588.2 152 San Diego USA 1234 323.5 5946 380.1 506.1 820.4 338.5 New Jersey USA 2381 1949 860.8 967.1 572.8 4230 636.4
  • 25. Summary of results - Response Time (Sec) S3 S3 SDN SDN SDN SDN Coral US EU #1 #2 #3 #4 Melbourne Australia 1.378 1.458 0.663 0.703 1.195 0.816 5.452 Paris France 0.533 0.2 0.538 0.099 1.078 0.316 3.11 Vienna Austria 0.723 0.442 0.585 0.099 1.088 0.406 3.171 Seoul South Korea 1.135 1.21 0.856 0.896 1 0.848 3.318 San Diego USA 0.232 0.455 0.23 0.361 0.775 0.319 4.655 New Jersey USA 0.532 0.491 0.621 0.475 1.263 0.516 1.916
  • 26. Summary of results (cont) • Clients benefited greatly from local replicas • Results are consistent in terms of response time and throughput with previous studies of dedicated CDNs • Back-end providers have sufficient performance and reliability to be used to host replicas in the MetaCDN system
  • 27. MetaCDN features in planning / development • Support as many providers as possible • Ensures redundancy, reliability, coverage and choice (reduces single vendor lock- in) • Windows Azure Storage Service support will be added ASAP. • Other storage & delivery services can be rapidly added as they are released....
  • 28. MetaCDN features in planning / development • Create Apache module (mod_metacdn) to utilise at content origin sites • Module would utilise MetaCDN web services to maintain optimal deployment • Maximise performance during peak load via intelligent replica deployment • Minimise storage cost during periods of low demand
  • 29. Collaborations • Always looking for people to collaborate on the project • Work to be done on: • Load balancing / redirection algorithms • Intelligent Caching / replication algorithms • Security / Access Control of content • Improving MetaCDN Web Services • Please contact me if you are interested...
  • 30. Acknowledgements • Thanks to reviewers for useful feedback. • Australian Research Council (ARC) for funding the project. • Cory & Barry (Nirvanix) and Eric (Rackspace/Mosso) for development support.
  • 31. Thanks Latest information will be available at: www.metacdn.org International Workshop on Cloud Computing (Cloud 2009): http://www.gridbus.org/cloud2009