Docker on Azure PaaS - Tika Parser

Azure PaaS services are an example of how the cloud has raised the raised the bar in the commodity platform space. More functionality is baked into the platform and less has to be built by software developers and enterprises. The demonstration deploys a Tika Parser, Java Docker container running on each Azure Linux Docker PaaS services. 

Sample Scripts

Use these scripts to experiment with Java Linux deployments on Azure PaaS. All was done using the Amazon Command Line Interface running in BASH shell. Tested with Windows Git Bash. The CLI was used instead of the Azure Portal to get a feel for the automation capabilities. Note that Docker PaaS deployments may be slower than other serverless architectures. 

Scripts for each Azure PaaS serviceare on GitHub. https://github.com/freemansoft/docker-scripts/tree/master/tika 
  • azure-0-setup.sh : Log into Azure and select a subscription
  • azure-1-create-resource.sh : Create Azure Resource Group and any service specific resource pool.
  • azure-2-deploy-app.sh : Deploy the Docker container and run post-deploy configuration.
  • azure-3-undeploy-app.sh : Undeploy Docker Container
  • azure-4-delete-resources.sh : Delete the Azure Resource Group and all other resources.
The scripts are examples. The scripts are not tuned.  The scripts are not configured for any logging or instrumentation

Videos

Resource creation and deployment steps

The scripts in the GitHub repository operate in 5 phases. 
  • Authentication
  • Resource Creation
  • Application Deployment
    • This can take 5 minutes in some situations.
  • Application Tear-down
    • Can be immediately followed by a new deployment.
  • Resource Tear-down 
Azure App Service - Linux Azure Container Service - Linux Azure Service Fabric - Linux
az login
az account set --subscription $SubscriptionID
az group create --name $ResourceGroupName  --location $Location 
az appservice plan create ... ... az sf cluster create ....
az webapp create ...

az webapp config ...WEBSITES_PORT=9998
az container create ...
    --ports 9998
sfctl cluster select ...

sfctl compose create ...
Feature Comparison
Exposed on 80 Exposed on 9998 Exposed on 80
Port map via option WEBSITES_PORT No port mapping Port map via docker-compose.yml
No auto-scale No auto-scale No auto-scale
No load balancer No load balancer load balancer
Single node Single node Multi node at startup
No docker compose. Early release but could not get working No docker compose Supports docker compose
 Single Deployment Model  Single Deployment Model  Multiple Deployment Models
Troubleshooting by MicroSoft Troubleshooting by MicroSoft ...
Scripts can be found on GitHub: https://github.com/freemansoft/docker-scripts/tree/master/tika

Created 5/2020

Comments