SlideShare a Scribd company logo
Condé Nast Digital
Alex NorcliffeInternational Tech Lead for CondéNast International, now consultant Technology ArchitectEmail: alex.norcliffe@boxbinary.comTwitter: alex_norcliffeURL: www.boxbinary.comPeter MillerHead of Tech & Development, CondéNast UKEmail: peter.miller@condenast.co.ukTwitter: petemillBlog: http://wishfulcode.blogspot.com/About us
Scaling Umbraco to a large, high traffic publishing environmentDevelopment  EnvironmentHandling traffic – code scalabilityHandling traffic – servers & the cloud
Environment Industry-specific tools / data structures Shared components for multiple projects
Editors want...Flexibility- Site Structure- Template configurationWorkflow:- Notifications- Granular permissionsGreat experience:- Convergence of tools- Slick editing interface
Rapid developmentEasy to extendIntegration with existing systemsOpen-sourceNo license fees for the productShare costs – become part of an evolving platformAvoid buying limited access to a vendorLeave more budget for creating great sitesRe-use content across multiple sites and domainsHost many sites on one server set-upNon-technical user interfaceLow cost of supportWhy Umbraco is a great choice for large publishers
Umbraco in a large publishing environmentUse simple, custom (but generic!) DataTypes for component convergence.Our goal is to give the editor’s one experience and a consistent flexibility.
Umbraco in a large publishing environmentHighly configurable, layout and structure-independent templates.Logical inheritence of templates, even in code - base classes for similar layout templates that share the same data template.
Development / Editorial WorkflowDev  UmbracoBuild ServerEditorial UmbracoDevStagingLive
What’s “massive”?Unpredictable traffic patternTimezone of audience spread across globeLarge amount of content: cache turnover rateHigh amount of pageviewsCondeNet UK + Italy combined = >100m PVs per monthHandling Massive Traffic
Scaling the codeCode performance before adding cachingJetBrains dotTrace code profiler (Screenshot)Even String.Concat rather than String.Format!BoxBinaryWebCacheManagerframework (Screenshot)Memcached is great tooLucene indexing of external data sourcesComments, Image + Video assetsOutputCaching “icing the cake”Handling Massive Traffic
Large scale, cloud computing and scalability with Umbraco
Handling Traffic 2
Large scale, cloud computing and scalability with Umbraco
Serving TrafficTraditionally:Managed Servers / Co-location
Multi-year contractsCloud Architecture:Turn an entire data center on or off on-demand
Pick and choose services, managed by experts and you.
Disposable image-based and role-based machines.
Peristent data stored in the right places

More Related Content

PPTX
dotCMS - Move Forward, Build Faster, Get Farther
PDF
NoSQL and Cloud Services - Philip Balinow, Comfo
PDF
Latest Trends in Web Technologies
PPTX
Hello Cloud
POTX
All about cloud computing
PPT
Presentatie Marviqcc 21 04 2009
PDF
Cloud computing for publishing
PDF
Latest Trends in Open Source Web Technologies
dotCMS - Move Forward, Build Faster, Get Farther
NoSQL and Cloud Services - Philip Balinow, Comfo
Latest Trends in Web Technologies
Hello Cloud
All about cloud computing
Presentatie Marviqcc 21 04 2009
Cloud computing for publishing
Latest Trends in Open Source Web Technologies

What's hot (19)

PDF
4Developers 2018: Serverless PHP (Michał Kurzeja)
PPTX
Cloud computing
PPT
Cloud Computing
PPTX
How to Build a Web Server with AWS Lambda
PDF
Design - Exploring Hybrid Cloud Infrastructure Choices
PPTX
Aws cloud computing course
PPTX
Jam stack
PPTX
Cloud integration patterns, technologies & trends
PPT
Clearing The Air On Cloud
ODP
Drupal distributed architectures
PPSX
CRB Tech Solutions Pvt Ltd. .Net contents
PDF
The Evolution of Cloud-first Headless CMS [Infographics]
PPTX
Building Data Solutions with Azure
PPTX
cloud shilpa
PDF
What Is a Cloud-first Headless CMS
PPTX
What is cloud computing ?
PPTX
Emc The journey to the Private Cloud
PPTX
PPTX
Introduction to Kentico Cloud - the headless CMS and digital experience platform
4Developers 2018: Serverless PHP (Michał Kurzeja)
Cloud computing
Cloud Computing
How to Build a Web Server with AWS Lambda
Design - Exploring Hybrid Cloud Infrastructure Choices
Aws cloud computing course
Jam stack
Cloud integration patterns, technologies & trends
Clearing The Air On Cloud
Drupal distributed architectures
CRB Tech Solutions Pvt Ltd. .Net contents
The Evolution of Cloud-first Headless CMS [Infographics]
Building Data Solutions with Azure
cloud shilpa
What Is a Cloud-first Headless CMS
What is cloud computing ?
Emc The journey to the Private Cloud
Introduction to Kentico Cloud - the headless CMS and digital experience platform
Ad

Viewers also liked (9)

PPT
PDF
How to Scale Native Ads Across Devices - WTF Native Advertising UK, 10/8/15
PPTX
Buzzfeed project 1
PDF
Vanhack Brand Evolution
PDF
DataEngConf: Measuring Impact with Data in a Distributed World at Conde Nast
PDF
Native Advertising: 4A's and 23 Stories
PDF
How Conde Nast Traveler Capitalized on a New Platform Strategy at DPS, 9/19/14
PDF
Thinaire Conde Nast Pitch Deck
PPTX
Azure and Umbraco CMS
How to Scale Native Ads Across Devices - WTF Native Advertising UK, 10/8/15
Buzzfeed project 1
Vanhack Brand Evolution
DataEngConf: Measuring Impact with Data in a Distributed World at Conde Nast
Native Advertising: 4A's and 23 Stories
How Conde Nast Traveler Capitalized on a New Platform Strategy at DPS, 9/19/14
Thinaire Conde Nast Pitch Deck
Azure and Umbraco CMS
Ad

Similar to Large scale, cloud computing and scalability with Umbraco (20)

PDF
Solving enterprise challenges through scale out storage & big compute final
PPT
Cloud computing - dien toan dam may
PPTX
Microsoft Partner Roadshow - To the Cloud
PPT
Emerging Technology in the Cloud! Real Life Examples. Pol Mac Aonghusa
PPTX
Reactive Microservices Roadshow Berlin
PPTX
Techcello at a glance
PPTX
PPTX
Designing CloudStack Clouds
PPTX
Azure Overview Csco
PPTX
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
PPTX
Techcello at a glance
PPTX
Cloud Presentation Cloudbook Gia Slideshare
PPT
Monitoring IAAS & PAAS Solutions
PPTX
An Overview of Windows Azure
PPT
UTF-8'en'IBM_Cloud_SCO_Content_20130702c
PPT
Cloud Computing 2010 - EMC - Bruno Melandri
PPTX
Adding Recurring Revenue with Cloud Computing ProfitBricks
PPTX
Webinar: Dealing with automation tool overload!
PPT
The cloud original
PPTX
Cloud computing
Solving enterprise challenges through scale out storage & big compute final
Cloud computing - dien toan dam may
Microsoft Partner Roadshow - To the Cloud
Emerging Technology in the Cloud! Real Life Examples. Pol Mac Aonghusa
Reactive Microservices Roadshow Berlin
Techcello at a glance
Designing CloudStack Clouds
Azure Overview Csco
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
Techcello at a glance
Cloud Presentation Cloudbook Gia Slideshare
Monitoring IAAS & PAAS Solutions
An Overview of Windows Azure
UTF-8'en'IBM_Cloud_SCO_Content_20130702c
Cloud Computing 2010 - EMC - Bruno Melandri
Adding Recurring Revenue with Cloud Computing ProfitBricks
Webinar: Dealing with automation tool overload!
The cloud original
Cloud computing

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Digital-Transformation-Roadmap-for-Companies.pptx
Modernizing your data center with Dell and AMD
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
A Presentation on Artificial Intelligence
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Big Data Technologies - Introduction.pptx

Large scale, cloud computing and scalability with Umbraco

  • 2. Alex NorcliffeInternational Tech Lead for CondéNast International, now consultant Technology ArchitectEmail: alex.norcliffe@boxbinary.comTwitter: alex_norcliffeURL: www.boxbinary.comPeter MillerHead of Tech & Development, CondéNast UKEmail: peter.miller@condenast.co.ukTwitter: petemillBlog: http://wishfulcode.blogspot.com/About us
  • 3. Scaling Umbraco to a large, high traffic publishing environmentDevelopment EnvironmentHandling traffic – code scalabilityHandling traffic – servers & the cloud
  • 4. Environment Industry-specific tools / data structures Shared components for multiple projects
  • 5. Editors want...Flexibility- Site Structure- Template configurationWorkflow:- Notifications- Granular permissionsGreat experience:- Convergence of tools- Slick editing interface
  • 6. Rapid developmentEasy to extendIntegration with existing systemsOpen-sourceNo license fees for the productShare costs – become part of an evolving platformAvoid buying limited access to a vendorLeave more budget for creating great sitesRe-use content across multiple sites and domainsHost many sites on one server set-upNon-technical user interfaceLow cost of supportWhy Umbraco is a great choice for large publishers
  • 7. Umbraco in a large publishing environmentUse simple, custom (but generic!) DataTypes for component convergence.Our goal is to give the editor’s one experience and a consistent flexibility.
  • 8. Umbraco in a large publishing environmentHighly configurable, layout and structure-independent templates.Logical inheritence of templates, even in code - base classes for similar layout templates that share the same data template.
  • 9. Development / Editorial WorkflowDev UmbracoBuild ServerEditorial UmbracoDevStagingLive
  • 10. What’s “massive”?Unpredictable traffic patternTimezone of audience spread across globeLarge amount of content: cache turnover rateHigh amount of pageviewsCondeNet UK + Italy combined = >100m PVs per monthHandling Massive Traffic
  • 11. Scaling the codeCode performance before adding cachingJetBrains dotTrace code profiler (Screenshot)Even String.Concat rather than String.Format!BoxBinaryWebCacheManagerframework (Screenshot)Memcached is great tooLucene indexing of external data sourcesComments, Image + Video assetsOutputCaching “icing the cake”Handling Massive Traffic
  • 16. Multi-year contractsCloud Architecture:Turn an entire data center on or off on-demand
  • 17. Pick and choose services, managed by experts and you.
  • 18. Disposable image-based and role-based machines.
  • 19. Peristent data stored in the right places
  • 20. Cloud Management / Load-balanced UmbracoMaintain your best-practice hosting and deployment scenarios without a systems team
  • 21. Easy to manage – consistent API, and tools developed in the community to use itLoad-balanced UmbracoDisposable web-server templates
  • 24. NAS has advantages and disadvantages
  • 25. Store content safely, synchronise to web nodes
  • 26. Our team has integrated distributed source control to the build process
  • 27. Push build output to a versioned repository

Editor's Notes

  • #2: Intro by Alex and PeteAlex - my name is Alex, Pete (...) launchesTogether we have worked on:High traffic sites, large content structures.>200,000 articles, 2 million images, >40 million pageviews a month
  • #3: Q&A?
  • #4: PETEMany CMS in the past. Our exp UmbracoGreat solution for med 2 large publishing sitesWe = not biggest player, but want to make sure we’re having the right discussions
  • #5: PETECurrent env:7+ sitesEditorial team 30+Developers 10+IND tools, shared componentsDevs want convergence and not to reinvent the wheel each time they make an app
  • #6: PETENot only passionateEds passionate, want great experience – they have great contentANWhyUmbraco
  • #7: ALEX (3)
  • #8: ALEX“So, what are some ways we put this into effect moving on since the original Wired launch?”Avoid logins to several systemsCustom DataTypes – give a streamlined experienceIntegration with our existing systems – images / comments
  • #9: ALEXSuper-generic Document Types. Generic, configurable code that knows about the site context, but doesn’t depend on a really restrictive site structure. Write code that can use the same data schema (doctype) but different layout (template)
  • #10: PETEConstant Red light / Green light monitoring (shanselmann)Continous dev site deployment to test serversBuild on-demand to staging / editorial working areaPush to live from staging buildIt’ll get interesting when we see where the code goes from there... Into the cloud....
  • #11: ALEXWhat’s massiveCondeNet websites outside of the US total around 200 million page views per month across about 20 websites. Wired.com in the US runs at about xxx million per month, and the goal was to replicate this kind of success (spread across each country) on one central platform.Therefore, massive is about trying to squeeze as much as possible from the same platform whilst coping with peaks:Wired has the kind of traffic pattern that can peak very suddenly, e.g. if a story gets picked up by EngadgetOnce Wired was spread across the globe, the time zones of peak usage hitting one central platform meant sustained 24/7 load (although only UK and IT so far )-Massive is also about amount of content: caching is OK, but if you have tons of pages, your cache turnover rate is very high so the code performance is still paramount. This is even more important because CondeNet does not have a glut of spare servers hanging around waiting to pick up the slack for our lazy coding 
  • #12: ALEXScaling the codeA few years ago Alex put in place a target policy of a TTFB of 200ms for ASP.NET pages under load of 100rps BEFORE outputcaching - that means:Code profiling: JetBrainsdotTrace 3.1 is a great tool from the same guys who make ReSharperDEMOCode-level caching of common data (e.g. the profiling showed us about the Umbraco Dictionary needing caching)WebCacheManager framework available on Alex’s blog.Instead of writing code which sets the timeout of a cache entry based on minutes, instead decorate objects with attributes which describe it:How much memory does it use?How expensive is it to create (e.g. long-running db query, webservice call)?How often does the data need to be refreshed?Then, the WebCacheManager makes a judgment on how long to cache the object for based on the whole landscape Also allows for very expensive objects to be serialized for disk asynchronously so that cache items survive application restartsUsing DFS you can then distribute cache items to other machines which monitor the cache folder and load items into cacheDisconnecting data connections as soon as possibleAvoiding Session state like the plague. Do you really need server-side generated user-specific content on the page? E.g. you can show login status using a jQuery callbackPage lifecycle caching: using singleton objects like the HttpContext to ensure you only grab data once per page lifecycleUsing Lucene indexes for common data queries (e.g. external Image and Comment databases) MORE ON THIS LATERAlways keep in mind that your code may run on more than one web server: be careful with file locks and replicationEven using String.Concat instead of String.Format!ONLY when you’re happy with this, THEN put in OutputCaching. OutputCaching doesn’t work with Umbraco. Why? Small bug in the requestModule which sets the UrlRewriting path (Default.aspx) just before the Framework stores the path for OutputCaching.We subclassed the requestModule to change the event at which point Umbraco does this, which enables OutputCaching. This code will be in 4.1 but is available on our blog.OutputCaching on a large site can give you a high turnover, but allows you to prevent high CPU during a peak and covers the parts Macro caching doesn’t reach 
  • #13: ALEX - ref
  • #14: ALEX - ref
  • #15: ALEX - ref
  • #16: PETEWhen you’re too large to consider shared hosting, but not big enough (or crazy) to manage 12 data centres around the world, you have a few options – managed or co-located.Vs cloud-provider model - pick & choose services.GREAT Services – and the prices are comparatively amazing.Put as much in the hands of the experts, use disposable instances for the rest.ELB, S3 / Azure Blob, CF, EC2, AZURE... Azure is even better – upload your app and metadata about spec needs, and the cloud will handle the rest.Redundancy everywhere!Backup everywhere!And our personal tip – run Umbraco sites from a distributed repository, not a NAS.... Git... Rollback!Tools for editors to do stuff – do it in Umbraco!
  • #17: PETE - ref
  • #18: PETE - refCloud providers operate through API.That means communities have developed great tools already to help you manage servers, view uptime, statistics....but to be honest, what we’re doing will be made a lot easier when the full Azure platform comes out. You still have to RDP and manage servers at Amazon... So we’ll be running tests with Umbraco.
  • #19: PETEApplyingI’ve spent a lot of time looking at ways to keep your web farm in synch: synch framework providers, msdeployAlex’s patch...Azure will handle all this for us....
  • #20: PETE - ref