Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014



Similar documents
Cloud Computing and Big Data What Technical Writers Need to Know

Additional information >>> HERE <<< Getting Instant Access free web hosting with cpanel and mysql Real User Experience

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Web Cloud Architecture

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Open Source Technologies on Microsoft Azure

A review and analysis of technologies for developing web applications

Cloud Computing: Making the right choices

Web Design Technology

How To Build A Web App

Christopher Zavatchen

Last time. Today. IaaS Providers. Amazon Web Services, overview

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

ITP 140 Mobile Technologies. Mobile Topics

Smart and Innovative Web Solutions. Just One Click Away

Rich Internet Applications

Pentesting Web Frameworks (preview of next year's SEC642 update)

Web Development. How the Web Works 3/3/2015. Clients / Server

ITP 342 Mobile App Development. APIs

Company overview. Branimir Giurov C# MVP Solution Architect

HYBRID. Course Packet

CLOUD COMPUTING. When It's smarter to rent than to buy

Using Cloud Services for Building Next Generation Mobile Apps

Virtualization and Cloud Computing

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Platforms in the Cloud

Server-Side Scripting and Web Development. By Susan L. Miertschin

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

PaaS - Platform as a Service Google App Engine

Oracle Application Express MS Access on Steroids

RFP# ADDENDUM No. 1 Questions and Answers

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Networks and Services

Cloud Computing. Technologies and Types

Cloud Computing an introduction

Using Cloud Services for Test Environments A case study of the use of Amazon EC2

Data Centers and Cloud Computing

Architecture Workshop

About me. André Boonzaaijer - CTO - Trainer - Software engineer / architect / coach - Excavator operator Sogyo B.V.

Concentrate Observe Imagine Launch

Drive new Revenue With PaaS/IaaS. Ruslan Synytsky CTO, Jelastic

Trollhättan, Sweden

Offerte del 13 giugno 2014

Cloud Computing Technology

The Ultimate Tech Glossary for Recruiters & HR Managers

WINDOWS AZURE EXECUTION MODELS

SENIOR WEB DEVELOPER

Modeling Public Pensions with Mathematica and Python II

Brief Description of project: This project will be an interactive Javascript. 1. What do you want to accomplish by doing this project?

Drupal Performance Tuning

Web. Programming. Hans- Pe0er Halvorsen, M.Sc. h0p://home.hit.no/~hansha/?page=sojware_development

LSD APC Part I Workshop Geographic Information System. Danny Yeung 14 November 2015

HTML5. Turn this page to see Quick Guide of CTTC

Data Centers and Cloud Computing. Data Centers

Oracle Applications and Cloud Computing - Future Direction

What is a stack? Do I need to know?

Cloud Computing. Chapter 1 Introducing Cloud Computing

IT3503 Web Development Techniques (Optional)

Cloud Computing Training

This Record of activity confirms that Jonathan Scrase has completed the following courses within the Microsoft Virtual Academy:

Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor. Danilo Bordini & Osvaldo Daibert

CULTUR EXchange Platform Non-Functional Requirements for Open-Source CMS Report

Cloud powered services composition using Public Cloud PaaS platform

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

ASP.NET. Web Programming. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

DEVELOP ROBOTS DEVELOPROBOTS. We Innovate Your Business

Large-Scale Web Applications

Ø Teaching Evaluations. q Open March 3 through 16. Ø Final Exam. q Thursday, March 19, 4-7PM. Ø 2 flavors: q Public Cloud, available to public

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

Certified Cloud Computing Professional VS-1067

Amazon Web Services Yu Xiao

Leverage the Cloud for your Python & Perl Applications. Stackato Offers a Fast, Simple Way to Deploy Webs Apps to the Cloud

Assignment # 1 (Cloud Computing Security)

Data Centers and Cloud Computing. Data Centers

For Course Details, visit:

Philip Klauzinski. Summary. Experience. Senior UI Engineer at Rightside

Lucy Zhang UI Developer Contact:

Our Services Are Designed To Support Online Publishers, Ad Networks, Agencies and Digital Marketing Companies Globally

The Internet, the Web, and Electronic Commerce

Mobile Cloud Computing T Open Source IaaS

Android In The Cloud: A New PaaS Computing Platform

Private Clouds with Open Source

Web Programming Languages Overview

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

Cloud Computing. Jussi Talaskivi Information Management Centre University of Jyväskylä

branddocs Technology edocument Solutions V V

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Graphic Designer / Developer

Transcription:

Web 2.0 Technology Overview Lecture 8 GSL Peru 2014

Overview What is Web 2.0? Sites use technologies beyond static pages of earlier websites. Users interact and collaborate with one another Rich user experience with dynamic content Users participate and contribute Social networking sites, blogs, wikis, video sharing sites

Examples Social Networking Facebook,Twitter, LinkedIn Photo and Video Sharing Flickr, Youtube Other Google Docs, Google Maps, Google Calendar

Client/Server Model

System Architecture Resource tier: backend systems, files, and databases Service tier: connects resources to web through frameworks including PHP, Rails, ASP Client application tier: client-side views such as web browsers Design, development, and governance tools: tools to build the web applications including IDEs, xcode, Adobe Dreamworks Source: www.oreilly.com

System Architecture Client-Server Model

Client-Server Model Client and Database Client: web browser Google Chrome, Internet Explorer, Mozilla Firefox HTML5, CSS3, JavaScript, AJAX Server Apache, Microsoft IIS, lighttpd Database: backend data MySQL, Oracle Database

Client-Server Model Server Server: web server Apache, IIS PHP Python (Django) Rails (Ruby) JavaScript (jquery, Node.js) ASP (Asp.Net, C#) JSP (Java/EJB) Flash CGI/Perl

Evolution of Web Technologies Flash to HTML5 Flash: Adobe s product for website engine Search engines do not like Flash Ignores user needs Splash sites, site intros Disabled back-button Requires a lot of bandwidth Better uses than for website engine: Ads & banners, games, video streaming Stores data on the client

Evolution of Web Technologies Flash to HTML5 HTML5 Mobile web application development All browsers can use it Game development Alternative to Flash! Dynamic web applications Drag and drop capabilities, browser history management, document editing Cleaner, descriptive semantics / code

Client-Side Languages Popularity

Server-Side Languages Popularity

Comparing Different Web Technologies JavaScript: absolutely necessary to know for front-end development. Necessary to build the UI Also should know HTML5/CSS3 Reference/tools: http://www.w3schools.com/ Not necessary to use Node.js or jquery frameworks to use JavaScript (more on that later)

Comparing Different Web Technologies Ruby On Rails: Ruby is a programming language and Rails is the framework that uses Ruby Popular blackbox platform today Nice, clean language to use Steep learning curve Learn Ruby: http://www.codecademy. com/en/tracks/ruby Getting started with Rails: http://guides.rubyonrails. org/getting_started.html

Comparing Different Web Technologies PHP: one of the most common back-end, server-side languages Easiest to learn, especially for beginner programmers Very common => several libraries and APIs already exist Not a very good language though Performance one of the slowest Reputation for security issues Reference/tools: http://www.w3schools.com/

Comparing Different Web Technologies Django: web development framework written in Python Popular blackbox platform today Python has strong support with non-web aspects System administration, data analytics Steep learning curve if not familiar with Python or the framework Tools/References: https://code.djangoproject. com/wiki/tutorials

Comparing Different Web Technologies Node.js & jquery: JavaScript based Good for strong background in JavaScript Growing in popularity Node.js isn t good for large CPU tasks jquery has simple architecture Both are compatible with JavaScript, which is anyway used for the front-end Tools/References: jquery: http://www.w3schools.com/jquery/ Node.js: http://code.tutsplus.com/tutorials/nodejsfor-beginners--net-26314

Comparing Different Web Technologies ASP.NET: language for Microsoft s ASP technology. Can also use C# and Visual Basic Class library system => good maintainability Uses large amount of web server resources than PHP and other languages Runs on IIS Documented bugs and vulnerabilities Tools/Resources: http://asp.net-tutorials.com/

Where are these technologies used today?

Web Technologies Used Google Server-side: Mainly Python Also Java, C++ Client-side: JavaScript HTML, CSS Database: BigTable Web Server: Google Web Server

Web Technologies Used Facebook Server-Side: Mainly PHP Also C++, Java, Python Client-Side: JavaScript HTML/CSS Database: MySQL, HBase

Web Technologies Used Twitter Server-Side: C++, Java, Ruby on Rails Also Scala Client-Side: JavaScript HTML, CSS Database: MySQL

Web Technologies Used Youtube Server-Side: C/C++ Also Java, Python Client-Side: Flash JavaScript Database: MySQL BigTable

Web Technologies Used Bing Server-Side: ASP.NET Client-Side: JavaScript HTML, CSS Database: Microsoft SQL Server

Now, for selecting your web technology Here are some things to consider...

Selecting Your Web Technology Factors to Consider Needs vs. Strengths Figure out what strengths you need most; ignore the other strengths Decide whether it saves time or not Testing Testable with unit testing and integration testing? Lecture on testing to come in future Documentation Choose technology with well-written and easy-tounderstand documentation Sample code and tutorials available

Selecting Your Web Technology Factors to Consider Servability Speed, hosting, and operation costs matter! Security Check track record of common vulnerabilities, such as database injections Check track record of maintainance Longevity Compare how long technology has been around or will be around moving forward

Selecting Your Web Technology Factors to Consider Learning Curve and Hireability Know if the technology is difficult to learn at first and easy to master later, or vice versa Know if the skills needed are easy to find today

How do we implement?

Hardware

Server Hardware Storage - SAN Compute Server

Data Center

Data Center

Cloud Services Can Provide Scalability without capital investment

Platform as a Service (PaaS) Provides computing platforms as a subscription service No need to know how to maintain/administer the platform - OS, Development Environment, Database, Server Automatic provisioning Example - Heroku Originally, Ruby Now, Java, Node.js, Scala, Clojure, Python and PHP

Infrastructure as a Service (IaaS) Provides physical or virtual machines along with resources such as storage in a subscription model More control, but more administrative/maintenance overhead

Rackspace Cloud Sites: web application hosting PaaS Fixed, monthly payment Supports most application frameworks, but not Java (server-side) at this time Cloud Files: cloud storage Unlimited online storage Online control panel to manage Cloud Storage: virtual, private servers IaaS

Amazon AWS Amazon Elastic Cloud Compute (EC2) is central part of cloud computing platform Users create, launch, and terminate server instances as needed (instances = VMs) Pay by the hour ($0.013/hr) Amazon Simple Storage Service (S3) is online file storage web service Web hosting, image hosting, storage for backup systems Stores more than 2 trillion objects as of 2013 Pay $0.15 per gigabyte per month

Examples Netflix DropBox Reddit Foursquare

Microsoft Azure PaaS and IaaS services for Microsoftspecific and third party systems Web hosting for PHP, ASP.NET, Node.js, and Python (PaaS) Virtual Machines run Windows and some Linux distributions (IaaS)

Google Google Cloud Storage for developers, Google Drive for non-developers (personal) Can integrate both together PaaS: Google App Engine IaaS: Google Compute Engine User-friendly GUI to manage projects and objects (all your data) Used by Snapchat, Khan Academy, Pulse, and more