When to use Azure Communication Services
Here, we'll discuss how you can decide whether Azure Communication Services is the right choice for your company and problems.
Criteria
Here are some criteria that will help you make the right decision:
- Existing Business/Application/Idea: Do you have an existing Business/Application/Idea you'd like to integrate Azure Communication Services with?
- Features: Do you need the features of Azure Communication Services?
- Environment: Would Azure Communication Services work in your environment?
- Geographic Region: What location/market are you targeting?
- Suitability: Azure Communication Services has many features; how can you be sure which one is right for a scenario?
Existing business/application/idea
Azure Communication Services can't create an application or business all by itself. It works best when there's an existing application into which to integrate Azure Communication Services, or at least you have an idea for which it makes sense to create an application. If you don't have an existing application or idea, then a different product that fulfills your needs and requirements might be better.
A good example here is that you'll need an existing form of Identity solution (log in, log out, and so on) to tie your user's identities to Azure Communication Services' identity platform. Creating calls without identities is possible, but users won't have a consistently defined identity to recognize each other with.
Features
Azure Communication Services has a wide array of features, but you need to decide if these features are useful to you within your solution. Review the list of features available and decide if they're applicable.
You can mix and match Azure Communication Services features, as well as combine them with other Azure offerings. You don't have to use all of Azure Communication Services' features; you can pick and choose the areas that are of most interest to you. For example, you might need voice- and video-calling features, but you might not need telephony features. Your calls and contact points could be designed to occur only digitally. Don't feel obligated to use every available feature.
Environment
Azure Communication Services requires a suitable environment in which to work. An environment is the combination of the target device or browser and the programming language used.
Azure Communication Services supports the following environments:
- Most modern browsers (Chrome, Edge, Safari)
- Android phones and devices
- iOS phones and devices
It also supports the following programming languages:
- JavaScript
- .NET
- Java Server Edition (SE)
- Python
- iOS (Swift)
- Android
If your business/application/idea intends to use languages or devices/browsers that Azure Communication Services doesn't support, then Azure Communication Services might not be right for you.
Geographic region
Some features of Azure Communication Services are only available in certain countries/regions or locations. Additionally, certain countries/regions or locations might have restrictions on features. These restrictions (or gaps) in Azure Communication Services' support across the world can be caused by legal or regulatory matters, or by Azure Communication Services simply not supporting a region yet. When considering if Azure Communication Services is right for you, ensure that you factor this into your current business, as well as any potential expansion of your business.
Of particular mention in this area are telephony and SMS features. As telephone networks in different countries/regions vary in terms of structure and regulatory/legal matters, it's very important to ensure that Azure Communication Services supports your target location. Additionally, your billing location also affects this. For example, to make calls or send SMS messages to a UK number, you'll need a billing address in the UK.
SMS and Telephony are available in many locations. You can find all the supported regions, number types and available capabilities in the Azure Communication Services documentation
Suitability
When deciding to use Azure Communication Services, it's also important to think about which of its many features you should use for a particular scenario. There might be a temptation to go overboard and use everything, but that's often not ideal. As we explained before, you can mix and match features, or choose to not use any at all. To aid in a decision, here's some guidance that may help.
First, remember that not all customers are willing to jump on a video or audio call with a real person. It's important to offer them various types of communication to suit their needs and motivations. Always start with something more passive and asynchronous, like chat or email. Once there's an established business relationship with a customer, they're more likely to be willing to hop on a call, especially if they need things like support or maintenance.
Additionally, some users may be unwilling to supply their phone number or other personal details, which might rule out some of Azure Communication Services' telephony features. Make sure you have other flows in place, such as email.
If in doubt, starting with chat (and in particular, a chat experience that doesn't require a user to provide sign-in information) might be a good idea to communicate to your users.
Apply the criteria
Ultimately, Azure Communication Services works best when you've already got existing ideas, applications, and businesses that need communication features and a compatible platform on which to launch. Keep in mind that there are cases where it might be difficult to decide, or edge cases where—even with these criteria in mind—you might still use Azure Communication Services. The decision is up to you, and you might need to make a judgment call based on your individual circumstances.
Applying criteria to the example scenario
If we think back to our example scenario from earlier in the module with Contoso Appliances (our appliance company), we can apply our decision criteria to their goals and requirements:
- Their business is established and has existing websites, applications, and so on.
- They're in need of calling and chat related features, which Azure Communication Services can provide.
- They're operating in a geographic region that Azure Communication Services supports.
- They use application environments and platforms for which Azure Communication Services has SDKs.
Based on our criteria we've discussed and the company's requirements, this scenario would be a good fit for Azure Communication Services.