Marketplace Offering User Guide - Akumina Community

Marketplace Offering User Guide

Objective 

Akumina first deployed AppManager in the Azure Marketplace in April 2017. This document aims to replace the current solutions with modern templates using azure resource manager templates on the latest releases. The following are the solution templates to replace existing and new releases. 

      1. Akumina EXP – Web App:   Deploys a solution that will support Akumina’s release version 5.0 or greater.
      2. Deprecated offering:
        • Akumina EXP – Virtual Machine: Deploys a new windows 2019 Virtual Machine, to support Akumina’s AppManager.
        • Akumina EXP 4.x – Web App: Deploys just a WebApp with .NET to support Akumina’s AppManager.

Azure Resources 

The following are the azure resources provisioned apart of the identified solution template. 

 

Azure Resource   Resource Description Akumina Usage
Virtual Machine  Windows Server 2019 with pre-installed all pre-requisites, including Akumina WebSite and PeopleSync (some manual configuration is required). The creation includes a system-assigned managed identity so that communication between other services is secure.  Compute to host web application where all the web requests will be redirected.
WebApp  A web app will be created and configured.  PeopleSync will need to be configured (please click here for instructions) and added as a web job. The creation includes a system-assigned managed identity so that communication between other services is secure.  Compute to host web application where all the web requests will be redirected.
FunctionApp  Function appthe container that stores and executes Akumina’s v5 or later individual functions, this will be created, populated, and configured. 
Background processing such as Activity Streams, Subscriptions, Comments, Flow, etc.,  List of functions available part of this service

1.      ActivityStreamQueueTrigger:

Manages asynchronous processing for activity streams

2.      ActivitySubscriptionsCosmosTrigger:

Monitor updates to users Activity Subscriptions Status – enable/disable associated Activity Stream processing

3.      CalendarEventsQueueTrigger:

Calendar Event activity stream poller

4.      ContentDistributionQueueTrigger:

Ability to move content from one site to another site

5.      DeleteCosmosDataCron:

Poller to perform large cosmos data deletion jobs as requested

6.      EmailQueuedErrorsCron:

Poller to send out system error emails to admins

7.      EventSubscriptionsCosmosTrigger:

Monitor updates to system Event Subscriptions – enable/disable Activity Stream processing

8.      FormEventsQueueTrigger:

Poller to initiate forms background processing

9.      NotificationDigestQueueTrigger:

Poller to send out notification digest emails to subscribed users

10.  NotificationEventsQueueTrigger:

Support sending of batch notifications

11.  SchedulerQueueTrigger:

Generic service for providing scheduled execution of code

12.  SharePointEventsQueueTrigger:

Run SharePoint based Activity Stream polling

13.  TasksQueueTrigger:

Generic, asynchronous task processor

14.  UserChangesQueueTrigger:

Manage implications of people sync user changes (e.g. enforce security requirements for activity streams)

AzureStorage  Azure Storage (Blob, Table, and Queue) will be created and configured.  Azure storage contains three major parts:

  1. Blob: blobs are used to store the site configurations, page objects, cached objects
  2. Table: table used to store the signin tokens. Once user logged Akumina creates token which is stored and refreshed for the validate of user session
  3. Queue: Queuing items for background processing, queues are used by Function App (refer function app description)
Azure Search  Cognitive search service will be created and configured.  Full text and facets support on users data including persona.
KeyVault  KeyVault will be created and configured.  The configuration includes a secret.  The secret is used to stores connection strings and keys.  Access control with “List” and “Get” is enabled for compute instances (ex., WebApp) identity’s object Id.  All sensitive information including connection string are stored and configured to access by application securely
Application Insight Application Insight will be created and configured.  

Some manual configuration is needed iAkumina EXP – Web App offering v5 or later.  The two instances of Application Insight created, will require you to acquire and set Api Keys (in KeyVault).  AppManager will use Application Insight to collect and query Analytics, Audit requests, and application logging. Configuration is stored in KeyVault. 

Akumina leverages Application Insight for monitoring and application logging
Log Analytic workspace  Akumina will create and configure modern log analytics workspace It is required to perform assessment of stored data such as application insight data (refer application insight section), and to enable diagnostic settings for any Azure Services provisioned by Akumina.
CosmosDB  Akumina creates CosmosDB and configures all required containers with Indexes.
A NoSQL database to store people sync synchronized data, persona, activity stream, teams process, and comments
Redis Cache  Redis cache will be created and configured, the connection string is stored in KeyVault.  Distributed caching to store all application cached data including but not limited to configuration, application data, etc.

Naming Conventions

Akumina follows recommended naming conventions from the azure site. The following table described the recommended naming and enforced naming validations in the Akumina solution template.  Please note, “akumina-prod” can be replaced in the below examples as desired the string should be consistent across resources for organization in azure.

https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/naming-and-tagging 

Resource Type   Size   RegEx   Convention   Example  
Resource Group   1-90   ^[a-z0-9-]{1,90}$   rg-<CUSTCODE>-<REGION CODE>-<ENV>   rg-akumina-eastus2-prod  
Cosmos Db   3-44   ^[a-z0-9-]{3,44}$   cosmos-<CUSTCODE>-<ENV>   cosmos-akumina-prod  
Redis Cache   1-63   ^[a-z0-9-]{1,63}$   redis-<CUSTCODE>-<ENV>   redisakumina-prod  
Storage   3-60   ^[a-z0-9]{3,60}$   st<CUSTCODE><ENV>   stakuminaprod 
WebApp   2-35 (2-60)   ^[a-z0-9-]{2,55}$   app-<CUSTCODE>-<ENV>   app-akumina-prod  
App Service Plan   1-40     plan-<CUSTCODE>-<ENV>   plan-akumina-prod  
Function App   2-35(2-60)   ^[a-z0-9-]{2,55}$   func-<CUSTCODE>-<ENV>   funcakumina-prod  
Azure Cognitive Search   2-64   ^[a-z0-9-]{2,64}$   srch-<CUSTCODE>-<ENV>   srchakumina-prod  
Key Vault   3-24   ^[a-z0-9-]{3,34}$   kv-<CUSTCODE>-<ENV>   kvakumina-prod  
Application insight   1-260     appi-<CUSTCODE>-<ENV>   appiakumina-prod  
Log Analytics workspace   4-63   ^[a-z0-9-]{4,63}$   log-<CUSTCODE>-<ENV>   log-akumina-prod  
Virtual Machine       vm<CUSTCODE><ENV>   vmakuminaprod 
Virtual Machine Storage       stvm<CUSTCODE><ENV>   stvmakuminaprod 
Logic App       logic-<CUSTCODE>-<ENV>   logic-akumina-prod  
Cognitive Services       cog-<CUSTCODE>-<ENV>   cog-akumina-prod  
Traffic manager profile       traf-<CUSTCODE>-<ENV>   trafakumina-prod  
Application Gateway       agw-<CUSTCODE>-<ENV>   agwakumina-prod  
Virtual Network       vnet-<CUSTCODE>-<ENV>   vnetakumina-prod  
Subnet       snet-<CUSTCODE>-<ENV>   snetakumina-prod  
Public IP Address       pip-<CUSTCODE>-ENV   pip-akumina-prod  

Akumina EXP – Web App offering v5 or later

Akumina EXP – Web App – This solution template supports Akumina v5+,  uses Web App, Cosmos Database (SQL API), Redis Cache, Function App, Application Insight, Cognitive Search, Azure Storage, and KeyVaults.  Once the Web App and other services are created, the user needs to manually update the KeyVault value with the Application Insight API Keys and Secondary Redis Connection String (if desired).  The AppManager may require other configuration files updated such as web.config interchange.settings.config, and unity.config.  PeopleSync will need to be configured (for more information click here) and added as a web job.  This offer is valid for release version 5 or later.

Creating Akumina EXP – Web App offering v5

  1. Under the appropriate Azure Subscription, visit the Marketplace and search for “Akumina”.
  2. Select the offering “Akumina EXP – Web App”
  3. After reviewing, click Create

 

  1. Complete the “Basic” information; the values in the screenshots are sample input. You can follow your naming or use guidance from the Azure naming conventions. Highlighted in yellow below are the minimum fields to update.
  • Click on “Next: Deployment Packages>”

 

  1. Complete the Deployment Packages, the highlighted fields are the minimum field to complete.
  • Web APP Package Url – This URL will be provided to you by your Akumina Account Manager or Akumina Installation Engineer at the time of the install.
  • Function APP Package Url – This URL will be provided to you by your Akumina Account Manager or Akumina Installation Engineer at the time of the install.
  • Click on “Next: Review + create>”

  1. Review the details; once confirmed, click Create

  1. You will be redirect to the deployment progress page, wait until all resources are created, and click “Go to resource group” to view all the resources.

  1. Follow the AppManager installation steps to complete the configuration

https://community.akumina.com/knowledge-base/appmanager-cloud-installation/

Migration Process 

Suppose you are already using the Akumina Interchange Marketplace offer (released April 2017). In that case, we recommend you create new offer using the “Akumina EXP-Virtual Machine” for the versions 4.8 or earlier version of 4.0. Please note we do not support v5.0 on virtual machine offerings.

Akumina EXP – Virtual Machine Offering 

Akumina EXP – Virtual Machine, contains the solution template using Virtual MachineApplication Insight, Cognitive Search, Azure Storage, and KeyVault.  Once the virtual machine and other services are created, the AppManager’s configuration files need to be updated these include: web.configinterchange.settings.config and unity.config. PeopleSync will also need to be configured (visit here).  Virtual Machine creation is best suited for replacing existing virtual machines in AppManager release version 4.8 or earlier version of v4.0, but not recommended for versions >= v5.0.

Creating “Akumina EXP – Virtual Machine” 

  1. Under the appropriate Azure Subscription, visit the Marketplace and search for “Akumina”. 

  1. Select the offer “Akumina EXP – Virtual Machine”. 
  2. After reviewing this offering, click “Create”. 

 

  1. Complete the Basic information, the values in the screenshots are sample input. You can follow your naming or use guidance from the Azure naming conventions and click on “Next:  Virtual Machine Settings>”

 

  1. Complete the virtual machine settings.
  • The Virtual machine size MUST be updated.
  • The DNS Prefix can be updated (optional).
  • Click on “Next: Storage, KeyVault, Search and AppInsight Settings >”

  1. Complete the Storage, Application Insight, and KeyVault details.
  • Create New for the “Storage Acccount”
  • Enter a “Azure Cognitive Search Name”
  • Click on “Next:  Review + create”

 

    1. Review the details; once confirmed, click Create.

    1. You will be redirected to the deployment progress page, wait until all resources are created, and click “Go to resource group” to view all the resources.

    1. Follow the AppManager installation steps to complete the configuration

The Akumina Install Engineer will assist you with completing the install.

 

Akumina EXP 4.x – Web App offering

Web App offers the solution template using Web App, Application Insight, Cognitive Search, Azure Storage, and KeyVault.  Once the virtual machine and other services are created, the user needs to manually configure the AppManager’s configuration files: web. config, interchange.settings.config and unity.config.  PeopleSync will need to be configured and added as a web job.  This offer is best suited for replacing existing virtual machines or a new Web App using AppManager release version 4.8 or earlier version of v4.

Creating Akumina EXP 4.x – Web App offering

  1. Under the appropriate Azure Subscription, visit the Marketplace and search for “Akumina”.

 

  1. Select the offering “Akumina EXP 4.x – Web App”
  2. After reviewing, click Create

 

  1. Complete the “Basic” information; the values in the screenshots are sample input. You can follow your naming or use guidance from the Azure naming conventions. Highlighted in yellow below are the minimum fields to edit.
  • Web Package Url – This URL will be provided to you by your Akumina Account Manager or Akumina Installation Engineer at the time of the install.
  • Click on “Next:  Review + create>”.

 

  1. Review the details; once confirmed, click Create

 

  1. You will be redirect to the deployment progress page, wait until all resources are created, and click “Go to resource group” to view all the resources.

  1. Follow the AppManager installation steps to complete the configuration

The Akumina Install Engineer will assist you with completing the install.

 

Views: 947
//]]>