Publishing Infrastructure Project using Office 365 Sharepoint Online, Azure Storage, Azure Kubernetes Services & .Net Core

Publishing Project allows federal agency users to publish knowledge products by tagging with appropriate metadata and making it available publicly.

About Client

null
Federal Government Agency have existing SharePoint Online environment for internal use and Salesforce and Drupal as external facing site. This initiative is to allow federal employees to make knowledge products publicly available.

How we did it?

null

Challenge:

Documents published on SharePoint are not accessible by the unauthenticated users. A solution is required for making documents accessible from outside when it is approved and within a time frame necessary.

Solution:

Define a duration for it to be publicly available and use a scheduler to sync the documents with all the metadata to Azure Blob Storage. If the scheduler detects any documents that needs to be removed, it will delete that from the Azure Blob Storage.

Challenge:

App Services support auto scaling. But it has many cons such as higher costs and risks around co-located services in different app service plans.

Solution:

Deploying to Azure Kubernetes Services significantly reduce the costs as you must only pay for the underlying Virtual Machines. Hosting in AKS allows container orchestration as well as flexibility to maintain multiple images and publish the necessary one in less than a second. Almost 99.9% uptime.

Challenge:

Continuously checking for any documents that are required not to be visible to public and delete them or publish if any new documents exists.

Solution:

Deploying as a Kubernetes Cronjob so the existing AKS infrastructure can be consumed and the logs can be written to Azure App insights to see the progress. Additionally, Kubectl logs are available to view the relevant logs.

Challenge:

Multiple applications may share common configurations. If a change needs to happen, this needs to happen on multiple locations. Most of the configuration are hosted on plain text. Therefore, security might get compromised at the file level. Different configurations need to be applied when moving from test environment to the production.

Solution:

Azure Key Vault allows centrally managing common configurations keys that are necessary for multiple applications to use. Keys are stored encrypted so not accessible on plain text without permissions. When moving from test environment to production, only need to change the url of the key vault if the configuration keys are matched in the new environment.
+ SharePoint and Azure Together

Challenge:

Documents published on SharePoint are not accessible by the unauthenticated users. A solution is required for making documents accessible from outside when it is approved and within a time frame necessary.

Solution:

Define a duration for it to be publicly available and use a scheduler to sync the documents with all the metadata to Azure Blob Storage. If the scheduler detects any documents that needs to be removed, it will delete that from the Azure Blob Storage.
+ Azure Kubernetes over App Services

Challenge:

App Services support auto scaling. But it has many cons such as higher costs and risks around co-located services in different app service plans.

Solution:

Deploying to Azure Kubernetes Services significantly reduce the costs as you must only pay for the underlying Virtual Machines. Hosting in AKS allows container orchestration as well as flexibility to maintain multiple images and publish the necessary one in less than a second. Almost 99.9% uptime.
+ Cronjobs for Task Automation

Challenge:

Continuously checking for any documents that are required not to be visible to public and delete them or publish if any new documents exists.

Solution:

Deploying as a Kubernetes Cronjob so the existing AKS infrastructure can be consumed and the logs can be written to Azure App insights to see the progress. Additionally, Kubectl logs are available to view the relevant logs.
+ Azure Key Vault

Challenge:

Multiple applications may share common configurations. If a change needs to happen, this needs to happen on multiple locations. Most of the configuration are hosted on plain text. Therefore, security might get compromised at the file level. Different configurations need to be applied when moving from test environment to the production.

Solution:

Azure Key Vault allows centrally managing common configurations keys that are necessary for multiple applications to use. Keys are stored encrypted so not accessible on plain text without permissions. When moving from test environment to production, only need to change the url of the key vault if the configuration keys are matched in the new environment.

Key Features

null

Combining SharePoint and Azure Benefits

Approval features on SharePoint can be combined with Storage features on Azure.

High Availability with 99.99% up time

It does not incur any down times for maintenance or upgrades. All can be done behind and pushed all together.

Security at highest level

Azure Key Vault safeguards configuration keys and passwords at highest level.

Lower Maintenance Cost

Azure Kubernetes Services is significantly less costly compared to the App Service Plans.

Contact Us To Know How Can We Transform Our Business!

Web Design and Website Development Agency New York, United States, USA, India