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

What's hot (20)

Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
Sander Temme
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
Ashokkumar T A
 
Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
Jess Coburn
 
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
Kenny Buntinx
 
Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage Patterns
Eduardo Pelegri-Llopart
 
Best Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on SolarisBest Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on Solaris
Jignesh Shah
 
My experience with embedding PostgreSQL
 My experience with embedding PostgreSQL My experience with embedding PostgreSQL
My experience with embedding PostgreSQL
Jignesh Shah
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
Uptime Technologies LLC
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
Achieve Internet
 
3. v sphere big data extensions
3. v sphere big data extensions3. v sphere big data extensions
3. v sphere big data extensions
Chiou-Nan Chen
 
Uptime Database Appliance - Technology Preview
Uptime Database Appliance - Technology PreviewUptime Database Appliance - Technology Preview
Uptime Database Appliance - Technology Preview
Uptime Technologies LLC
 
MySQL Tuning
MySQL TuningMySQL Tuning
MySQL Tuning
Ford AntiTrust
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
EDB
 
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
1E: Software Lifecycle Automation
 
Azure virtual machines & Terraform
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
Juan Jose Gazzola
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Hostway|HOSTING
 
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
ColdFusionConference
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Jignesh Shah
 
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
London Microservices
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
Sander Temme
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
Ashokkumar T A
 
Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
Jess Coburn
 
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
Kenny Buntinx
 
Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage Patterns
Eduardo Pelegri-Llopart
 
Best Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on SolarisBest Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on Solaris
Jignesh Shah
 
My experience with embedding PostgreSQL
 My experience with embedding PostgreSQL My experience with embedding PostgreSQL
My experience with embedding PostgreSQL
Jignesh Shah
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
Achieve Internet
 
3. v sphere big data extensions
3. v sphere big data extensions3. v sphere big data extensions
3. v sphere big data extensions
Chiou-Nan Chen
 
Uptime Database Appliance - Technology Preview
Uptime Database Appliance - Technology PreviewUptime Database Appliance - Technology Preview
Uptime Database Appliance - Technology Preview
Uptime Technologies LLC
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
EDB
 
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
NOMAD ENTERPRISE & WAN CACHING APPLIANCES NETWORK OPTIMIZATION IN A CONFIGURA...
1E: Software Lifecycle Automation
 
Azure virtual machines & Terraform
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
Juan Jose Gazzola
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Hostway|HOSTING
 
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
ColdFusionConference
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Jignesh Shah
 
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid...
London Microservices
 

Viewers also liked (20)

Profecion docente
Profecion docenteProfecion docente
Profecion docente
ALPINAROSS
 
Mantenimiento del teclado
Mantenimiento del tecladoMantenimiento del teclado
Mantenimiento del teclado
Estreellaa Liizeetth
 
1443 18 02_2013_arquivo
1443 18 02_2013_arquivo1443 18 02_2013_arquivo
1443 18 02_2013_arquivo
Bruno Marques
 
Evolucioncomputarizada 140303143536-phpapp01
Evolucioncomputarizada 140303143536-phpapp01Evolucioncomputarizada 140303143536-phpapp01
Evolucioncomputarizada 140303143536-phpapp01
Leslie Vanesa Sanchez Montano
 
Presentación1
Presentación1Presentación1
Presentación1
Azucena Rangel
 
Monitor
MonitorMonitor
Monitor
Alejandro Martin
 
Noticia abril
Noticia abrilNoticia abril
Noticia abril
Alejandro Martin
 
Prevención del cáncer de mamas (1)
Prevención del cáncer de mamas (1)Prevención del cáncer de mamas (1)
Prevención del cáncer de mamas (1)
linettbustos
 
Noticia marzo
Noticia marzoNoticia marzo
Noticia marzo
Alejandro Martin
 
Presentación1
Presentación1Presentación1
Presentación1
vzambrano15
 
Noticia fabrero
Noticia fabreroNoticia fabrero
Noticia fabrero
Alejandro Martin
 
Profesion docente
Profesion docenteProfesion docente
Profesion docente
MAURICIOJESUS
 
Escuela normal experimental
Escuela normal experimentalEscuela normal experimental
Escuela normal experimental
Azucena Rangel
 
Bismillahirrahmanirrahim
BismillahirrahmanirrahimBismillahirrahmanirrahim
Bismillahirrahmanirrahim
Reans82
 
Profesión dosente
Profesión dosenteProfesión dosente
Profesión dosente
yoha33
 
Mitosis
MitosisMitosis
Mitosis
Oswaldo A. Garibay
 

Similar to Cloud computing 3702 (20)

TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations
TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large InstallationsTECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations
TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations
Symantec
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
Ratnesh kumar, CSM
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
Michael Collier
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloud
David Veksler
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
Rob Habraken
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Claudia Ring
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
IBM DevOps
 
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Vikas Sahni
 
Building azure applications ireland
Building azure applications irelandBuilding azure applications ireland
Building azure applications ireland
Michael Meagher
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)
Venugopal Gummadala
 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
Andrew Miller
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
 
SharePoint Disaster Recovery to Microsoft Azure
SharePoint Disaster Recovery to Microsoft AzureSharePoint Disaster Recovery to Microsoft Azure
SharePoint Disaster Recovery to Microsoft Azure
David J Rosenthal
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
James Serra
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics
 
NICConf 2015 - azure disaster recovery in 60min
NICConf 2015 -  azure disaster recovery in 60minNICConf 2015 -  azure disaster recovery in 60min
NICConf 2015 - azure disaster recovery in 60min
Peter De Tender
 
12 Things about Oracle WebLogic Server 12c
12 Things	 about Oracle WebLogic Server 12c12 Things	 about Oracle WebLogic Server 12c
12 Things about Oracle WebLogic Server 12c
Guatemala User Group
 
Caching in Kentico 11
Caching in Kentico 11Caching in Kentico 11
Caching in Kentico 11
Christopher Bass
 
TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations
TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large InstallationsTECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations
TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations
Symantec
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
Ratnesh kumar, CSM
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
Michael Collier
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloud
David Veksler
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
Rob Habraken
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Claudia Ring
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
IBM DevOps
 
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Vikas Sahni
 
Building azure applications ireland
Building azure applications irelandBuilding azure applications ireland
Building azure applications ireland
Michael Meagher
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)
Venugopal Gummadala
 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
Andrew Miller
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
 
SharePoint Disaster Recovery to Microsoft Azure
SharePoint Disaster Recovery to Microsoft AzureSharePoint Disaster Recovery to Microsoft Azure
SharePoint Disaster Recovery to Microsoft Azure
David J Rosenthal
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
James Serra
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics
 
NICConf 2015 - azure disaster recovery in 60min
NICConf 2015 -  azure disaster recovery in 60minNICConf 2015 -  azure disaster recovery in 60min
NICConf 2015 - azure disaster recovery in 60min
Peter De Tender
 
12 Things about Oracle WebLogic Server 12c
12 Things	 about Oracle WebLogic Server 12c12 Things	 about Oracle WebLogic Server 12c
12 Things about Oracle WebLogic Server 12c
Guatemala User Group
 

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 • [email protected] • 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.