Date post: | 10-May-2015 |
Category: |
Technology |
Upload: | otto-kekaelaeinen |
View: | 1,249 times |
Download: | 0 times |
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
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