Ektron 9.00
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.
Cloud Manager has the following benefits:
Before you install or use the Ektron cloud manager, Ektron administrators and developers first should build the system for use On Premises and then follow the instructions in this documentation to get the system running in cloud. You also should understand the following:
Amazon Cloud Considerations
Log into the Amazon Web Services (AWS) console with your account information by choosing Account > Security Credentials. The page displays your access credentials.
C:\Program Files (x86)\Ektron\EktronCloud\bin\worker\certificate
to your local machine. Windows Azure Cloud Considerations
This topic contains step-by-step instructions to set up and run Ektron applications in the Amazon Elastic Compute Cloud (EC2Elastic Compute Cloud; by Amazon). You must be a member of the Administrator group to perform these tasks.
You need to set up your security certificate before deploying a site package to your Amazon cloud site.
Log into the Amazon Web Services (AWS) console with your account information.
IMPORTANT: You must first install EktronCloudSetup.exe
. See 1. Download and Install EktronCloudSetup.exe.
Auto-scaling is set on the On-Premises server and started at deployment time.
You can set the rules for scaling in C:\Program Files (x86)\Ektron\EktronWindowsService40\Ektron.ASM.EktronServices40.exe.config
in the following section:
<!-- Auto Scaling Parameters used by Amazon CloudWatch--> <add key="CloudWatchMetricName" value="NetworkOut" /> <add key="CloudWatchStatistic" value="Average" /> <add key="MonitoringInterval" value="1" /> <add key="BreachDuration" value="300" /> <add key="Period" value="300" /> <add key="UpperBreachScaleIncrement" value="1" /> <add key="LowerBreachScaleIncrement" value="-1" /> <add key="UpperThreshold" value="6000000" /> <add key="LowerThreshold" value="2000000" /> <add key="HealthyThreshold" value="3" /> <add key="UnhealthyThreshold" value="5" /> <add key="HealthCheckInterval" value="30" /> <add key="HealthCheckTimeout" value="5" /> <add key="CoolDown" value="300" />
For information about these settings, see Amazon Auto Scaling.
IMPORTANT: Make sure that you first import the certificate (.cer
) into the Management Certificate and then add the .pfx
file to the cloud service.
http://cloudfront.example.url.com/uploadedimages/image.jpg
.IMPORTANT: For Amazon deployments only: To be able to connect to the EC2Elastic Compute Cloud; by Amazon cloud (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) instance, you need a private key file (.pem) for the key pair that is used during the cloud deployment. If you create a new key pair when you run the deployment wizard, the CloudPemFile
folder is created in the Ektron on-premises Windows Service install directory (C:\Program Files (x86)\Ektron\EktronWindowsService40
) and the .pem file is located there. If you enter an existing key pair, you must have an existing .pem file or you cannot connect to the EC2 VM; you cannot update the key pair on EC2 instance later.
IMPORTANT: You should have completed the steps in Setting Up the Amazon EC2 Security Groups and Amazon RDS DB Security Groups to complete this wizard step.
NOTE: The Standard edition supports notification service capabilities; Web and Express editions do not support notifications service capabilities.
Click Save. A profile is created on the View All Hosted Services screen where you can deploy the site at a later time.
Ektron creates or uploads a new min database, provisions a storage container, creates the deployment package, and deploys them into a hosted cloud service. A confirmation message appears.
If you choose to deploy the site at another time, click Close; the View All Hosted Services screen appears with the new profile. To deploy the site, click the Deploy Site icon ().
To view or edit the profile, click on the Template & Database - Upload link. The View Profile "Template & Database - Upload" screen appears. For more information, see 3. Synchronize the Database and Templates.
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:
NOTE: The DNS mapping needs to be changed when moving from 1-to-many or many-to-1. There also will be disruption to a live site when making changes.
Ektron’s sync technology, built on the Microsoft Sync Framework, synchronizes information between the Amazon 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 synchronized to SQL Database Cloud Blob Storage.
IMPORTANT: After deployment on an Amazon AWS account, and before running eSync from your local machine, you must apply the certificates located at C:\Program Files (x86)\Ektron\EktronCloud\bin\worker\certificate
to your local machine.
This section explains how to connect Ektron in an Amazon environment to a search server running on Amazon EC2Elastic Compute Cloud; by Amazon. As a result of this connection, search querying and crawling occur 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 Amazon environment:
Create an EC2Elastic Compute Cloud; by Amazon instance in Amazon using any Windows 2008 server image and use the security group that you created. This instance will be used as the search server.
SearchServerExpressInstall.exe
from C:\Program Files (x86)\Ektron\CMS400vxx\Utilities\SearchServer\
to the search server. SearchServerExpressInstall.exe
and choose the Standalone option. See Setting Up Microsoft Search Server 2010 Express.EktronSearchConfiguration.exe
from C:\Program Files (x86)\Ektron\CMS400vxx\
Utilities\SearchServer\
to the search server.EktronSearchConfiguration.exe
on the search server. See Setting Up Microsoft Search Server 2010.EktronSearchServerService
and EktronPHFileHelperService
are installed and running.Search Server Administrator
to the EktronSearchServerService
service.46476
for example) to the Security group that was created in step 2.54.235.156.122 amazona-j0j933l
to the host file on the EC2 cloud (where 54.235.156.122
is an elastic IP and amazona-j0j933l
is a machine name).NOTE: In the load-balanced environment, each EC2 instance must have a host entry for search to work.
C:\Program Files (x86)\Ektron\CMS400vxx\Utilities\SearchServer
and run Ektron.cms.search.config.UI
. Use a SharePoint Administration URLUniversal Resource Locator, for example: http://amazona-j0j933l:46476
See Also: Logging into Ektron's Search Configuration ScreenPrerequisite
You completed setting up and deploying Ektron to the Amazon cloud.
You can connect multiple storage systems and provision Amazon S3 Storage to store static files such as assets
, privateassets
, uploadedimages
, uploadedfiles
.
accountId
and accountKey
.)external_args
as follows.declare @scheduleid bigint set @scheduleid=0 update scheduler set server_type=1, external_args=N' <CloudServiceRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SubscriptionID> [Place your Subscription Id here if you are connecting from the Azure cloud service. If you are connecting from another datacenter, leave this empty.] </SubscriptionID> <StorageAccountID>[Amazon Storage AccountId]</StorageAccountID> <StorageAccountKey>[Amazon Storage Account Key]</StorageAccountKey> <CDNEndpoint /> <ContainerConfigName>amazon</ContainerConfigName> <WebSites> <SiteInfo> <ContainerAddress>[Your Bucket Name]</ContainerAddress > <LocalSitePath>[Your local website path ex., c:\inetpub\site1] </LocalSitePath> </SiteInfo> </WebSites> </CloudServiceRequest>' where scheduleid=@scheduleid
assets
, privateassets
, uploadfiles
and uploadedimages
) into S3.<unity.storage>
as follows:<unity.storage> <assembly name="Ektron.Storage" /> <assembly name="Ektron.Cloud" /> <namespace name="Ektron.Cloud.Amazon.Storage" /> <namespace name="Ektron.Storage" /> <container name="storageContainer"> <register type="IFileService" mapTo="S3FileService" /> <register type="IDirectoryService" mapTo="S3DirectoryService" /> </container> </unity.storage>
appsettings
section:<add key="AWSAccessKey" value="[Your Access Key]" /> <add key="AWSSecretKey" value="[Your Secret Key]" /> <add key="BlobStorageName" value="[Your Bucket Name]"/> <add key="BlobOrCdnUrl" value="[Your S3 or CloudFront URL]" />
<add name="EkBlobModule" type="BlobRedirectModule" preCondition="integratedMode" />
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.
The following steps show you how to set up the PaaSPlatform as a Service; a provider of higher-level sets of functionality that are delivered as consumable services for developers who are building applications. Azure cloud services.
Windows Azure hosting requires a Microsoft account (also known as a Windows Live-ID). When you have the subscription, go to https://manage.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.
.cloudapp.net
will be appended to your name to complete the URL.
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:
.core.windows.net
will be appended to your name to complete the URL.
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:
To set up a firewall rule in an SQL database, including the IP Address from your pre-production and development machines:
IMPORTANT: You must first install EktronCloudSetup.exe. See 1. 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: 2. Install a Cloud Server Certificate.
http://
and place a trailing slash (/
) on the end.~\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 synchronized 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 4. 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
C:\Program Files (x86)\Ektron\CMS400vxx\
Utilities\SearchServer
and run Ektron.cms.search.config.UI. See Also: Managing the Search CrawlYou 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 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 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 Azure 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 Azure 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.