INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.

Slides:



Advertisements
Similar presentations
Running Your Startup on Amazon Web Services Alex Iskold Founder/CEO AdaptiveBlue Feature Writer ReadWriteWeb.
Advertisements

Inner Architecture of a Social Networking System Petr Kunc, Jaroslav Škrabálek, Tomáš Pitner.
EHarmony in Cloud Subtitle Brian Ko. eHarmony Online subscription-based matchmaking service Available in United States, Canada, Australia and United Kingdom.
Eric Nelson Application Architect, Microsoft |
1 NETE4631 Cloud deployment models and migration Lecture Notes #4.
Amazon RDS (MySQL and Oracle) and SQL Azure Emil Tabakov Telerik Software Academy academy.telerik.com.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
Overview Of Microsoft New Technology ENTER. Processing....
NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
Windows Azure for scalable compute and storage SQL Azure for relational storage for the cloud AppFabric infrastructure to connect the cloud.
UWWD In our quest to eliminate bad websites, we present…. HALLELUJAH!!
Advanced Distributed Software Architectures and Technology group ADSaT 1 Application Architectures Ian Gorton, Paul Greenfield.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
Client/Server Architectures
How WebMD Maintains Operational Flexibility with NoSQL Rajeev Borborah, Sr. Director, Engineering Matt Wilson – Director, Production Engineering – Consumer.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
1 NETE4631 Using Google Web Services and Using Microsoft Cloud Services Lecture Notes #7.
Windows Azure Tour Benjamin Day Benjamin Day Consulting, Inc.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
Goodbye rows and tables, hello documents and collections.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Data Structures & Algorithms and The Internet: A different way of thinking.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Windows Azure Conference 2014 Caching Data in the Cloud with Windows Azure.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
CLOUD WITH AMAZON. Amazon Web Services AWS is a collection of remote computing services Elastic Compute Cloud (EC2) provides scalable virtual private.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
The Anatomy of a Large-Scale Hypertextual Web Search Engine S. Brin and L. Page, Computer Networks and ISDN Systems, Vol. 30, No. 1-7, pages , April.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Windows Azure: Is the Relational Database Dead? Benjamin Day
Term Project #2 Data Management on a Cloud (Azure)
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Google App Engine. Contents Overview Getting Started Databases Inter-app Communications Modes.
Deploying Web Application
Platform as a Service.
Modern Databases NoSQL and NewSQL
INFO 344 Web Tools And Development
PLOTr -KUSHAL MEHTA.
02 | Hosting Services in Windows Azure
Outline Virtualization Cloud Computing Microsoft Azure Platform
INFO 344 Web Tools And Development
Saranya Sriram Developer Evangelist | Microsoft
INFO 344 Web Tools And Development
02 – Cloud Services Bret Stateham | Senior Technical Evangelist​
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
Presentation transcript:

INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014

Announcements PA4 due Monday!!! Comments for Eric & Jeremy on Canvas! PA3 done grading. – Good job Stanley!

PA4 stuff Sports illustrated xmls => don’t have html! I’ll give +3 pts extra credit if you still crawl them even if they end in +5 extra credit for hybrid trie/list to fit everything into memory (does not double count from PA2, if you fit everything in PA2 = no EC for this)

PA4 stuff What should partition key & row key be? How does a cache work? – int GetResults(input) – A function has inputs & outputs. In between = processing. Cache = maps inputs to outputs and skips the processing! (dictionary!)

Scalability Theme throughout the quarter

Add more hardware

AWS – Spin up new instance – Setup (script) – Add more to Load Balancer Static & Manual Gradual increase in traffic Try it!

Add more hardware AWS EC2 API – Spin up new instance – Via PHP Code – With AMI Dynamic & Automatic! Great for spikey traffic UAMR/Provision-an-Amazon-EC2-Instance-with-PHP AWS SDK = Download AWS SDK Terminate after you see it works! Try it!

Add more hardware Azure – VS cloud config file – Cloud/Local each have a different file. Make sure you change the right one! – Try running 5 worker roles in PA3 locally! – Take a look at Compute Emulator – Pretty cool!!! – VS integration = nice Don’t have PA3 = join another group Try it!

Add more hardware Azure – Scale on dashboard – New feature – Drag and increase! – Super easy to scale! Try it!

Data vs. Compute

Remember Easier to find/read Easier to add/remove layers 3-tier architecture

Anatomy QuerySuggest Web Role Search.aspx Dashboard.aspx Admin.asmx Azure Blob QuerySuggest Azure Queue URLs to Crawl Azure Table Web Index Red = Storage Blue = Compute Worker Role Crawler User query suggestions URLs word, URLs AWS RDS Structured Data (NBA stats) Wiki dataset query stats This is basically how Google works! query Azure Table Ranking Azure Blob User Logs

Simplified Compute vs. Data – Scale compute = easy – Scale read-only data = easy – Scale read & write data = very difficult Scale data (read & write) with consistency is very very hard. Compute Web Role Storage Read & Write Table/SQL Storage Read S3/Blob Compute Worker Role

Scale read & write Data Sharding – Horizontal Partition – Smaller index size (faster) Same as how NoSQL scales – Azure Table, Partition key Row key Partition Key = 0 Partition Key = 1

SQL vs. NoSQL

A lot of buzz around NoSQL If you do SQL w/ sharding and don’t do join’s – Use MySQL in a “NoSQL way” – Just as scalable as NoSQL! – Facebook uses MySQL, possible to scale! But Azure Table / AWS DynamoDB works just fine (like in PA3) I prefer MySQL + sharding + “NoSQL way” easier to add new indexes In Azure Table/DynamoDB => what if you have Books Product, want to access it via category AND via name of book? In Azure Table => multiple tables where value = key, and 1 more table for actual books?

Exploiting data freshness & caching

Data Freshness/Caching Depends on Application – If freshness requirement is low => front-end web roles! – Great for Search Results Lots of computation If not fresh for 5min = that’s ok! (ex: body text in search result = 1 hr delay = that’s ok!) – Great for a lot of applications! – NOT financial transactions… – Ok for newsfeed? Kooapps Games Leaderboard – Cache but mix with client user data to “hide” latency/freshness Client-side caching too! Compute Web Role Storage Read & Write Table/SQL Storage Read S3/Blob Compute Worker Role Cache Storage = cheap. Compute = expensive

How to make a Cache Cache = hash table – Key = input – Value = output Try this! On PA2 (slow version) – Download – Change data.txt to your wiki dataset (> 50mb) – Implement the cache layer! Try it!

Computing online vs. offline Anything that takes longer than 5s should be offline…

Online vs. Offline Online = user facing, user blocking (WebRole) Offline = async, non- blocking (WorkerRole) PA3 = perfect example – Scale PA3 WebRole = easy – Scale PA3 WorkerRole = hard Compute Web Role Storage Read & Write Table/SQL Storage Read S3/Blob Compute Worker Role

Scaling PA3 URL Queue => Easy = everyone grabs and puts to URL Queue Index Table => Easy = everyone writes URL/page_title to Index on Table Dashboard => Harder, search worker writes to 1 row in dashboard table, web role reads all data and combines them. URL Queue PA3 Worker Role ID = 0 PA3 Worker Role ID = 1 PA3 Worker Role ID = 2 Index Table Dashboard Table

Client-side vs. Server-side Push computation to client-side to make system more scalable!

Client-side vs. Server-side Computations on client-side – Very scalable and it’s free! – Javascript, desktop apps or mobile apps Depends on the application, examples – Game Kooapps (easier to cheat but that’s ok if it’s not an MMO) – Sorting leaderboard scores for friends – Parsing config data PPStream/PPTV/Funshion – Netflix of China – P2P Videos! Don’t have to pay server bills like Netflix does. Genius!

Questions?