Level up your call center.
Presented by Patrick Labbett for NAEO
Follow the presentation live!
Lab/training images and content from:
Visit https://portal.azure.com and create a new account or login using your Microsoft account.
Microsoft has stepped-up it's documentation game over the last 5 years.
Cloud Service Models
Levels of Responsibility
Subscriptions, management groups, and resources
Additional advantages of region pairs/geographies:
- If an extensive Azure outage occurs, one region out of every pair is prioritized to make sure at least one is restored as quickly as possible for applications hosted in that region pair.
- Planned Azure updates are rolled out to paired regions one region at a time to minimize downtime and risk of application outage.
- Data continues to reside within the same geography as its pair (except for Brazil South) for tax- and law-enforcement jurisdiction purposes.
Group items around their function, like web, or database. You can also use a single resource group if you choose.
Resource Life Cycle
If you delete a resource group, all resources contained within it are also deleted. Resource groups make it easy to remove a set of resources all at once. Good for non-production environments/dev/test setups.
Resource groups are also a scope for applying role-based access control (RBAC) permissions. (Ease of administration.)
Management Groups and Subscriptions
Organize invoice sections by subscriptions
Create management hierarchy using
Azure Management Groups
(When you have lots of subscriptions)
You can't "learn the cloud" and be done.
If you are growing talent internally for technical roles, make sure you give them time for ongoing skills development.
The Modern Amtelco Environment
(Hint: It's web-based)
- Amtelco Intelligent Series Web
- Amtelco Intelligent Series miTeamWeb
- Amtelco Intelligent Series WCTPWeb
- Amtelco Intelligent Series Agent Web
- Amtelco Intelligent Series Supervisor Web
- Amtelco Genesis Websockets
Maybe one day. For now, we need IIS.
Newer versions of .NET framework include better and better support for hosting web applications using Azure's App Services or on Linux servers using nginx/Apache.
- Microsoft Azure SQL Managed Database
- Microsoft Azure SQL Managed Instance
- Microsoft SQL Server on VM
SQL Server Pricing
Microsoft SQL Server on VM
Intelligent Series Service
- Amtelco Intelligent Series Service
- Amtelco Intelligent Series SMS Service
- Amtelco Intelligent Series Fax Service
- Amtelco Intelligent Series Oncall Reminder Service
- Amtelco Intelligent Series Reporting Service
- Amtelco Intelligent Series Dashboard Service
WFCS using Azure Load Balancer
My current recommendations for application high-availability:
Genesis Telephony Engine
Genesis is an Ubuntu-linux based environment that leverages Asterisk open-source telecom engine to provide widely supported telephony to Intelligent Series.
Since when does Microsoft like linux?
Learn/Practice with WSL
How does failover even work with Linux, Genesis, and SIP?
Virtual IP Address
Use a VIP to manually move traffic between your primary and backup Genesis servers.
(use Standard SKU for availability zone support)
UDP Load Balancing
(or maybe not)
- Application Gateway supports UDP
- Health checks require HTTP/HTTPS/TCP
- Theoretical - not in production
Azure Direct Routing
Public Preview (No PROD)
What's your approach?
How are you handling load balancing and high availability for Genesis in Azure?
Your source of truth
SQL on VM
(What you are used to)
Standard HDD was the original storage offering on Azure and offers cost-effective storage for non-I/O intensive workloads.
Standard SSDs do offer guaranteed performance levels where the Standard HDD disks do not.
Premium SSD is the most commonly used type of disk for SQL Server workloads.
Ultra SSD provides the lowest latency (submillisecond) and the highest potential IOPs.
- Use Standard SSD for your operating system storage
- Use Premium SSD for your data with pooling for data
- Use Premium SSD for your log with no pooling
- Use Standard HDD for your SQL backup storage
- Use Reserved VM Instances
TempDB can optionally go into its own pool, or using the VM’s temporary disk, which offers low latency since it is physically attached to the physical server where the VMs are running.
Properly configured Premium SSD will see latency in single digit milliseconds.
A single VM's high-availability SLA
Should I use Availability Sets?
Maybe, but probably only if Availability Zones are unavailable in your region.
Basic Availability Group
Is this the same as a normal Availability Group (AG)?
- Limited to 2 SQL servers (replicas)
- No read-only replicas (like mirroring)
- Can be tough to get working in Azure
- VNNs require load balancer (single subnet)
- DNNs require multi-subnet setup
Requires Enterprise Licensing
It's unlikely you will be using this due to the cost...
More reading on SQL load balancing in Azure
For SQL Server
SQL on Linux
Wait, what did you say?
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)" sudo apt-get update sudo apt-get install -y mssql-server sudo apt-get install mssql-tools sudo /opt/mssql/bin/mssql-conf setup sudo ufw allow 1433 sudo systemctl status mssql-server --no-pager
SQL Server support through open-source Postgres database
SQL Server running natively on Ubuntu
SQL in Containers
Linux containers are all the rage
Web, at your service.
IIS and .NET
Install two Windows Server and the IIS web hosting role
- Add a Virtual Network Adapter for each site you want to host (i.e., web., or agent.)
- Use one Application gateway to handle multiple sites going to different backend pools
Cloud powered load balancing (layer 7)
Application Gateway Components
Backup Pool Health View
Azure App Service
When Amtelco makes the jump to .NET CORE, we should be able to start using Azure App Services for serverless hosting.
Lab Review #1
Backups to Azure Storage Accounts
Lab Review #2
High-Availability web using Application Gateways
Lab Review #3
High-Availability service using Azure Load Balancer
Getting started with cloud computing: Microsoft Azure
By NotifUs, LLC