Azure Communication Services
Author: Ronald Fung
Creation Date: May 12, 2023
Next Modified Date: May 12, 2024
A. Introduction
Azure Communication Services are cloud-based services with REST APIs and client library SDKs available to help you integrate communication into your applications. You can add communication to your applications without being an expert in underlying technologies such as media encoding or telephony. Azure Communication Service is available in multiple Azure geographies and Azure for government.
B. How is it used at Seagen
As a biopharma research company using Microsoft Azure, you can use Azure Communication Services to add real-time communication capabilities to your applications, such as voice and video calling, chat, SMS, and email. Here are some ways you can use Azure Communication Services:
Telehealth applications: Azure Communication Services can help you to create telehealth applications that allow healthcare providers to communicate with patients in real-time using video or voice calls, chat, or SMS.
Customer engagement: Azure Communication Services can help you to improve customer engagement by adding real-time communication capabilities to your applications. For example, you can allow customers to call or chat with support agents directly from your website or application.
Remote collaboration: Azure Communication Services can help you to enable remote collaboration by providing real-time communication capabilities such as voice and video calling, chat, and screen sharing.
IoT integration: Azure Communication Services can help you to integrate real-time communication capabilities into your IoT devices, allowing them to communicate with other devices or with humans.
Workflow automation: Azure Communication Services can help you to automate workflows by triggering communication events based on specific conditions or events. For example, you can automatically send an SMS notification when a certain event occurs in your application.
Overall, Azure Communication Services can help your biopharma research company to add real-time communication capabilities to your applications, improve customer engagement, enable remote collaboration, integrate with IoT devices, and automate workflows. With telehealth applications, customer engagement, remote collaboration, IoT integration, and workflow automation, Azure Communication Services can help you to create more engaging and efficient applications that meet the needs of your customers and employees.
C. Features
Azure Communication Services supports various communication formats:
You can connect custom client apps, custom services, and the publicly switched telephony network (PSTN) to your communications experience. You can acquire phone numbers directly through Azure Communication Services REST APIs, SDKs, or the Azure portal; and use these numbers for SMS or calling applications or you can integrate email capabilities to your applications using production-ready email SDKs. Azure Communication Services direct routing allows you to use SIP and session border controllers to connect your own PSTN carriers and bring your own phone numbers.
In addition to REST APIs, Azure Communication Services client libraries are available for various platforms and languages, including Web browsers (JavaScript), iOS (Swift), Android (Java), Windows (.NET). A UI library can accelerate development for Web, iOS, and Android apps. Azure Communication Services is identity agnostic and you control how end users are identified and authenticated.
Scenarios for Azure Communication Services include:
Business to Consumer (B2C)
. Employees and services engage external customers using voice, video, and text chat in browser and native apps. An organization can send and receive SMS messages, or operate an interactive voice response system (IVR) using a phone number you acquire through Azure. Integration with Microsoft Teams can be used to connect consumers to Teams meetings hosted by employees; ideal for remote healthcare, banking, and product support scenarios where employees might already be familiar with Teams.Consumer to Consumer (C2C)
. Build engaging consumer-to-consumer interaction with voice, video, and rich text chat. Any type of user interface can be built on Azure Communication Services SDKs, or use complete application samples and an open-source UI toolkit to help you get started quickly.
D. Where implemented
E. How it is tested
Testing Azure Communication Services involves ensuring that the communication services are functioning correctly, securely, and meeting the needs of all stakeholders involved in the project. Here are some steps to follow to test Azure Communication Services:
Define the scope and requirements: Define the scope of the project and the requirements of all stakeholders involved in the project. This will help ensure that Azure Communication Services is designed to meet the needs of all stakeholders.
Develop test cases: Develop test cases that cover all aspects of Azure Communication Services functionality, including voice and video calls, chat, and SMS. The test cases should be designed to meet the needs of the organization, including scalability and resilience.
Conduct unit testing: Test the individual components of Azure Communication Services to ensure that they are functioning correctly. This may involve using tools like Postman for automated testing.
Conduct integration testing: Test Azure Communication Services in an integrated environment to ensure that it works correctly with other systems and applications. This may involve testing Azure Communication Services with different operating systems, browsers, and devices.
Conduct user acceptance testing: Test Azure Communication Services with end-users to ensure that it meets their needs and is easy to use. This may involve conducting surveys, interviews, or focus groups to gather feedback from users.
Automate testing: Automate testing of Azure Communication Services to ensure that it is functioning correctly and meeting the needs of all stakeholders. This may involve using tools like Azure DevOps to set up automated testing pipelines.
Monitor performance: Monitor the performance of Azure Communication Services in production to ensure that it is meeting the needs of all stakeholders. This may involve setting up monitoring tools, such as Azure Monitor, to track usage and identify performance issues.
Address issues: Address any issues that are identified during testing and make necessary changes to ensure that Azure Communication Services is functioning correctly and meeting the needs of all stakeholders.
By following these steps, you can ensure that Azure Communication Services is tested thoroughly and meets the needs of all stakeholders involved in the project. This can help improve the quality of Azure Communication Services and ensure that it functions correctly in a production environment.
F. 2023 Roadmap
May 2023
Support for up to 30 shards for clustered Azure Cache for Redis instances
Azure Cache for Redis now supports clustered caches with upto 30 shards which means your applications can store more data and scale better with your workloads.
For more information, see Configure clustering for Azure Cache for Redis instance.
March 2023
In-place scale up and scale out for the Enterprise tiers (preview)
The Enterprise and Enterprise Flash tiers now support the ability to scale cache instances up and out without requiring downtime or data loss. Scale up and scale out actions can both occur in the same operation.
For more information, see Scale an Azure Cache for Redis instance
Support for RedisJSON in active geo-replicated caches (preview)
Cache instances using active geo-replication now support the RedisJSON module.
For more information, see Configure active geo-replication.
Flush operation for active geo-replicated caches (preview)
Caches using active geo-replication now include a built-in flush operation that can be initiated at the control plane level. Use the flush operation with your cache instead of the FLUSH ALL and FLUSH DB operations, which are blocked by design for active geo-replicated caches.
For more information, see Flush operation
Customer managed key (CMK) disk encryption (preview)
Redis data that is saved on disk can now be encrypted using customer managed keys (CMK) in the Enterprise and Enterprise Flash tiers. Using CMK adds another layer of control to the default disk encryption.
For more information, see Enable disk encryption
Connection event audit logs (preview)
Enterprise and Enterprise Flash tier caches can now log all connection, disconnection, and authentication events through diagnostic settings. Logging this information helps in security audits. You can also monitor who has access to your cache resource.
For more information, see Enabling connection audit logs
G. 2024 Roadmap
????
H. Known Issues
There are several known issues that can impact Azure Communication Services. Here are some of the most common issues to be aware of:
Configuration issues: Configuration issues can arise when setting up Azure Communication Services. It is important to ensure that all configurations are set up correctly to avoid issues with deployment, management, and security of the solution.
Performance issues: If the communication services are not properly sized, it can impact performance and availability, causing issues with the speed and reliability of Azure Communication Services.
Integration issues: Integration issues can arise when integrating Azure Communication Services with other systems and applications. It is important to ensure that Azure Communication Services is designed to work seamlessly with other systems and applications to avoid integration issues.
Security issues: Security is a critical concern when it comes to Azure Communication Services. It is important to ensure that Azure Communication Services is secured and that access to the solution is restricted to authorized personnel.
Accuracy issues: In some cases, Azure Communication Services may not be accurate or may not apply to a specific use case. It is important to review Azure Communication Services carefully and validate it before taking action.
Compatibility issues: Azure Communication Services may not be compatible with all platforms, devices, or languages. It is important to ensure that Azure Communication Services is compatible with the organization’s existing infrastructure before implementation.
Testing issues: Testing issues can arise when testing Azure Communication Services. It is important to ensure that testing is carried out thoroughly and that all aspects of Azure Communication Services functionality are tested.
Overall, Azure Communication Services requires careful planning and management to ensure that it is functioning correctly and meeting the needs of all stakeholders involved in the project. By being aware of these known issues and taking steps to address them, you can improve the quality of Azure Communication Services and ensure the success of your project.
[x] Reviewed by Enterprise Architecture
[x] Reviewed by Application Development
[x] Reviewed by Data Architecture