What is Sitecore Azure?
In simple words, it is your Sitecore implementation running in Windows Azure, a popular cloud computing platform from Microsoft. Sitecore Azure provides development and deployment tools to support Sitecore CMS and DMS(Digital Marketing System) in Windows Azure.
Windows Azure: As you may already know, Windows Azure services are available both as IaaS (Infrastructure as a service) and PaaS(Platform as a service). To be precise it offers four execution models for your application:
- Virtual machines(IaaS)
- Cloud Services(PaaS)
- Web sites
- Mobile services
Please see Window Azure page to know more of various execution models and other information.
Sitecore – PaaS and IaaS
Sitecore Azure – PaaS: Your Sitecore environment in Azure is maintained and patched automatically, instead of you working with virtual machines directly and managing them. Your implementation can be scaled out by adding large building blocks such as instances, web roles and farms.
Sitecore in Windows Azure – IaaS: You can get a virtual machine, created out of a standard disk image or your own disk image and you are responsible for patching, installing updates and maintaining it. It offers you more control, with added maintenance liability though.
Sitecore Azure subscription – It is a PaaS offering where your Sitecore installations were managed by automated Sitecore features. You can also use your existing Windows Azure subscription for Sitecore Azure installation.
Windows Azure subscription: You could choose to subscribe to Windows Azure directly and manage Sitecore on your own. You can still use deployment tools that Sitecore Azure uses.
|Content Editing Farm||Content Delivery Farm|
Following three topologies are currently possible with Sitecore Azure module 3.0:
On-premise content editing; delivery from cloud
In this topology, “Content Editing” farm (or “Editing” farm) is placed on premise, usually behind corporate firewall and one or more “Content Delivery” farm(s) (or “Delivery” farm(s)) are hosted in Windows Azure.
Content authors have access to Editing farm and content is authored and edited in this farm. When content is ready to be pushed, it is published to one or several Delivery farms. Deployment is taken care by Sitecore Azure. You will see in a moment how it is accomplished.
Live mode: Content editing and delivery from same farm in the cloud
A single farm is used as editing and delivery farm. It is called live mode as changes made by content authors are immediately available for delivery.
Editing and delivery from different farms in the cloud
Editing farm in cloud is different than the Delivery farm. Content is published from this farm to one or more Delivery farms in the cloud.
DMS and Sitecore Azure
Module 3.0 supports DMS inside Azure now. Earlier versions didn’t support DMS as it requires subsequent user requests to be directed to the same server which first served the request and this means a sticky session. Unfortunately Windows Azure doesn’t support sticky sessions to utilize resources better by allocating them uniformly to ensure optimal performance. One can obtain a hotfix from Sitecore to support DMS with module 2.0.
You may have to consolidate analytics from various farms if your Sitecore Azure implementation has more than one delivery farms. Alternatively, you can configure all your delivery farms to gather analytics at single location. For instance, there are three delivery farms, one in Europe, another in east coast of USA and third in west coast of USA. You could configure all three farms to store analytics information at one location, for instance, in east coast USA farm.
DMS, Caching and Scalability
Windows Azure allows applications including Sitecore applications to persist state data into SQL Azure, Tables and/or BLOBs. However sometimes quicker lookup is necessary and that is where caching helps. Windows Azure support:
- Co-located role caching – A cache shared by multiple instances making up a web role.
- Dedicated role caching – Dedicated worker role instances are used exclusively for caching
More instances should be added to a web role to scale computing resources while more web roles needs to be added to scale cache if co-located role caching is used. It is advised to add a content delivery farm to database throughput needs to be scaled.
Development and Test Environments
Windows Azure charges you based on the data usage so it is not cost effective to have your test environment hosted inside Windows Azure. Instead you can use local emulator for Windows Azure to test your deployment. Not only it is free but also faster as deploying to Azure could take 15-20 minutes easily.
You also need to have an on premise environment to support Sitecore development typically with Visual Studio and other development tools installed.
Limitations and Considerations
- Sitecore Azure permits only one Content Editing farm in the cloud.
- Sitecore Azure can support up to 99 Content Delivery farms per location.
- You can create up to 149 SQL databases in each database server inside SQL Azure.
- Each database in SQL Azure can grow up to maximum 150 GB.