MICROSOFT AZURE AND XAMARIN: THE BIG PICTURE
The development of mobile and IoT (Internet of Things) applications often involves a lot of moving parts that need to be tightly integrated with one another for the whole system to perform at sufficiently high level. Microsoft is set to help developers create scalable, performant, highly available, and cross-platform IoT service and application with Azure and Xamarin – two names we are likely to hear a lot more about in the near future.Microsoft Azure
First introduced by Microsoft in October 2008, Azure is a collection of integrated cloud services that is expected to reach a market size of $555 billion in 2020, according to the new report by Allied Market Research. The original name of the platform was Windows Azure, but Microsoft has decided to rebrand to Microsoft Azure in April 2014 to emphasize its central position within the company.It competes with other public cloud platforms, such as Amazon Web Services (AWS) and Google Cloud Platform, by providing a range of cloud services, including computing, analytics, storage, mobile, database, the web, and networking. The beauty of the platform is that everyone can pick and choose which services to use for development and deployment of a new application or as a support for existing applications and infrastructure. As such, some organizations use Azure as their data backup solution, and others as an alternative to their own data center.
Microsoft Azure has several advantages over investing in local servers and storage. Microsoft’s data centers are located in 22 regions across the globe, and, through their service level agreements, Microsoft guarantees at least 99.9% availability of the Azure Active Directory Basic and Premium services. The other important advantage is that Azure primarily uses a utility pricing model that charges customers based on what they actually use – just like an electric supplier chargers, for example, only when you turn on a light in your room.
However, there are also subscription-based models, with discounts for customers who are willing to commit to six months of use; and volume licensing models for enterprise customers. Azure compute costs 12 cents per service hour, and the company’s storage service costs 15 cents per GB of data per month.
There are 12 main categories of Azure services:
- Compute – these services include virtual machines, large-scale parallel and batch computing job, containers, remote application access, and infinitely scalable cloud applications and APIs.
- Web & Mobile – allows developers to create and deploy web and mobile applications for any platform and any device. Included are API management, scalable push notification infrastructure, reporting, and mobile engagement management.
- Data Storage – takes care of SQL and NoSQL databases, as well as unstructured and cached cloud storage.
- Intelligence – revolves around the Cortana Intelligence Suite, which is designed to help companies collect and manage huge chunks of data, extend applications with predictive and cognitive insights, and operationalize data science pipeline for iterative learning.
- Analytics – Azure’s analytics services are an umbrella for many smaller parts that all deal with big data and insight generation. They include data lake analytics, HDInsight, machine learning, stream analytics, data factory, and others.
- Networking – give customers a way how to easily provision private networks, route incoming traffic for high performance and availability, host a DNS domain in Azure, establish secure connectivity through VPN gateways, or take advantage of dedicated private network fiber connections to Azure.
- Media & Content Delivery Network (CDN) – with the Azure Media Player, all audio and video files stored in the cloud can be automatically played on most popular devices. The content can be delivered securely with DRM technology, through Microsoft PlayReady and Widevine, or Advanced Encryption Standard (AES) 128-bit clear-key
- Hybrid Integration – provides a way how to extend on-premises systems to the cloud for hybrid integration. Businesses can connect across private and public cloud environments and easily backup their data to the cloud.
- Identity & Access Management (IAM) – is centered on the Azure Active Directory, which enables single sign-on to any cloud and on-premises web app and is preintegrated with Salesforce.com, Office 365, Box, and others.
- Internet of Things (IoT) – helps capture, monitor and analyze IoT data from sensors and other devices. Real-time data streams from millions of IoT devices can be effortlessly processed and powerful cloud-based predictive analytics tools enable predictive maintenance.
- Development – Azure lets developers build apps with JavaScript, Python, .NET, PHP, Java and Node.js. It comes with build back-ends for iOS, Android, and Windows devices. Furthermore, Visual Studio Team Services let teams share code, track work, and ship software in a single package.
- Management & Security – these products are designed to help cloud administrators manage Azure deployment, schedule and run jobs, and facilitate automation.
Xamarin
The origin of Xamarin goes back to 2011, when Miguel de Icaza, the founder of Mono, announced on his blog that further development of Mono will be supported by a new company that planned to release a new suite of mobile products – that company was Xamarin.Microsoft announced that they signed an agreement to acquire Xamarin on February 24, 2016. Although specific terms weren’t disclosed, the acquisition probably cost Microsoft between $400 million and $500 million, according to the Wall Street Journal.
“As the role of mobile devices in people’s lives expands even further, mobile app developers have become a driving force for software innovation. … As part of this commitment I am pleased to announce today that Microsoft has signed an agreement to acquire Xamarin, a leading platform provider for mobile app development,” said Scott Guthrie, an Executive Vice President of the Cloud and Enterprise group at Microsoft, in his blog post.
Scott described Xamarin as a rich mobile development that enables developers to build mobile apps using C# and deliver fully native mobile app experiences to all major devices – including iOS, Android, and Windows. The platform consists of a number of elements that allow you to develop applications for iOS and Android: C# language, Mono .NET framework, compiler, and IDE tools.
Consequently, developers can write the same C# code that can be used on all platforms and offer a seamless experience despite the differences under the hood. Xamarin takes advantage of native UI toolkits but abstracts them, which makes the development process very similar to early years of Java programming. Xamarin development can be done in either Xamarin Studio or Visual Studio, but developing iOS applications requires a Mac computer, running Mac OS X.
The Significance of Azure and Xamarin for the IoT and Mobile Computing
Why are Azure and Xamarin important for the IoT and mobile computing? Because companies are looking for ways how to improve their businesses by employing scalable, cost-effective solutions that meet the growing demand for virtualization services and multi-platform deployment. In a short-term, this could lead to $200 billion worth of growth by 2018 according to market research firm Infonetics Research. IaaS is expected to grow from about $23 billion in 2014 to $34 billion in 2015, and PaaS to grow from 13% of the total cloud revenue in 2013 to 16% in 2018. No wonder that Microsoft and other companies are seeing the tremendous opportunity presented right in front of them.“The Xamarin acquisition will ensure people put Microsoft in to the equation,” says Hammond. “The reality is that 90 percent or more of the mobile market is iOS and Android. So Microsoft needs dev tool to target those platforms and grow its developer base. Now there is a single stream for Windows 10, tablet, iOS, Android and Windows Phone,” says Wes Miller, an analyst at Directions on Microsoft.
Microsoft is simply continuing the trend of making their applications accessible to as many users as possible. They recognize that the time when Windows was synonymous with computing of any kind is long gone. Xamarin allows developers to target any major current platform – all they need is to adopt Microsoft’s development tools and infrastructure.