SlideShare a Scribd company logo
Global domination with Kentico
Jeroen Fürst – Kentico MVP
Lead engineer – TrueLime
About me
blogs.jeroenfurst.nl
twitter.com/jeroenfurst
nl.linkedin.com/in/jeroenfurst
Before we begin
 Deploying Kentico to Microsoft Azure
http://devnet.kentico.com/articles/deploying-kentico-to-azure-web-apps-part-1-deployment
http://devnet.kentico.com/articles/deploying-kentico-to-azure-web-apps-part-2-running-monitoring
http://devnet.kentico.com/articles/deploying-kentico-to-microsoft-azure-know-your-web-hosting-options
http://devnet.kentico.com/articles/deploying-kentico-to-microsoft-azure-know-your-database-options
http://devnet.kentico.com/articles/technical-webinar-most-common-issues-with-kentico-azure-deployments
Today’s plan to take over the world
 Architecture
 Multi-Tenancy
 Session State
 Content Delivery Network
 Web Farms
 Deployment
Who remembers this?
15 tips for optimizing your websites performance
 Tip 1: Setup is key, pick your components
carefully!
 Tip 2: Page order counts!
 Tip 3: Minify!
 Tip 4: Resource compression
 Tip 5: Disable the view state (carefully)
 Tip 6: SELECT ##COLUMNS## FROM ???
 Tip 7: Cache me if you can!
 Tip 8: Master of the Universal Viewer
 Tip 9: Find and fix issues using the built-in
debugging options!
 Tip 10: Event log
 Tip 11: Find the right balance
 Tip 12: External services
 Tip 13: Monitor the health and performance of
your websites
 Tip 14: Try to keep up!
 Tip 15: Know the guides!
http://devnet.kentico.com/articles/tips-and-tricks--building-highly-scalable-websites
How to rule the world?
or
Start gathering requirements
 What is the goal of the project?
 What is the expected number of users/ page views during the peak load, what is the expected number of pages
on the website?
 What is the structure of the website and what types of content will be published?
 Which web standards should be followed in terms of accessibility and coding?
 Who is the target web site visitor?
 Which products and technologies will be used?
 What is the content life-cycle? Who is responsible for the content management?
 What languages will be used for the content?
 What is the required availability of the website?
 What is the production environment type?
http://download.kentico.com/Kentico_DeliverNow_Methodology.pdf
Architecture ready for the future
Azure architecture
Internet
SQL DatabaseWeb App
Redis Cache
Azure Traffic Manager
CDN
Azure regions
https://azure.microsoft.com/en-us/regions
Tips and tricks: Architecture
http://www.submarinecablemap.com
Gotcha: Geo-replication
 Kentico does not support read-only
SQL databases
 Hosting the SQL Azure database
outside the Azure Region results in
a huge performance degradation
Azure architecture (per region)
Internet
SQL DatabaseWeb App
Redis Cache
Azure Traffic Manager
CDN
Demo – Architecture
Multi-Tenancy
Ability to have multiple sites installed in a single installation of
Kentico
 Multi-site objects and content
 Integration
 Governance
 Search
 Marketing
 Software Maintenance / upgrades
Gotcha: Multi-Tenancy
Some of the early Kentico modules don’t work very well with
multi-site objects
How we handled it:
Create custom modules and enforce the use of the SiteID column
Example: Multi-Tenancy
 Custom localization module
 Apply hotfix 8.2.39 or newer!
Tips and tricks: Multi-Tenancy
 Use global roles and configure required permissions
http://blogs.jeroenfurst.nl/blog/september-2015/working-with-roles-and-permissions
 Create custom modules for non multi-tenant Kentico modules
https://docs.kentico.com/display/K82/Creating+custom+modules
Session State
 Single instances  InProc
 Multiple instances (web farms)  Azure Redis Cache
https://azure.microsoft.com/en-us/documentation/articles/cache-faq/#which-azure-cache-offering-is-right-for-me
Demo – Session State
Tips and tricks: Session State
 Microsoft Azure Redis Cache in Kentico
http://devnet.kentico.com/articles/microsoft-azure-redis-cache-in-kentico
 Typos in Azure Redis Cache access keys can result in headaches
http://blogs.jeroenfurst.nl/blog/july-2015/typos-in-azure-redis-cache-access-keys-can-result
Content delivery networks
 Push
Editor uploads files directly to the CDN server
 Origin Pull
CDN fetches data during the first request and caches it
http://www.whoishostingthis.com/blog/2010/06/30/cdns-push-vs-pull/
Gotcha: Azure Blob Storage
 Media library limitations when storing files in an external
storage
https://docs.kentico.com/display/K82/Configuring+media+libraries#Configuringmedialibra
ries-Medialibrarylimitationswhenstoringfilesinanexternalstorage
“We recommend storing at most 100 files in a single media library folder.”
Tip and tricks: CDN
 Speeding up Kentico Websites with Rackspace CDN and Origin Pull
http://www.getstarted.com.au/Blog/September-2015/Kentico-Rackspace-Akamai-CDN-Origin-Pull
 Upgrade to hotfix 8.2.44 or newer
Demo – CDN
Web Farms & Kentico 9
 No additional configuration
 Robust, failure recovery and self-healing
 Improved performance (synchronizing physical files)
Demo – Web Farms
Tips & tricks: Web Farms
 Automatic deletion of inactive WF servers in 8.x
http://devnet.kentico.com/articles/automatic-deletion-of-inactive-wf-servers
 Automatically generate scheduled tasks for web farms
http://blogs.jeroenfurst.nl/blog/august-2015/automatically-generate-scheduled-tasks-for-web-far
Ready for liftoff
Demo – Deployment
Wrapping up
 Architecture
 Multi-Tenancy
 Session State
 Content Delivery Network
 Web Farms
 Deployment
Jeroen Fürst
Office: +31 (0)76 820 0920
Mobile: +31 (0)6 400 145 90
E-mail: jeroen.furst@truelime.nl
blogs.jeroenfurst.nl
twitter.com/jeroenfurst
nl.linkedin.com/in/jeroenfurst
Global domination with kentico

More Related Content

What's hot

Debugging Serverless for Cloud
Debugging Serverless for CloudDebugging Serverless for Cloud
Debugging Serverless for Cloud
VMware Tanzu
 
(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介
(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介
(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介
Masahiko Ebisuda
 
Develop for Azure storage
Develop for Azure storageDevelop for Azure storage
Develop for Azure storage
AzureEzy1
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
Shahed Chowdhuri
 
Spring Security 5.5 From Taxi to Takeoff
Spring Security 5.5 From Taxi to TakeoffSpring Security 5.5 From Taxi to Takeoff
Spring Security 5.5 From Taxi to Takeoff
VMware Tanzu
 
Node js to sharepoint authentication
Node js to sharepoint authenticationNode js to sharepoint authentication
Node js to sharepoint authentication
Sergei Sergeev
 
Must have tools for windows azure
Must have tools for windows azureMust have tools for windows azure
Must have tools for windows azure
K.Mohamed Faizal
 
Introduction to VueJS for begginers with examples | Namspace IT
Introduction to VueJS for begginers with examples | Namspace ITIntroduction to VueJS for begginers with examples | Namspace IT
Introduction to VueJS for begginers with examples | Namspace IT
namespaceit
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
Andrea Campaci
 
Faug leap
Faug leapFaug leap
Faug leap
Antti Kiiskinen
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみた
DevTakas
 
5 best Java Frameworks
5 best Java Frameworks5 best Java Frameworks
5 best Java Frameworks
Aegis Softtech
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
Yvette Teiken
 
アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020
アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020
アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020
Issei Hiraoka
 
All you need to know about Microsoft Ignite 2016
All you need to know about Microsoft Ignite 2016All you need to know about Microsoft Ignite 2016
All you need to know about Microsoft Ignite 2016
Veeam Software
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0Monaca
 
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?
Lorenzo Barbieri
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
Bhasker Thapan
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgZiyad Bazed
 

What's hot (20)

Debugging Serverless for Cloud
Debugging Serverless for CloudDebugging Serverless for Cloud
Debugging Serverless for Cloud
 
(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介
(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介
(おそらく)日本最速!_Microsoft Ignite 2019からのHybrid_Edge関連最新トピック紹介
 
Develop for Azure storage
Develop for Azure storageDevelop for Azure storage
Develop for Azure storage
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
 
Spring Security 5.5 From Taxi to Takeoff
Spring Security 5.5 From Taxi to TakeoffSpring Security 5.5 From Taxi to Takeoff
Spring Security 5.5 From Taxi to Takeoff
 
Node js to sharepoint authentication
Node js to sharepoint authenticationNode js to sharepoint authentication
Node js to sharepoint authentication
 
Must have tools for windows azure
Must have tools for windows azureMust have tools for windows azure
Must have tools for windows azure
 
Introduction to VueJS for begginers with examples | Namspace IT
Introduction to VueJS for begginers with examples | Namspace ITIntroduction to VueJS for begginers with examples | Namspace IT
Introduction to VueJS for begginers with examples | Namspace IT
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
 
Faug leap
Faug leapFaug leap
Faug leap
 
Azure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみたAzure Web PubSub Serviceを触ってみた
Azure Web PubSub Serviceを触ってみた
 
5 best Java Frameworks
5 best Java Frameworks5 best Java Frameworks
5 best Java Frameworks
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020
アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020
アプリケーションエンジニアへのいちおし Azure Update at Microsoft Ignite 2020
 
All you need to know about Microsoft Ignite 2016
All you need to know about Microsoft Ignite 2016All you need to know about Microsoft Ignite 2016
All you need to know about Microsoft Ignite 2016
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0
 
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud?
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
 
Banquet 51
Banquet 51Banquet 51
Banquet 51
 

Similar to Global domination with kentico

Kentico CMS: A Case Study in Building for Today’s Web
Kentico CMS: A Case Study in Building for Today’s WebKentico CMS: A Case Study in Building for Today’s Web
Kentico CMS: A Case Study in Building for Today’s Web
Thomas Robbins
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
Ken Cenerelli
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
Igalia
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
Maarten Balliauw
 
Go…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows AzureGo…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows Azure
Thomas Robbins
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
Mike Martin
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
IRJET Journal
 
Moving Kentico Cms To The Azure
Moving Kentico Cms To The AzureMoving Kentico Cms To The Azure
Moving Kentico Cms To The Azure
Michal Neuwirth
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
Best Full Stack .NET Core Classroom & Online training - Naresh IT
Best Full Stack .NET Core Classroom & Online training - Naresh ITBest Full Stack .NET Core Classroom & Online training - Naresh IT
Best Full Stack .NET Core Classroom & Online training - Naresh IT
manoharjgpsolutions
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
Patric Boscolo
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Marc Müller
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
Maarten Balliauw
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
Marc Müller
 
Azure Administration.docx
Azure  Administration.docxAzure  Administration.docx
Azure Administration.docx
Futurepoint13
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
Jessica Deen
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗
William Yeh
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
Jessica Deen
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Felix Gessert
 

Similar to Global domination with kentico (20)

Kentico CMS: A Case Study in Building for Today’s Web
Kentico CMS: A Case Study in Building for Today’s WebKentico CMS: A Case Study in Building for Today’s Web
Kentico CMS: A Case Study in Building for Today’s Web
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
 
Go…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows AzureGo…Running Kentico CMS on Windows Azure
Go…Running Kentico CMS on Windows Azure
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Moving Kentico Cms To The Azure
Moving Kentico Cms To The AzureMoving Kentico Cms To The Azure
Moving Kentico Cms To The Azure
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Best Full Stack .NET Core Classroom & Online training - Naresh IT
Best Full Stack .NET Core Classroom & Online training - Naresh ITBest Full Stack .NET Core Classroom & Online training - Naresh IT
Best Full Stack .NET Core Classroom & Online training - Naresh IT
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
 
Azure Administration.docx
Azure  Administration.docxAzure  Administration.docx
Azure Administration.docx
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
 

Recently uploaded

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Global domination with kentico

  • 1. Global domination with Kentico Jeroen Fürst – Kentico MVP Lead engineer – TrueLime
  • 3. Before we begin  Deploying Kentico to Microsoft Azure http://devnet.kentico.com/articles/deploying-kentico-to-azure-web-apps-part-1-deployment http://devnet.kentico.com/articles/deploying-kentico-to-azure-web-apps-part-2-running-monitoring http://devnet.kentico.com/articles/deploying-kentico-to-microsoft-azure-know-your-web-hosting-options http://devnet.kentico.com/articles/deploying-kentico-to-microsoft-azure-know-your-database-options http://devnet.kentico.com/articles/technical-webinar-most-common-issues-with-kentico-azure-deployments
  • 4. Today’s plan to take over the world  Architecture  Multi-Tenancy  Session State  Content Delivery Network  Web Farms  Deployment
  • 6. 15 tips for optimizing your websites performance  Tip 1: Setup is key, pick your components carefully!  Tip 2: Page order counts!  Tip 3: Minify!  Tip 4: Resource compression  Tip 5: Disable the view state (carefully)  Tip 6: SELECT ##COLUMNS## FROM ???  Tip 7: Cache me if you can!  Tip 8: Master of the Universal Viewer  Tip 9: Find and fix issues using the built-in debugging options!  Tip 10: Event log  Tip 11: Find the right balance  Tip 12: External services  Tip 13: Monitor the health and performance of your websites  Tip 14: Try to keep up!  Tip 15: Know the guides! http://devnet.kentico.com/articles/tips-and-tricks--building-highly-scalable-websites
  • 7. How to rule the world? or
  • 8. Start gathering requirements  What is the goal of the project?  What is the expected number of users/ page views during the peak load, what is the expected number of pages on the website?  What is the structure of the website and what types of content will be published?  Which web standards should be followed in terms of accessibility and coding?  Who is the target web site visitor?  Which products and technologies will be used?  What is the content life-cycle? Who is responsible for the content management?  What languages will be used for the content?  What is the required availability of the website?  What is the production environment type? http://download.kentico.com/Kentico_DeliverNow_Methodology.pdf
  • 10. Azure architecture Internet SQL DatabaseWeb App Redis Cache Azure Traffic Manager CDN
  • 12. Tips and tricks: Architecture http://www.submarinecablemap.com
  • 13. Gotcha: Geo-replication  Kentico does not support read-only SQL databases  Hosting the SQL Azure database outside the Azure Region results in a huge performance degradation
  • 14. Azure architecture (per region) Internet SQL DatabaseWeb App Redis Cache Azure Traffic Manager CDN
  • 16. Multi-Tenancy Ability to have multiple sites installed in a single installation of Kentico  Multi-site objects and content  Integration  Governance  Search  Marketing  Software Maintenance / upgrades
  • 17. Gotcha: Multi-Tenancy Some of the early Kentico modules don’t work very well with multi-site objects How we handled it: Create custom modules and enforce the use of the SiteID column
  • 18. Example: Multi-Tenancy  Custom localization module  Apply hotfix 8.2.39 or newer!
  • 19. Tips and tricks: Multi-Tenancy  Use global roles and configure required permissions http://blogs.jeroenfurst.nl/blog/september-2015/working-with-roles-and-permissions  Create custom modules for non multi-tenant Kentico modules https://docs.kentico.com/display/K82/Creating+custom+modules
  • 20. Session State  Single instances  InProc  Multiple instances (web farms)  Azure Redis Cache https://azure.microsoft.com/en-us/documentation/articles/cache-faq/#which-azure-cache-offering-is-right-for-me
  • 22. Tips and tricks: Session State  Microsoft Azure Redis Cache in Kentico http://devnet.kentico.com/articles/microsoft-azure-redis-cache-in-kentico  Typos in Azure Redis Cache access keys can result in headaches http://blogs.jeroenfurst.nl/blog/july-2015/typos-in-azure-redis-cache-access-keys-can-result
  • 23. Content delivery networks  Push Editor uploads files directly to the CDN server  Origin Pull CDN fetches data during the first request and caches it http://www.whoishostingthis.com/blog/2010/06/30/cdns-push-vs-pull/
  • 24. Gotcha: Azure Blob Storage  Media library limitations when storing files in an external storage https://docs.kentico.com/display/K82/Configuring+media+libraries#Configuringmedialibra ries-Medialibrarylimitationswhenstoringfilesinanexternalstorage “We recommend storing at most 100 files in a single media library folder.”
  • 25. Tip and tricks: CDN  Speeding up Kentico Websites with Rackspace CDN and Origin Pull http://www.getstarted.com.au/Blog/September-2015/Kentico-Rackspace-Akamai-CDN-Origin-Pull  Upgrade to hotfix 8.2.44 or newer
  • 27. Web Farms & Kentico 9  No additional configuration  Robust, failure recovery and self-healing  Improved performance (synchronizing physical files)
  • 28. Demo – Web Farms
  • 29. Tips & tricks: Web Farms  Automatic deletion of inactive WF servers in 8.x http://devnet.kentico.com/articles/automatic-deletion-of-inactive-wf-servers  Automatically generate scheduled tasks for web farms http://blogs.jeroenfurst.nl/blog/august-2015/automatically-generate-scheduled-tasks-for-web-far
  • 32. Wrapping up  Architecture  Multi-Tenancy  Session State  Content Delivery Network  Web Farms  Deployment
  • 33. Jeroen Fürst Office: +31 (0)76 820 0920 Mobile: +31 (0)6 400 145 90 E-mail: jeroen.furst@truelime.nl blogs.jeroenfurst.nl twitter.com/jeroenfurst nl.linkedin.com/in/jeroenfurst