Large scale, cloud computing and scalability with Umbraco


Published on

Alex Norcliffe from Conde Nast International Digital/Umbraco Core Team and Peter Miller from Conde Nast Digital UK will discuss umbraco on a large scale, cloud computing and scalability.

Published in: Technology
  • Be the first to comment

Large scale, cloud computing and scalability with Umbraco

  1. 1. Condé Nast Digital <br />
  2. 2. Alex Norcliffe<br />International Tech Lead for CondéNast International, now consultant Technology Architect<br />Email:<br />Twitter: alex_norcliffe<br />URL:<br />Peter Miller<br />Head of Tech & Development, CondéNast UK<br />Email:<br />Twitter: petemill<br />Blog:<br />About us<br />
  3. 3. Scaling Umbraco to a large, high traffic publishing environment<br />Development Environment<br />Handling traffic – code scalability<br />Handling traffic – servers & the cloud<br />
  4. 4. Environment<br /> Industry-specific tools / data structures<br /> Shared components for multiple projects<br />
  5. 5. Editors want...<br />Flexibility<br />- Site Structure<br />- Template configuration<br />Workflow:<br />- Notifications<br />- Granular permissions<br />Great experience:<br />- Convergence of tools<br />- Slick editing interface<br />
  6. 6. Rapid development<br />Easy to extend<br />Integration with existing systems<br />Open-source<br />No license fees for the product<br />Share costs – become part of an evolving platform<br />Avoid buying limited access to a vendor<br />Leave more budget for creating great sites<br />Re-use content across multiple sites and domains<br />Host many sites on one server set-up<br />Non-technical user interface<br />Low cost of support<br />Why Umbraco is a great choice for large publishers<br />
  7. 7. Umbraco in a large publishing environment<br />Use simple, custom (but generic!) DataTypes for component convergence.<br />Our goal is to give the editor’s one experience and a consistent flexibility.<br />
  8. 8. Umbraco in a large publishing environment<br />Highly configurable, layout and structure-independent templates.<br />Logical inheritence of templates, even in code - base classes for similar layout templates that share the same data template.<br />
  9. 9. Development / Editorial Workflow<br />Dev Umbraco<br />Build Server<br />Editorial Umbraco<br />Dev<br />Staging<br />Live<br />
  10. 10. What’s “massive”?<br />Unpredictable traffic pattern<br />Timezone of audience spread across globe<br />Large amount of content: cache turnover rate<br />High amount of pageviews<br />CondeNet UK + Italy combined = &gt;100m PVs per month<br />Handling Massive Traffic<br />
  11. 11. Scaling the code<br />Code performance before adding caching<br />JetBrains dotTrace code profiler (Screenshot)<br />Even String.Concat rather than String.Format!<br />BoxBinaryWebCacheManagerframework (Screenshot)<br />Memcached is great too<br />Lucene indexing of external data sources<br />Comments, Image + Video assets<br />OutputCaching “icing the cake”<br />Handling Massive Traffic<br />
  12. 12.
  13. 13. Handling Traffic 2<br />
  14. 14.
  15. 15. Serving Traffic<br />Traditionally:<br /><ul><li>Managed Servers / Co-location
  16. 16. Multi-year contracts</li></ul>Cloud Architecture:<br /><ul><li>Turn an entire data center on or off on-demand
  17. 17. Pick and choose services, managed by experts and you.
  18. 18. Disposable image-based and role-based machines.
  19. 19. Peristent data stored in the right places</li></li></ul><li>
  20. 20. Cloud Management / Load-balanced Umbraco<br /><ul><li>Maintain your best-practice hosting and deployment scenarios without a systems team
  21. 21. Easy to manage – consistent API, and tools developed in the community to use it</li></li></ul><li>Load-balanced Umbraco<br /><ul><li>Disposable web-server templates
  22. 22. Scales up easily
  23. 23. Failures are OK
  24. 24. NAS has advantages and disadvantages
  25. 25. Store content safely, synchronise to web nodes
  26. 26. Our team has integrated distributed source control to the build process
  27. 27. Push build output to a versioned repository
  28. 28. Web nodes pull
  29. 29. Easy to revert</li></li></ul><li>Monitoring<br />