Ektron
Ektron's Cloud Manager simplifies the process of creating, deploying and managing websites and assets to the cloud. The cloud lets you deal with different traffic patterns on an as-needed or on-demand basis because space and computing power are virtual and expandable. Because the cloud pools its resources to be used by many customers, and provide pay-as-you-go pricing, the cloud provides significant cost benefits to on-premises resource planning and use. Most services do not require long-term commitments or up-front expenses.
The following images show website usage patterns of rapid growth, bursts in traffic, and active or dormant periods. These patterns can be costly to manage on your own but the costs are mitigated when you use the cloud to distribute your site load.
Consider the following cloud service models:
You can achieve major performance enhancements by using a Content Delivery Network (CDN) in the cloud to serve static files, assets, large files, and stream data. Selecting a CDN vendor is similar to selecting any other product or service, so be certain that the CDN you choose meets your site requirements. Cloud vendors have simplified the management interfaces and APIs to load and manage cloud storage, but you will need to synchronize your assets. The following are key benefits of operating in the cloud CDN.
A CDNcontent delivery network; multiple computers that store copies of data on the nodes of a network. is “a large distributed system of servers deployed in multiple data centers on the Internet” that cooperate to deliver content. The following figure shows how a CDN in the cloud gives you optimal site performance. Typically, when a person visits your site, an Origin server services the visit. If site visitors from all over the world are making requests from the Origin server, the high traffic and distance slows the server response, and inhibits the user experience. A CDN in the cloud gives you a large, distributed system of servers, called Edge servers, that cache content, images, style sheets, JavaScript, and more. Site assets are downloaded from the closest accessible CDN server, improving availability and response time.
The following events occur on a cloud-enabled website as shown in the following image:
Assets are distributed through the provisioning process.
With Ektron’s Cloud Manager, storing assets in the cloud is completely transparent to the CMS users. Assets are synchronized among the Edge servers in and out of cloud storage without the need for customizations or specialized CDN knowledge. By enabling cloud-based storage with a CDN, assets are cached globally through CDN servers. This produces high-performance sites and does not bog down the site’s Origin server. You only need to configure the Cloud Manager to point to your Amazon S3 or Microsoft Azure Blob storage services.
This topic contains step-by-step instructions to set up and run Ektron applications in the Windows Azure Cloud. You must be a member of the Administrator group to perform these tasks.
Before you install or use the Ektron cloud manager, Ektron administrators and developers should first build the system for On Premises use and then follow the instructions in this documentation to get it running in cloud. You also should understand the following:
Windows Azure Cloud
Other Considerations
IMPORTANT: Azure has 2 portal endpoints: http://windows.azure.com (old portal) and https://manage.windowsazure.com (new preview portal). You need to use the new portal for all the new features such as VMvirtual machine; simulation of a machine (abstract or real) that is usually different from the target machine (where it is being simulated on). Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer. -- Source: wikipedia, and use the old portal for all other functionality. When following instructions in this document, if you are redirected to new portal, you can click on your profile icon to redirect back to the old portal.
Windows Azure hosting requires Windows Live-ID sign on using your email address and subscription, which can be purchased from Microsoft at https://www.windowsazure.com. When you have the subscription, go to https://windows.azure.com or https://www.windowsazure.com and log in using your Live-ID and password.
EktronCloud.cer
from the following path:~\Program Files (x86)\Ektron\EktronCloud\mgtcert
~\Program Files\Ektron\EktronCloud\mgtcert
NOTE: This is an optional step. If you do not create the hosted service, Ektron creates it for you.
mydomain
then your URL will be mydomain.cloudapp.net
, which is used to set up the CNAME rec and location.You need a storage account to store site resources in the cloud storage service, and to store and synchronize assetan external file, such as a Microsoft Word document or image, stored in Ektron. It can be managed like native Ektron content.s, private assets, uploaded files, uploaded images and asset library. To create a storage account:
Content Delivery Network (CDN) serves files faster from distributed servers. For better performance, Ektron recommends that you define the endpoint for your storage accounts. To create a CDN endpoint:
IMPORTANT: You must first install EktronCloudSetup.exe. See Download and Install EktronCloudSetup.exe. You must also upload the certificate to the portal and configure it to the cloud service before following this procedure.
IMPORTANT: Make sure that you first install the certificate (.cer
) into the Management Certificate and then add the .pfx
file to the cloud service. See Also: Install a Cloud Server Certificate.
http://
and place a trailing slash (/
) on the end.WARNING! As of August 2014, the Azure SQL database is no longer supported. Choose Do not create SQL Database in the Database Option drop-down field.
~\sync\azuredeploy\{subscription-id}\{servicename}\package\{servicename}.cspkg
An advanced user can copy the Web.Cloud.config
file from Ektron Windows service (~\Program Files (x86)\Ektron\CMS400vxx\AzureConfig)
.
In this step, you use eSync to copy a site from a local server to the cloud. For more information on this screen, see Setting up eSync Profiles.
IMPORTANT: Without running this profile your data and resource is not transferred to cloud. You can create additional profiles to perform a similar operation.
NOTE: Templates can only be uploaded.
In the View Azure Hosted Services screen (Workarea > Settings > Configuration > Cloud Manager), you can modify cloud instances in the following ways:
Ektron uses the unity
section of your cloud web.config
file to set up a storage destination.
configSections
section:<section name="unity.storage" type="Ektron.Unity.Configuration.UnityConfigurationSection, Ektron.Unity.Configuration, Version=2.0.414.0, Culture=neutral, PublicKeyToken=1e97f90fc2b998db"/>
unity.storage
as follows:<unity.storage> <assembly name="Ektron.Storage"/> <assembly name="Ektron.Cloud"/> <namespace name="Ektron.Cloud.Azure.Storage"/> <namespace name="Ektron.Storage"/> <container name="storageContainer"> <register type="IFileService" mapTo="CloudFileService"/> <register type="IDirectoryService" mapTo="CloudDirectoryService"/> </container> </unity.storage>
NOTE: Caching configuration is required only if you run more than 1 instance (load balancing). You can get the section values from the portal.
In your cloud web.config
file
configSections
section:<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere"/>
dataCacheClients
as follows:<dataCacheClients> <dataCacheClient name="default"> <host> <host name="[yournamespace].cache.windows.net" cacheport="22233" /> </hosts> <securityProperties mode="Message"> <messageSecurity authorizationInfo="[yoursecretkeyinfo]"/> </securityProperties> </dataCacheClient> <dataCacheClient name="SslEndpoint"> <host> <host name="ektron.cache.windows.net" cacheport="22243"/> </hosts> <securityProperties mode="Message" sslEnbaled="true"> <messageSecurity authorizationInfo="[yoursecretkeyinfo]"/> </securityProperties> </dataCacheClient> </dataCacheClients>
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider"> <providers> <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.Web.DistributedCache .DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" useBlobMode="true" dataCacheClientName="default" /> </providers> </sessionState>
Name: BlobOrCdnUrl
Type: String
Value: http://abcdefgh.vo.msecnd.net/
Name: DataConnectionString
Type: Connection String
Value: DefaultEndPointProtocol=https;AccountName=mysite;AccountKey=+Uv/eXOUoYkT1...
Compile the project with Visual Studio 2010, or use the msbuild
command as follows:
msbuild yourcloudproject.ccproj /p:Configuration=Release /t:Build;Publish
yourprojectname.cspkg
and ServiceConfiguration.Cloud.cscfg
into your newly created hosted service.NOTE: After you create the deployment, the set up on the cloud takes some time before the files are ready to be accessed.
Ektron’s sync technology, built on the Microsoft Sync Framework, synchronizes information between the Azure cloud and on-premises data repositories. eSync makes it easy to manage content changes through a true hybrid cloud deployment.
When you run eSync, SQL data and file system resources (such as ~/assets
, ~/privateassets
, ~/uploadedfiles
, ~/uploadedimages
, assetlibrary
) are synched to SQL Database Cloud Blob Storage.
This section explains how to connect Ektron in an Azure environment to a search server running on an Azure Virtual Machine. As a result of this connection, all search querying and crawling are done in the cloud.
If you are using Ektron in the cloud, there are many advantages to running search in the cloud also, such as performance, scalability, etc.
Prerequisites
You completed all tasks in these sections and deployed Ektron in an Azure environment:
C:\sync\azuredeploy\GUID\HostedServiceName\’HostedServiceName’_web\web.config.
<appsettings>
section, add these keys.<add key="ek_CloudStorageType" value="AZURE"/> <add key="ek_CloudAccountId" value="BlobID"/> //storage account name <add key="ek_CloudAccountKey" value="BlobKey"/> //storage account primary key <add key="ek_CloudContainer" value=""/>
ek_CloudAccountId
) in Create a Storage Account.ek_CloudAccountKey
value in Step 3.ek_CloudContainer
value blank.C:\Program Files (x86)\Ektron\EktronCloud\bin\ms\1.7.0.0
\EktronConfigUploader.exe
.
C:\sync\azuredeploy\GUID\HostedServiceName\’HostedServiceName’_web\web.config
). C:\Program Files (x86)\Ektron\CMS400vxx\Utilities\SearchServer
. To do this, click Endpoints then Add Endpoint.
NOTE: Make these ports also accessible through any firewall running on the VM.
C:\Program Files (x86)\Ektron\EktronSearchServerService\EktronSearchServerHelperService.exe.config
. To do that:
C:\Program Files (x86)\Ektron\CMS400vxx\Utilities\SearchServer\Ektron.Cms.Search.Config.UI.exe.config
After the Worker Hosted Service restarts, go to the Azure virtual machine, open C:\Program Files (x86)\Ektron
and run Ektron.cms.search.config.UI. See Also: Logging into Ektron's Search Server Configuration Screen\CMS400vxx\
Utilities\SearchServer
You can securely deploy DxH in Azure (IaaS) while your CMS site is hosted in a Cloud service using the Azure PaaS environment.
IMPORTANT: If you are using Ektron 8.60 with SQL premium database, (also known as SQL Azure), you must manually navigate to install the directory database folder, then open Schema.sql
and replace newsequentialid()
with newid()
. You need to re-run all 3 scripts manually pointing to SQL credentials.
The following diagram shows DxH and CMS Cloud Service with SQL Premium Database.
If you had completed the DxH installation, you should be able to communicate between your DxH and CMS. You may need to open additional ports (for example, 808 for DxH) using the VM endpoints through the portal. If you do not want to open public end points, use the following procedure.
To communicate to the DxH VM through the Pass Service only, perform the following redeployment steps after deleting the current deployment.
serviceconfiguration.cscfg
file.~/Sync/azure/{guid}/{your service name}/package/ serviceconfiguration.cloud.cscfg
<NetworkConfiguration> <VirtualNetworkSitename="YourVirtualNetworkName" /> <AddressAssignments> <InstanceAddressroleName="YourWebRoleName"> <Subnets> <Subnetname="YourVirtualNetworkSubnetName" /> </Subnets> </InstanceAddress> <InstanceAddressroleName="YourWorkerRoleName"> <Subnets> <Subnetname="YourVirtualNetworkSubnetName" /> </Subnets> </InstanceAddress> </AddressAssignments> </NetworkConfiguration>
ServiceConfiguration.cloud.cscfg
for configuration. Use from Storage option for Package. After you click on the storage option, go to your storage account and then the ektrondeployment
container then select the package (.pkg) file.Your CMS cloud service can now communicate to DxH service securely.
You can customize roles for actions on start events or diagnostics information.
A typical Ektron Azure PaaSPlatform as a Service; a provider of higher-level sets of functionality that are delivered as consumable services for developers who are building applications. environment consists of SQL, Azure BlobBinary Large Object; a collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob. - Source: Wikipedia, a Web role, and a Worker role. The site content is stored in SQL, and site-specific assets are stored in Azure Blob.
The Web role and Worker role are specialized VMvirtual machine; simulation of a machine (abstract or real) that is usually different from the target machine (where it is being simulated on). Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer. -- Source: wikipedias designed for a specific purpose.
Ektron uses the Worker role to synchronize content between production and other Ektron site environments. If you make any changes to a page in the production environment, Ektron eSync service (running in the Worker role) ensures that changes are synchronized with the staging environment and vice versa.
The template project is available as part of the cloud installation at C:\Program Files (x86)\Ektron\EktronCloud\sdk
and choose SDK > RoleEntry.
C:\Program Files (x86)\Ektron\EktronCloud\sdk\RoleEntry\Web\Ektron.Azure.Web.Sln
, (or C:\Program Files (x86)\Ektron\EktronCloud\sdk\RoleEntry\Worker\Ektron.Azure.Worker.Sln
), make changes, and copy the file to your template location.create.cmd
, servicedefinition.csdef
, package/serviceconfiguration.cloud.cscfg
.yourservicename_web directory
.web.config
.create.cmd
to create the package.NOTE: eSync will not work in this mode, so you must manually move the database to the cloud using the data deployment package or any other ETL (extract, transform, load) tool.
EktronCloud.cer
is uploaded into cloud Management Certificate portal.database/resource/template sync
.EktronConfigUploader.exe
..cer
) into the Management Certificate and then add the .pfx
file to the cloud service.