Devaamo Summit 2012

Best practices for HTML5 servers
Otto Kekäläinen
Tampere 16.6.2012
Command and Conqueror
What is HTML5?
1995

1997

HTML
2.0

HTML
4.0

1999

2000

2001

2008

2011
May
HTML XHTML XHTML HTML5 XHTML HTML5
4.01
1....
What is HTML5?
CACHE MANIFEST
SVG
NETWORK:
WOFF
/checking.cgi
WEBM
CACHE:
/test.css
localStorage.setItem('key', 'value');
...
Why is HTML5 important?
Flash
Silverlight
Java Applets
Why is HTML5 important?
The universal runtime
Any browser, any OS, any device
(+ XULRunner, Prism, PhoneGap)
Universal means

Big audience
Lots of €€€€€
HTML success stories
Google

Facebook

Twitter

Youtube

LinkedIn

Amazon
The secret to global success?
Leverage on open source!
- small cost, forever
- widely used, proven technology
- best pract...
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
- se...
Where do you want to go – directions:
programming language
framework
storage
http server
caching
delivery
for Python

for Node.js

Zend Framework
for PHP

..or CakePHP

Ruby on Rails
for Java / J2EE
To SQL or NoSQL?

Midgard2
Global popularity of http servers
HTTP server considerations
forking vs. threading
FCGI, WSGI
Node.js?
web sockets
SDPY
Cache, Proxy, TLS, DNS ..
DevOps
Test: Jenkins, Apache Bench, webpagetest.org
Deploy: build scripts, snapshotting
Monitor: Munin, Nagios/Icinga,
log...
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
htt...
There is no one way.
You should find you own path.
Just remember that at a crossroad between an
open and a closed source o...
Product development
success factors
speed

cost

features

Stay agile!

quality
Contact Seravo Oy:n if you need
Linux natives to develop and administer
your Linux systems
About the company: seravo.fi
Ab...
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Best practises for HTML5 servers (Devaamo Summit 2012)
Upcoming SlideShare
Loading in...5
×

Best practises for HTML5 servers (Devaamo Summit 2012)

1,350
-1

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,350
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Best practises for HTML5 servers (Devaamo Summit 2012)

  1. 1. Devaamo Summit 2012 Best practices for HTML5 servers Otto Kekäläinen Tampere 16.6.2012
  2. 2. Command and Conqueror
  3. 3. What is HTML5? 1995 1997 HTML 2.0 HTML 4.0 1999 2000 2001 2008 2011 May HTML XHTML XHTML HTML5 XHTML HTML5 4.01 1.0 1.1 Working 2.0 Last Call Draft 2005: CSS3 2011 June: ECMAScript 5.1 never?
  4. 4. What is HTML5? CACHE MANIFEST SVG NETWORK: WOFF /checking.cgi WEBM CACHE: /test.css localStorage.setItem('key', 'value'); /test.js localStorage.getItem('key'); /test.png <header> <footer> <article> <nav> <video> <audio> <canvas> <input type=”range”> <input type=”color”> Mark Pilgrim http://diveintohtml5.info/ 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);
  5. 5. Why is HTML5 important? Flash Silverlight Java Applets
  6. 6. Why is HTML5 important? The universal runtime Any browser, any OS, any device (+ XULRunner, Prism, PhoneGap)
  7. 7. Universal means Big audience Lots of €€€€€
  8. 8. HTML success stories Google Facebook Twitter Youtube LinkedIn Amazon
  9. 9. The secret to global success? Leverage on open source! - small cost, forever - widely used, proven technology - best practices built in the most popular tools
  10. 10. If Google ran on Windows servers, could they ever really be a threat to Microsoft?
  11. 11. Why emphasize servers? - a security issue is more severe in server code than in client code - server failure is fatal - servers have running costs
  12. 12. Where do you want to go – directions: programming language framework storage http server caching delivery
  13. 13. for Python for Node.js Zend Framework for PHP ..or CakePHP Ruby on Rails for Java / J2EE
  14. 14. To SQL or NoSQL? Midgard2
  15. 15. Global popularity of http servers
  16. 16. HTTP server considerations forking vs. threading FCGI, WSGI Node.js? web sockets SDPY
  17. 17. Cache, Proxy, TLS, DNS ..
  18. 18. DevOps Test: 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)
  19. 19. Platform as a service Virtual servers as a service Hardware as a service Buy your own servers Build you own servers
  20. 20. 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/whatpowers-instagram-hundreds-of-instances-dozens-of http://www.slideshare.net/protocol7/spotify-architecture-pressing-play http://www.slideshare.net/adorepump/skytools-pgq-queues-andapplications
  21. 21. 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.
  22. 22. Product development success factors speed cost features Stay agile! quality
  23. 23. 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
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×