best practises for html5 servers (devaamo summit 2012)

Post on 10-May-2015

1.251 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentation by Otto Kekäläinen at Devaamo summit on 2012-06-16

TRANSCRIPT

Devaamo Summit 2012

Best practices for HTML5 servers

Otto KekäläinenTampere 16.6.2012

Command and Conqueror

What is HTML5?1995 1997 1999 2000 2001 2008 never? 2011

MayHTML

2.0HTML

4.0HTML 4.01

XHTML 1.0

XHTML 1.1

HTML5 Working

Draft

XHTML 2.0

HTML5 Last Call

2005: CSS32011 June: ECMAScript 5.1

What is HTML5?<header> <footer>

<article> <nav> <video> <audio> <canvas>

<input type=”range”> <input type=”color”>

CACHE MANIFEST NETWORK: /checking.cgiCACHE:/test.css/test.js/test.png

localStorage.setItem('key', 'value');localStorage.getItem('key');

function displayPosition(position) { var p = document.getElementById("p"); p.innerHTML = "<table'><tr><th>Timestamp</th><td>" + position.timestamp + "<tr><th>Latitude</th><td>" + position.coords.latitude + " deg</td></tr>" + "<tr><th>Longitude</th><td>" + position.coords.longitude + " deg</td></tr></table>";}getCurrentPosition(displayPosition, displayError);

SVGWOFFWEBMMark Pilgrim

http://diveintohtml5.info/

Why is HTML5 important?

FlashSilverlight

Java Applets

Why is HTML5 important?

The universal runtime

Any browser, any OS, any device(+ XULRunner, Prism, PhoneGap)

Universal means

Big audienceLots of €€€€€

HTML success stories

Google

Twitter

LinkedIn

Facebook

Youtube

Amazon

The secret to global success?

Leverage on open source!- small cost, forever

- widely used, proven technology- best practices built in the most popular tools

If Google ran on Windows servers, could they ever really be a threat to Microsoft?

Why emphasize servers?

- a security issue is more severe in server code than in client code

- server failure is fatal

- servers have running costs

programming languageframework

storagehttp server

cachingdelivery

Where do you want to go – directions:

for Python

for Node.js

Ruby on Rails

for Java / J2EE

Zend Frameworkfor PHP

..or CakePHP

To SQL or NoSQL?

Midgard2

Global popularity of http servers

HTTP server considerations

forking vs. threading

FCGI, WSGINode.js?

web socketsSDPY

Cache, Proxy, TLS, DNS ..

DevOpsTest: Jenkins, Apache Bench, webpagetest.org

Deploy: build scripts, snapshotting

Monitor: Munin, Nagios/Icinga, logger, XMPP, Git hooks,

services on the web (Pingdom, monitor.us)

Manage: Know you Linux distro tools (Landscape, SUSE Manager)

Platform as a service

Virtual servers as a service

Hardware as a service

Buy your own servers

Build you own servers

See our blog at seravo.fi for nitty gritty details later this summer!

http://wikitech.wikimedia.org/view/Presentations

http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of

http://www.slideshare.net/protocol7/spotify-architecture-pressing-play

http://www.slideshare.net/adorepump/skytools-pgq-queues-and-applications

There is no one way. You should find you own path.

Just remember that at a crossroad between an open and a closed source option,

choose open source.

Product development success factors

speed cost features quality

Stay agile!

Contact Seravo Oy:n if you need Linux natives to develop and administer

your Linux systems

About the company: seravo.fi About the technologies: seravo.fi/blog

top related