Cloud computing 3702

Jess Coburn
Jess CoburnCEO, Applied Innovations Corp. en Awesome Cloud Services
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
1 de 32

Recomendados

Postgres on OpenStack por
Postgres on OpenStackPostgres on OpenStack
Postgres on OpenStackEDB
5.5K vistas45 diapositivas
Postgres Plus Cloud Database on OpenStack por
Postgres Plus Cloud Database on OpenStackPostgres Plus Cloud Database on OpenStack
Postgres Plus Cloud Database on OpenStackKamesh Pemmaraju
2.7K vistas16 diapositivas
Lesson 1 configuring por
Lesson 1   configuringLesson 1   configuring
Lesson 1 configuringRam Kedem
519 vistas24 diapositivas
Deep Dive into RDS PostgreSQL Universe por
Deep Dive into RDS PostgreSQL UniverseDeep Dive into RDS PostgreSQL Universe
Deep Dive into RDS PostgreSQL UniverseJignesh Shah
670 vistas39 diapositivas
Blue Medora Oracle Enterprise Manager (EM12c) Plug-in for PostgreSQL por
Blue Medora Oracle Enterprise Manager (EM12c) Plug-in for PostgreSQLBlue Medora Oracle Enterprise Manager (EM12c) Plug-in for PostgreSQL
Blue Medora Oracle Enterprise Manager (EM12c) Plug-in for PostgreSQLBlue Medora
2.5K vistas28 diapositivas
Accelerate your ColdFusion Applications using Caching por
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingColdFusionConference
2.3K vistas52 diapositivas

Más contenido relacionado

La actualidad más candente

Apache Performance Tuning: Scaling Out por
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutSander Temme
7.8K vistas38 diapositivas
Aem dispatcher – tips & tricks por
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAshokkumar T A
5.4K vistas14 diapositivas
Orlando DNN Usergroup Pres 12/06/11 por
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Jess Coburn
638 vistas39 diapositivas
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker por
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 DockerKenny Buntinx
147 vistas33 diapositivas
Ehcache Architecture, Features And Usage Patterns por
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEduardo Pelegri-Llopart
8.2K vistas33 diapositivas
Best Practices with PostgreSQL on Solaris por
Best Practices with PostgreSQL on SolarisBest Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on SolarisJignesh Shah
2K vistas44 diapositivas

La actualidad más candente(20)

Apache Performance Tuning: Scaling Out por Sander Temme
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
Sander Temme7.8K vistas
Aem dispatcher – tips & tricks por Ashokkumar T A
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
Ashokkumar T A5.4K vistas
Orlando DNN Usergroup Pres 12/06/11 por Jess Coburn
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
Jess Coburn638 vistas
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker por Kenny Buntinx
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 Buntinx147 vistas
Best Practices with PostgreSQL on Solaris por Jignesh Shah
Best Practices with PostgreSQL on SolarisBest Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on Solaris
Jignesh Shah2K vistas
My experience with embedding PostgreSQL por Jignesh Shah
 My experience with embedding PostgreSQL My experience with embedding PostgreSQL
My experience with embedding PostgreSQL
Jignesh Shah16.4K vistas
Improving Website Performance with Memecached Webinar | Achieve Internet por 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 Internet829 vistas
3. v sphere big data extensions por Chiou-Nan Chen
3. v sphere big data extensions3. v sphere big data extensions
3. v sphere big data extensions
Chiou-Nan Chen741 vistas
How_To_Soup_Up_Your_Farm por Nigel Price
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price84 vistas
Postgres & Red Hat Cluster Suite por EDB
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
EDB5.7K vistas
Azure virtual machines & Terraform por Juan Jose Gazzola
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
Juan Jose Gazzola1.1K vistas
Tuning the Performance of Your ColdFusion Environment to Racecar Specs! por Hostway|HOSTING
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|HOSTING3.1K vistas
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion por ColdFusionConference
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
ColdFusionConference4.5K vistas
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments por Jignesh Shah
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 Shah56.1K vistas
Lean microservices through ahead of time compilation (Tobias Piper, Loveholid... por London Microservices
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...

Destacado

Profecion docente por
Profecion docenteProfecion docente
Profecion docenteALPINAROSS
72 vistas6 diapositivas
Mantenimiento del teclado por
Mantenimiento del tecladoMantenimiento del teclado
Mantenimiento del tecladoEstreellaa Liizeetth
144 vistas4 diapositivas
1443 18 02_2013_arquivo por
1443 18 02_2013_arquivo1443 18 02_2013_arquivo
1443 18 02_2013_arquivoBruno Marques
230 vistas7 diapositivas
Evolucioncomputarizada 140303143536-phpapp01 por
Evolucioncomputarizada 140303143536-phpapp01Evolucioncomputarizada 140303143536-phpapp01
Evolucioncomputarizada 140303143536-phpapp01Leslie Vanesa Sanchez Montano
252 vistas9 diapositivas
Presentación1 por
Presentación1Presentación1
Presentación1Azucena Rangel
194 vistas39 diapositivas
Monitor por
MonitorMonitor
MonitorAlejandro Martin
113 vistas4 diapositivas

Destacado(20)

Profecion docente por ALPINAROSS
Profecion docenteProfecion docente
Profecion docente
ALPINAROSS72 vistas
1443 18 02_2013_arquivo por Bruno Marques
1443 18 02_2013_arquivo1443 18 02_2013_arquivo
1443 18 02_2013_arquivo
Bruno Marques230 vistas
Prevención del cáncer de mamas (1) por linettbustos
Prevención del cáncer de mamas (1)Prevención del cáncer de mamas (1)
Prevención del cáncer de mamas (1)
linettbustos204 vistas
Escuela normal experimental por Azucena Rangel
Escuela normal experimentalEscuela normal experimental
Escuela normal experimental
Azucena Rangel397 vistas
Bismillahirrahmanirrahim por Reans82
BismillahirrahmanirrahimBismillahirrahmanirrahim
Bismillahirrahmanirrahim
Reans821.6K vistas
Profesión dosente por yoha33
Profesión dosenteProfesión dosente
Profesión dosente
yoha33159 vistas

Similar a Cloud computing 3702

TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations por
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 InstallationsSymantec
4K vistas40 diapositivas
Drupal performance optimization Best Practices por
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best PracticesRatnesh kumar, CSM
3.8K vistas26 diapositivas
More Cache for Less Cash (DevLink 2014) por
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)Michael Collier
8K vistas45 diapositivas
Nuts and bolts of running a popular site in the aws cloud por
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 cloudDavid Veksler
538 vistas69 diapositivas
Blue Green Sitecore Deployments on Azure por
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureRob Habraken
8.4K vistas40 diapositivas
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur... por
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
2.2K vistas62 diapositivas

Similar a Cloud computing 3702(20)

TECHNICAL BRIEF▶ Backup Exec 15 Blueprint for Large Installations por Symantec
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
Symantec4K vistas
Drupal performance optimization Best Practices por Ratnesh kumar, CSM
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
Ratnesh kumar, CSM3.8K vistas
More Cache for Less Cash (DevLink 2014) por Michael Collier
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
Michael Collier8K vistas
Nuts and bolts of running a popular site in the aws cloud por David Veksler
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 Veksler538 vistas
Blue Green Sitecore Deployments on Azure por Rob Habraken
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
Rob Habraken8.4K vistas
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur... por Amazon Web Services
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
Amazon Web Services2.2K vistas
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy por Claudia Ring
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 Ring1.6K vistas
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy por IBM DevOps
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 DevOps8.6K vistas
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec... por Vikas Sahni
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 Sahni3K vistas
Building azure applications ireland por Michael Meagher
Building azure applications irelandBuilding azure applications ireland
Building azure applications ireland
Michael Meagher1.9K vistas
The secret life of a dispatcher (Adobe CQ AEM) por Venugopal Gummadala
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 Gummadala5.7K vistas
Virtualizing Tier One Applications - Varrow por Andrew Miller
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
Andrew Miller664 vistas
Getting to Walk with DevOps por Eklove Mohan
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan330 vistas
SharePoint Disaster Recovery to Microsoft Azure por David J Rosenthal
SharePoint Disaster Recovery to Microsoft AzureSharePoint Disaster Recovery to Microsoft Azure
SharePoint Disaster Recovery to Microsoft Azure
David J Rosenthal987 vistas
Practical management of development & QA environments for SharePoint 2013 por SharePointRadi
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
SharePointRadi8.4K vistas
Stay productive_while_slicing_up_the_monolith por Markus Eisele
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele592 vistas
Implement SQL Server on an Azure VM por James Serra
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
James Serra7.5K vistas
SharePoint 2013 Performance Analysis - Robi Vončina por SPC Adriatics
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics6.5K vistas
NICConf 2015 - azure disaster recovery in 60min por Peter De Tender
NICConf 2015 -  azure disaster recovery in 60minNICConf 2015 -  azure disaster recovery in 60min
NICConf 2015 - azure disaster recovery in 60min
Peter De Tender1.7K vistas

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

Notas del editor

  1. 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.
  2. Avoid Platform & Vendor lock-inMaintain greater levels of control over your deployment- Granular Security
  3. 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”
  4. 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.