Skype for Business Apps and Azure
If you are not familiar with Microsoft Azure or maybe still have no idea what “the cloud” means, hopefully this post will shed some light as well as introduce new capabilities enabled by the Skype for Business platform to host and integrate Microsoft UC applications in the cloud. For the past decade the my colleagues and I have been developing line of business or add-on feature applications to the Microsoft UC platform, starting with Live Communication Server to Office Communications Server to Lync and now for Skype for Business. One of the most difficult situations that we are always faced with has to do with delivery and consumption of the application by a customer with dependencies requiring on-premise infrastructure. Those days are thankfully nearly over with the promise of cloud-based services. From a Microsoft perspective, Azure promised ease in deployment of new cloud-based applications which was very exciting to developers overall, but when trying to deliver this experience with services requiring communications software, there seemed to be no way around installing at least one service on a virtual machine or physical machine. This overhead adds complexity and cost to the overall solution and in turn results in the type of customer base you can deploy to. With enterprise organizations moving off of on-premise and even hybrid infrastructure environments to cloud production models today, the urgency of moving software-based communication services equally to the cloud has been vexing for many providers. Over the past year, Microsoft has made many new advancements with their cloud platform, through Azure, by accelerating the availability of cloud services that can fully replace the role of the traditional server and even the virtual server in many and soon all cases. To many, “moving to the cloud” simply meant moving an application or infrastructure service (vm, server, etc.) to a provider outside of your own datacenter, hosted by the provider or group of providers. Actually, moving to the cloud and the true value of what Azure provides, is fully moving off of virtual server/machine dependency and leveraging specific services to replace those roles. So lets discuss how my team and I as well as several others pioneering with Azure today have accomplished this.
With the release of new Azure services including Worker Role services, Azure Web Apps, API Management, and other new services, you can now offload many services that traditionally required a physical machine or even a virtual machine to these cloud service capabilities. From a Microsoft UC perspective with Lync and Skype for Business, we no longer require a dedicated virtual server only to host a Microsoft UC application, depending on the application. For example, even the most machine-dependent API, the Microsoft UCMA (Unified Communications Manged API) specifically required a physical or virtual machine to host a UCMA app which can now be augmented and soon replaced by Worker Role services. To add, Azure has enabled capabilities such as Virtual Networks and Public VIPs which allow capabilities provided through Microsoft UC (Lync and SFB) Edge Services such as federation and remote access to run securely and efficiently in the cloud where specific physical servers were required in the past. With Azure Web Apps, we can deploy auto-scaled websites and web services in minutes directly from the Visual Studio development environment. With upcoming features including a rich new web development platform for Skype for Business, being able to offer client-rich features leveraging the latest innovations in web audio/video, IM, conferencing, and ability to integrate with Node.JS, WebRTC, SignalR, and other service-driven apps is instantly available. With Azure Identity & Access Management features, we can now deploy web-based applications to Azure for customer consumption and subscription and leverage Azure Active Directory or Federated Identities including popular Microsoft IDs (MSAs) so that end-users can login manage identity on their own terms. With Azure Data & Storage options, we can store SQL Server databases directly in the cloud without requiring a virtual or physical server deployment and configuration of SQL Server.
What’s best about all of this is that you don’t have to be an infrastructure expert to deploy any of these services and they are all managed from one single dashboard/portal via https://manage.windowsazure.com. Lastly, the connection to Azure and VisualStudio.com has increased development productivity, collaboration using TFS online services for User Stories, Bugs, Test Cases and managing our backlog efficiently across all team members. Bottom line, we have cut down our delivery to minutes and days instead of weeks and months through Microsoft Azure when delivering our UC apps for the Microsoft platform.
At the end of the day, the cost savings as a result of speed in delivery and better team collaboration in using Azure services compared to the traditional approach are passed on to the customer to acquire a product that offers the ultimate in price-performance. Being able to collaborate more efficiently, synchronizing tasks and backlog across team members and enabling quicker delivery to test and production environments directly from Visual Studio to Azure, means faster delivery of the app to the customer and more time spent on iterative development.
For more information on Microsoft Azure, visit http://azure.microsoft.com. For more details on Visual Studio and TFS Online, visit http://www.visualstudio.com. Get started for free and join us in delivering new and exciting experiences in the cloud.