Rendering Websites of the Future

2,930 views

Published on

Imagine a mid-century cargo transportation system. You had to worry about a variety of goods in different shapes, sizes and types being transported smoothly from Point A to Point B, all requiring their own containers. Transportation in those days was cumbersome to say the least.

Code is transported in a similar way—from servers to the users' device in a cumbersome, old-school shipping containers. In this presentation, we explain how Docker automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. In other words, the Docker application packages your code in a portable container for easy delivery.

Moboom serves as a unique case study for Docker. Find out how Moboom is using Docker and node.js to render sites of the future.

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
2,930
On SlideShare
0
From Embeds
0
Number of Embeds
2,071
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Talk about the company you worked for.22 pages -> 17 of which took over a second
  • Stress how things are BRITTLE.Marketing comes in and says “Hey we want to try out this new thing on the home page.” -> Are you kidding me we just finished the homepage?!Some analogy here?
  • Wordpress.com: something like 30,000 plugins and you can’t use ANY of them in a hosted environmentJira: we wanted something, but it wasn’t approved for hosted Jira. I BRIEFLY considered hosting our own. Then I was responsible for the instance. Version control. Patches. I just really didn’t want to do it. So what happened? We found a crappy work around, and we went without the feature.With Moboom:You don’t have to give up anything.You get the best of both worlds.
  • Back to my previous company.17 slow pagesWe spent months working through them. Ended up with something better, but not awesome.What if we’d only had 1 page that was slow?Time better spent on more productive thingsFlexible system, that would have encouraged us to try new things. We would have regained our agility.Would have enjoyed more of my 30’s.Best part of it is that all those other enhancements (CDN, Caching) are an added bonus. You can still do them and not feel like you are just trying to cover up a dirty little secret. Because your underlying foundation is as fast as it can be.
  • Rendering Websites of the Future

    1. 1. RENDERING WEB SITES OF THE FUTURE 2/21/2014
    2. 2. THE PROBLEM So, what’s the problem? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    3. 3. MARKET TODAY The size of webpages has increased by 25% in the last year Responsive design tends toward long scrolling pages HOW DO WE MAKE THE FASTEST SITES POSSIBLE? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    4. 4. THE CONVENTIONAL APPROACH
    5. 5. THE CONVENTIONAL APPROACH What is “slow”? Pages that take more than 1 second Focus on the slowest, and dive in with the usual suspects. • • • • • 2/21/2014 Make Fewer HTTP Requests Add expires header GZIP everything Move all stylesheets to the top Move all scripts to the bottom • • • • • COPYRIGHT © 2014 MOBOOM Reduce DNS lookups Minify JavaScript Cache everything Use a CDN Avoid Redirects
    6. 6. THE CONVENTIONAL APPROACH Still slow, now what? Vertical Scaling More memory More CPU Horizontal Scaling More machines Throw more engineering at the problem Break up JavaScript Use AJAX 2/21/2014 COPYRIGHT © 2014 MOBOOM
    7. 7. CONSEQUENCES • • • • You have a large system that is very costly to operate. You have a brittle system that is very costly to maintain. The last thing you want to do is CHANGE anything. You now have a constant battle between people who create content, and people who build your sites Fixes happen post-rendering RENDERING 2/21/2014 BAND-AID COPYRIGHT © 2014 MOBOOM WEB PAGE
    8. 8. THE PROBLEM Page speed always approaches a physical limit. 2/21/2014 COPYRIGHT © 2014 MOBOOM
    9. 9. CONVENTIONAL RENDERING
    10. 10. CONVENTIONAL RENDERING 2/21/2014 COPYRIGHT © 2014 MOBOOM
    11. 11. CONVENTIONAL RENDERING SUM OF PARTS = SPEED OF PAGE What if you had 20 elements? 100? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    12. 12. CONVENTIONAL RENDERING Slow Request? Google penalizes you. Skip Ad? Lose revenue. Now you have requests backing up while you are waiting on responses. 2/21/2014 COPYRIGHT © 2014 MOBOOM
    13. 13. HOW MOBOOM DOES IT
    14. 14. WHAT DOES MOBOOM DO? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    15. 15. WHAT DOES MOBOOM DO? SLOWEST PART = SPEED OF PAGE Slow loading elements aren’t blocking. 2/21/2014 COPYRIGHT © 2014 MOBOOM
    16. 16. WHAT DOES MOBOOM DO? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    17. 17. WHAT DOES MOBOOM DO? What happens with 100 elements? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    18. 18. WHAT DOES MOBOOM DO? What happens with 100 elements? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    19. 19. DOCKER
    20. 20. DOCKER Docker helped us realize the full potential of the Cloud. 2/21/2014 COPYRIGHT © 2014 MOBOOM
    21. 21. DOCKER 2/21/2014 COPYRIGHT © 2014 MOBOOM
    22. 22. DOCKER 2/21/2014 COPYRIGHT © 2014 MOBOOM
    23. 23. DOCKER 2/21/2014 COPYRIGHT © 2014 MOBOOM
    24. 24. DOCKER 2/21/2014 COPYRIGHT © 2014 MOBOOM
    25. 25. DOCKER 2/21/2014 COPYRIGHT © 2014 MOBOOM
    26. 26. DOCKER 2/21/2014 COPYRIGHT © 2014 MOBOOM
    27. 27. SCALING
    28. 28. SCALING “Watchdog” that monitors the state of the Docker containers and AWS instances Creation of new containers Container exceeds a certain # of requests Container becomes unresponsive Spin up new Docker AWS instances System filling up with Docker containers Designate instance for new container creation 2/21/2014 COPYRIGHT © 2014 MOBOOM
    29. 29. CUSTOM DEVELOPMENT
    30. 30. CUSTOM DEVELOPMENT We are a hosted platform in multi-tenant mode. Other hosted systems: NO custom code without a more extensive review and approval process. Moboom: Open to any developer Runtime environment and websever are self contained in Docker containers. Bad or destructive code will only affect the site trying to use it. 2/21/2014 COPYRIGHT © 2014 MOBOOM
    31. 31. CUSTOM DEVELOPMENT What languages do we support? 2/21/2014 COPYRIGHT © 2014 MOBOOM
    32. 32. MOBOOM RENDERING What if your underlying system was fast from the start? 2/21/2014 COPYRIGHT © 2014 MOBOOM

    ×