SlideShare a Scribd company logo
Scaling DotNetNuke
In The Cloud
Who Is This Guy?




              I get to work with an awesome team
          (though I never get out in the sun it seems)
Presentation Overview
I’ll cover infrastructure setup and application
configuration of DotNetNuke in a elastic scalable
cloud hosting environment.
• Infrastructure As A Service (IAAS) Focused
• Professional Edition & Enterprise Edition Focus
• Platform Agnostic (yes Azure & Amazon included)
DNN Cloud Vs. Chicken Soup
•   Did you know, on allrecipes.com there’s over
    2400 different recipes to make chicken soup.




•   In the same context, there’s more than one way to
    deploy DNN in the Cloud. This is ours.
    http://allrecipes.com/recipe/catherines-spicy-chicken-soup/detail.aspx
DotNetNuke – CMS built for the
cloud
•   Robust caching provider for distributed
    deployment
•   Customizable performance settings
•   Quickly configured for load balanced
    environments
•   The DNN Team has always been aligned closely
    with Microsoft and the approach to the cloud is no
    different
Why The Cloud?
• COST – Thanks to virtualization everyone should
  consider a HA clustered environment
• Scale Up / Out – Ability to scale your workloads

• Pay Per Use – Pay for what you need, when you
  need it
• On Demand – Control your environment as
  needed
• Increased Security – Datacenters no closets

• Increased Scale – Compute, Bandwidth, Etc

        (obligatory cloud presentation content please bear with me. It’ll get better.)
A Cloud Example – Scale & Security
Why IAAS Over PAAS (yes, I’m biased)
• Avoidplatform & vendor lock in
• Greater control over your deployment
  • Granular Security Settings
  • Controlled Scaling

  • Granular Scale Up & Scale Down
    Scenarios
• Proven scalability and reliability
• Greater compatibility with existing
  modules
Our Highly Available Infrastructure
              Cluster



 Networking
    Tier




Web Servers
   Tier




 Database
   Tier
Highly Available Infrastructure
(Azure)




    Create an availability set and that ensures each
    machine in that set is in a separate fault domain.
High Availability Infrastructure
(Amazon)
                     Elastic Load Balancer




      Availability Zone A             Availability Zone B




Amazon uses Availability Zones and elastic load balancers to
balance traffic between them.
Configuring Webservers
Here’s a few tips to speed it along.
Configuring Webservers
 Use Microsoft Web Platform Installer




    Selecting “IIS Recommended Configuration”
          (http://www.microsoft.com/web/platform)
Configuring Webservers
   Keep a uniform configuration




     There’s a number of commercial control panels,
         a personal favorite is websitepanel.net
Configuring Webservers
 Leverage IIS Shared Config mode




  With a few simple steps you can use the same IIS configuration
    across multiple web servers, this includes SSL certificates.
File Replication for Shared
Config/Data
 Easiest Solution is DFS Replication

      Then Configure Replication in DFS Management.
           See Resources for DFS-R guidance.
                (sorry, I only have an hour)
Load Balancer Setup
Application Request Routing (ARR) is a great option.

Things to watch out for or to do:
• Caching of AXD files (set an exclusion)
• Persistant Sessions / Server Affinity / Sticky Sessions
• Replication not working correctly.
• Application Pool Recycling
• Stale Cache when updating images, css, etc
• Recommend offloading SSL
• Recommend offloading compression of static content
Database Server
Clustering/Mirroring
Most sites perform fine with one database
server but for true HA you’ll want a second.
It’s straightforward but check the resources
for links and guidance.
Overwhelmed?


            Sound Complicated?
               Good News!
             Time SameAzure Web Sites
                    consuming?
                Windows
                         Technology
          There’s even painful?
            Maybe an easier way!
                 Hosted by AppliedI.net




 Ok, you can host it too.. http://www.microsoft.com/hosting/en/us/services.aspx
DotNetNuke Web Farm Configuration
Add web server aliases




DotNetNuke > Admin > Site Settings
(I prefer internal IP Addresses for each site.)
DotNetNuke Web Farm Configuration
Assign Unique URLs to each web server
DotNetNuke > Host > Professional Features > Manage Web Servers
Configuring Farm Caching
Adjust Page & Module Caching to Memory
DotNetNuke > Host > Host Settings > Performance Settings
Configuring Farm Caching
Manage Cache Settings on Pages & Modules
DotNetNuke > Page/Module > Page Settings > Cache Settings




If you use memory caching everywhere you can disable two
scheduled tasks:
• Purge Module Cache
• Purge Output Cache

This will reduce disk I/O greatly!
Configuring Scheduled Tasks
Scheduled Tasks may run on one server or all servers. It depends
on the scheduled task at hand. Below are the Purge tasks
Purge Users Online - this task is required only if Users Online module is in use on the site; otherwise you can disable it.

Purge Log Buffer - this task should be enabled and should run frequently enough to purge all event from memory to
database.

PurgeCache-This task purges expired items from the database entity cache. There are two standard providers
FileCachingProvider, and WebRequestCachingProvider.
File – All cache files more than 2 hours old that no longer have any keys in memory will be deleted by this task. This task
should be on when File based caching is in use, it only needs to run on 1 web server in a web farm.
WebRequest – Cache item lifetime is managed by the ASP.Net web cache. The PurgeCache task has no effect on
WebRequest caching and does not need to run when WebRequest caching is in use.

PurgeModuleCache: This task purges items from the module cache. There are 3 standard providers File, Database,
Memory. Each module in the system may have different settings, it is best to always run this task. It only needs to run on
1 web server in a web farm to be sure that any cache that exists will be purged.
File – All cache files with an expiry date that has passed will be deleted.
Database – All ModuleCache records with an expiration date that has passed will be deleted.
Memory – Cache item lifetime is managed by the ASP.Net web cache. The Purge Module cache is not required as this
task has no effect on Memory caching.


Purge Output Cache: This task purges items from the page output cache. There are 3 standard providers File,
Database, Memory. Each page in the system may have different settings, it is best to always run this task. It only needs
to run on 1 web server in a web farm to be sure that any cache that exists will be purged.
File – All cache files with an expiry date that has passed will be deleted.
Database – All ModuleCache records with an expiration date that has passed will be deleted.
Memory – Cache item lifetime is managed by the ASP.Net web cache. The Purge Output cache is not required as this
task has no effect on Memory caching
Configuring Scheduled Tasks
When using the File based cache provider
(Host > Host Settings > Performance Settings)

 Core Tasks That Should Run on All Servers
 • Purge Module Cache
 • Purge Cache
 • Purge Log Buffer
 • Purge Output Cache
 • Purge Users Online
Configuring Scheduled Tasks
When using the Memory based cache provider
(Host > Host Settings > Performance Settings)

 Core Tasks That Should Run on All Servers
 • Purge Log Buffer
 • Purge Users Online
Configuring Scheduled Tasks

Core Tasks That Should Run on ONE Server
• Purge Site Log
• Purge Schedule History
• Search Engine Scheduler or Search Crawler
• Send Forum Emails (from forum module)
• Cleanup Forum Email History (from forum module)
• Event Notification (from core event module)
• Messaging Dispatch

The frequency of any task depends on your particular site needs.
Configuring Search
• CE includes Search Engine
  Scheduler
• PE includes Search Engine
  Scheduler & Search Crawler.

NOTE: You only need one search
module and the Search Crawler will
crawl all content including module
content.
References & Thank Yous
• Jaspreet Bhatia – who helped guide me on
  how to setup scheduled tasks
• “DotNetNuke for the System Administrator”
  PDF
• “DotNetNuke 6.2.3 SuperUser Manual”
  PDF
• Mitchel Sellers, IowaComputerGurus, Inc

• http://www.iis.net

• http://technet.microsoft.com

• http://www.youtube.com
References & Thank Yous (cont’d)
ARR Setup Details
• http://learn.iis.net/tags/ARR/default.aspx

Database Mirroring
• http://blogs.technet.com/b/josebda/archive/2009/04/02/sql-
  server-2008-database-mirroring.aspx
• http://www.youtube.com/playlist?list=PL582F622A572D6286&f
  eature=plcp
Shared Config/Shared Storage
• http://www.iis.net/learn/manage/managing-your-configuration-
  settings/shared-configuration_264
Setting up DFS-R
• http://technet.microsoft.com/en-
  us/library/cc732863(v=ws.10).aspx
Questions & Answers
Thank You

            • Jess Coburn, CEO
              Applied Innovations
            • jcoburn@appliedi.net

            • www.appliedi.net

More Related Content

PDF
Postgres on OpenStack
 
PDF
Postgres Plus Cloud Database on OpenStack
PDF
Lesson 1 configuring
PDF
Deep Dive into RDS PostgreSQL Universe
PDF
Blue Medora Oracle Enterprise Manager (EM12c) Plug-in for PostgreSQL
PPTX
Accelerate your ColdFusion Applications using Caching
PDF
Ehcache3 — JSR-107 on steroids
PDF
PostgreSQL and Benchmarks
Postgres on OpenStack
 
Postgres Plus Cloud Database on OpenStack
Lesson 1 configuring
Deep Dive into RDS PostgreSQL Universe
Blue Medora Oracle Enterprise Manager (EM12c) Plug-in for PostgreSQL
Accelerate your ColdFusion Applications using Caching
Ehcache3 — JSR-107 on steroids
PostgreSQL and Benchmarks

What's hot (20)

PPTX
Apache Performance Tuning: Scaling Out
PDF
Aem dispatcher – tips & tricks
PPTX
Orlando DNN Usergroup Pres 12/06/11
PDF
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
PDF
Ehcache Architecture, Features And Usage Patterns
PDF
Best Practices with PostgreSQL on Solaris
PDF
My experience with embedding PostgreSQL
PDF
PostgreSQL Query Cache - "pqc"
PPTX
Improving Website Performance with Memecached Webinar | Achieve Internet
PPTX
3. v sphere big data extensions
PDF
Uptime Database Appliance - Technology Preview
PDF
MySQL Tuning
PPTX
How_To_Soup_Up_Your_Farm
PDF
Postgres & Red Hat Cluster Suite
 
PDF
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
PPTX
Azure virtual machines & Terraform
PPTX
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
PDF
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
PDF
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
PPTX
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Apache Performance Tuning: Scaling Out
Aem dispatcher – tips & tricks
Orlando DNN Usergroup Pres 12/06/11
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
Ehcache Architecture, Features And Usage Patterns
Best Practices with PostgreSQL on Solaris
My experience with embedding PostgreSQL
PostgreSQL Query Cache - "pqc"
Improving Website Performance with Memecached Webinar | Achieve Internet
3. v sphere big data extensions
Uptime Database Appliance - Technology Preview
MySQL Tuning
How_To_Soup_Up_Your_Farm
Postgres & Red Hat Cluster Suite
 
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
Azure virtual machines & Terraform
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Ad

Viewers also liked (20)

PPTX
Profecion docente
DOCX
Mantenimiento del teclado
PPTX
1443 18 02_2013_arquivo
PDF
Evolucioncomputarizada 140303143536-phpapp01
PPTX
Presentación1
DOCX
DOCX
Noticia abril
PPTX
Prevención del cáncer de mamas (1)
DOCX
Noticia marzo
PPT
Presentación1
DOCX
Noticia fabrero
PPT
Teknik pendokumentasian
PPTX
Profesion docente
DOCX
Escuela normal experimental
DOCX
Bismillahirrahmanirrahim
DOC
Na ruu karkes 19 juni2012
DOC
Ho pendokumentasian soap zm ref 2
PPTX
Profesión dosente
PPTX
Ingreso Genesis
PPT
Profecion docente
Mantenimiento del teclado
1443 18 02_2013_arquivo
Evolucioncomputarizada 140303143536-phpapp01
Presentación1
Noticia abril
Prevención del cáncer de mamas (1)
Noticia marzo
Presentación1
Noticia fabrero
Teknik pendokumentasian
Profesion docente
Escuela normal experimental
Bismillahirrahmanirrahim
Na ruu karkes 19 juni2012
Ho pendokumentasian soap zm ref 2
Profesión dosente
Ingreso Genesis
Ad

Similar to Cloud computing 3702 (20)

PPTX
TechEd NZ 2014: Azure and Sharepoint
PPTX
Avoiding 10 common SharePoint Administration mistakes
PPT
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
PPT
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
PPT
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
PPTX
SPSSac2014 - SharePoint Infrastructure Tips and Tricks for On-Premises and Hy...
PDF
Putting the "Share" and "Point" back in SharePoint 2013
PDF
Spca2014 holme outcomes with governance
PPTX
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
DOC
internet_gov_plan
PPTX
KMWorld SharePoint 2010-Admin 101
PPTX
Sharepoint 2013 applied architecture from the field (v2)
PPTX
Designing SharePoint solutions – Big Decisions for Big Success
PDF
PPTX
What's New for the Windows Azure Developer? Lots!!
PPTX
SharePoint SpeedMetal Admin 101 - SPSDEN
PPTX
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
PPTX
SPSAD - Ultimate SharePoint Infrastructure Best Practices Session - SharePoin...
PPTX
SPSSV 2013 - Ultimate SharePoint Infrastructure Best Practices Session
PPTX
Architecture In Share Point2010
TechEd NZ 2014: Azure and Sharepoint
Avoiding 10 common SharePoint Administration mistakes
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
SPSSac2014 - SharePoint Infrastructure Tips and Tricks for On-Premises and Hy...
Putting the "Share" and "Point" back in SharePoint 2013
Spca2014 holme outcomes with governance
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
internet_gov_plan
KMWorld SharePoint 2010-Admin 101
Sharepoint 2013 applied architecture from the field (v2)
Designing SharePoint solutions – Big Decisions for Big Success
What's New for the Windows Azure Developer? Lots!!
SharePoint SpeedMetal Admin 101 - SPSDEN
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
SPSAD - Ultimate SharePoint Infrastructure Best Practices Session - SharePoin...
SPSSV 2013 - Ultimate SharePoint Infrastructure Best Practices Session
Architecture In Share Point2010

Cloud computing 3702

  • 2. Who Is This Guy? I get to work with an awesome team (though I never get out in the sun it seems)
  • 3. Presentation Overview I’ll cover infrastructure setup and application configuration of DotNetNuke in a elastic scalable cloud hosting environment. • Infrastructure As A Service (IAAS) Focused • Professional Edition & Enterprise Edition Focus • Platform Agnostic (yes Azure & Amazon included)
  • 4. DNN Cloud Vs. Chicken Soup • Did you know, on allrecipes.com there’s over 2400 different recipes to make chicken soup. • In the same context, there’s more than one way to deploy DNN in the Cloud. This is ours. http://allrecipes.com/recipe/catherines-spicy-chicken-soup/detail.aspx
  • 5. DotNetNuke – CMS built for the cloud • Robust caching provider for distributed deployment • Customizable performance settings • Quickly configured for load balanced environments • The DNN Team has always been aligned closely with Microsoft and the approach to the cloud is no different
  • 6. Why The Cloud? • COST – Thanks to virtualization everyone should consider a HA clustered environment • Scale Up / Out – Ability to scale your workloads • Pay Per Use – Pay for what you need, when you need it • On Demand – Control your environment as needed • Increased Security – Datacenters no closets • Increased Scale – Compute, Bandwidth, Etc (obligatory cloud presentation content please bear with me. It’ll get better.)
  • 7. A Cloud Example – Scale & Security
  • 8. Why IAAS Over PAAS (yes, I’m biased) • Avoidplatform & vendor lock in • Greater control over your deployment • Granular Security Settings • Controlled Scaling • Granular Scale Up & Scale Down Scenarios • Proven scalability and reliability • Greater compatibility with existing modules
  • 9. Our Highly Available Infrastructure Cluster Networking Tier Web Servers Tier Database Tier
  • 10. Highly Available Infrastructure (Azure) Create an availability set and that ensures each machine in that set is in a separate fault domain.
  • 11. High Availability Infrastructure (Amazon) Elastic Load Balancer Availability Zone A Availability Zone B Amazon uses Availability Zones and elastic load balancers to balance traffic between them.
  • 12. Configuring Webservers Here’s a few tips to speed it along.
  • 13. Configuring Webservers Use Microsoft Web Platform Installer Selecting “IIS Recommended Configuration” (http://www.microsoft.com/web/platform)
  • 14. Configuring Webservers Keep a uniform configuration There’s a number of commercial control panels, a personal favorite is websitepanel.net
  • 15. Configuring Webservers Leverage IIS Shared Config mode With a few simple steps you can use the same IIS configuration across multiple web servers, this includes SSL certificates.
  • 16. File Replication for Shared Config/Data Easiest Solution is DFS Replication Then Configure Replication in DFS Management. See Resources for DFS-R guidance. (sorry, I only have an hour)
  • 17. Load Balancer Setup Application Request Routing (ARR) is a great option. Things to watch out for or to do: • Caching of AXD files (set an exclusion) • Persistant Sessions / Server Affinity / Sticky Sessions • Replication not working correctly. • Application Pool Recycling • Stale Cache when updating images, css, etc • Recommend offloading SSL • Recommend offloading compression of static content
  • 18. Database Server Clustering/Mirroring Most sites perform fine with one database server but for true HA you’ll want a second. It’s straightforward but check the resources for links and guidance.
  • 19. Overwhelmed? Sound Complicated? Good News! Time SameAzure Web Sites consuming? Windows Technology There’s even painful? Maybe an easier way! Hosted by AppliedI.net Ok, you can host it too.. http://www.microsoft.com/hosting/en/us/services.aspx
  • 20. DotNetNuke Web Farm Configuration Add web server aliases DotNetNuke > Admin > Site Settings (I prefer internal IP Addresses for each site.)
  • 21. DotNetNuke Web Farm Configuration Assign Unique URLs to each web server DotNetNuke > Host > Professional Features > Manage Web Servers
  • 22. Configuring Farm Caching Adjust Page & Module Caching to Memory DotNetNuke > Host > Host Settings > Performance Settings
  • 23. Configuring Farm Caching Manage Cache Settings on Pages & Modules DotNetNuke > Page/Module > Page Settings > Cache Settings If you use memory caching everywhere you can disable two scheduled tasks: • Purge Module Cache • Purge Output Cache This will reduce disk I/O greatly!
  • 24. Configuring Scheduled Tasks Scheduled Tasks may run on one server or all servers. It depends on the scheduled task at hand. Below are the Purge tasks Purge Users Online - this task is required only if Users Online module is in use on the site; otherwise you can disable it. Purge Log Buffer - this task should be enabled and should run frequently enough to purge all event from memory to database. PurgeCache-This task purges expired items from the database entity cache. There are two standard providers FileCachingProvider, and WebRequestCachingProvider. File – All cache files more than 2 hours old that no longer have any keys in memory will be deleted by this task. This task should be on when File based caching is in use, it only needs to run on 1 web server in a web farm. WebRequest – Cache item lifetime is managed by the ASP.Net web cache. The PurgeCache task has no effect on WebRequest caching and does not need to run when WebRequest caching is in use. PurgeModuleCache: This task purges items from the module cache. There are 3 standard providers File, Database, Memory. Each module in the system may have different settings, it is best to always run this task. It only needs to run on 1 web server in a web farm to be sure that any cache that exists will be purged. File – All cache files with an expiry date that has passed will be deleted. Database – All ModuleCache records with an expiration date that has passed will be deleted. Memory – Cache item lifetime is managed by the ASP.Net web cache. The Purge Module cache is not required as this task has no effect on Memory caching. Purge Output Cache: This task purges items from the page output cache. There are 3 standard providers File, Database, Memory. Each page in the system may have different settings, it is best to always run this task. It only needs to run on 1 web server in a web farm to be sure that any cache that exists will be purged. File – All cache files with an expiry date that has passed will be deleted. Database – All ModuleCache records with an expiration date that has passed will be deleted. Memory – Cache item lifetime is managed by the ASP.Net web cache. The Purge Output cache is not required as this task has no effect on Memory caching
  • 25. Configuring Scheduled Tasks When using the File based cache provider (Host > Host Settings > Performance Settings) Core Tasks That Should Run on All Servers • Purge Module Cache • Purge Cache • Purge Log Buffer • Purge Output Cache • Purge Users Online
  • 26. Configuring Scheduled Tasks When using the Memory based cache provider (Host > Host Settings > Performance Settings) Core Tasks That Should Run on All Servers • Purge Log Buffer • Purge Users Online
  • 27. Configuring Scheduled Tasks Core Tasks That Should Run on ONE Server • Purge Site Log • Purge Schedule History • Search Engine Scheduler or Search Crawler • Send Forum Emails (from forum module) • Cleanup Forum Email History (from forum module) • Event Notification (from core event module) • Messaging Dispatch The frequency of any task depends on your particular site needs.
  • 28. Configuring Search • CE includes Search Engine Scheduler • PE includes Search Engine Scheduler & Search Crawler. NOTE: You only need one search module and the Search Crawler will crawl all content including module content.
  • 29. References & Thank Yous • Jaspreet Bhatia – who helped guide me on how to setup scheduled tasks • “DotNetNuke for the System Administrator” PDF • “DotNetNuke 6.2.3 SuperUser Manual” PDF • Mitchel Sellers, IowaComputerGurus, Inc • http://www.iis.net • http://technet.microsoft.com • http://www.youtube.com
  • 30. References & Thank Yous (cont’d) ARR Setup Details • http://learn.iis.net/tags/ARR/default.aspx Database Mirroring • http://blogs.technet.com/b/josebda/archive/2009/04/02/sql- server-2008-database-mirroring.aspx • http://www.youtube.com/playlist?list=PL582F622A572D6286&f eature=plcp Shared Config/Shared Storage • http://www.iis.net/learn/manage/managing-your-configuration- settings/shared-configuration_264 Setting up DFS-R • http://technet.microsoft.com/en- us/library/cc732863(v=ws.10).aspx
  • 32. Thank You • Jess Coburn, CEO Applied Innovations • jcoburn@appliedi.net • www.appliedi.net

Editor's Notes

  • #8: Tier 4 Datacenter built to deliver a minimum of 99.995% uptime across all critical systems.750,000 SF160 Global CarriersN+2 Cooling and Power7 inch steel reinforced walls, 32FT about sea level, outside the 500 year flood zone and able to withstand winds in excess of a category 5Security? The 3rd floor is dedicated to the US Government and the Southern Command.
  • #9: Avoid Platform & Vendor lock-inMaintain greater levels of control over your deployment- Granular Security
  • #10: In our environment we build self contained clusters and you deploy your application there. In Amazon EC2 you would do the same thing but build this out in Availability Zones. In Azure Virtual Servers you would do this again but build it out in “Cloud Services”
  • #16: Things to watch out for:PHP Configuration changes would need to be customized.NET will require consistent machine keys so you’ll want to use a common machine key in the server’s .net configurationWatch out for website logging on multiple servers using the same logging folder and creating file clashesOf course before all of this you’ll want to enable DFS replication or use a Network File Share.