Azure Services You Need To Know

The majority of the time, web developers spend their days at the coal face of developing, well, websites, right? ... I mean that's our job. This is all true; however, every now and again a project comes along that requires that something extra. At times like these it's good to have some extra knowledge or information available to enable us to explore other options and offer solutions and alternatives to clients, managers and colleagues. This column points out five useful Azure services that you should know about, and think about experimenting with. All of these Azure technologies can add value to the user experience, and that can only be a good thing.
 
 

  Visual Studio Application Insights

Application insights is a very useful service that embeds itself right into the middle of your codebase. It helps you to detect issues, diagnose problems and system failures, and (importantly for the business folks), it helps track usage of your application. "App Insights" is not only a codebase plugin, it's a lot more. It provides you with a very rich user interface where you can analyze, filter, and segment data. In addition to standard data snapshots, you can also make custom dashboards that focus on the data you and your organization is interested in, and track application health and feature adoption metrics.
 
Here are some places to get more information:

 Azure SQL Database

Historically, most of us developers have turned to the RDBMS to store data ... be that MS SQL Server, PostGres, or MySQL, etc. But apart from using the database, we have also had to be concerned with installing and maintaining it. For a small system this might have been minimal, but when things start to grow and scale up, or when you inherit a plain bad design, things start to get troublesome. Azure SQL Database simply removes the pain of management. It allows you to 'stand up' a database in seconds, and connect it with ease to any other Azure based system or codebase. Everything from database management, system patching and tweaking is taken care of. You can simply forget about it and focus on the most important thing, your code! If you have traditionally had to install and manage or share a partly managed hosted database server, then you need to look at switching over to Azure SQL database - it makes sense on a ton of different levels.
 
Here are some places to get more information:

 Azure DocumentDB

As developers, our default thought when it comes to data is - quick! .. de-normalize it! ... "We need to have all of the relationships mapped and broken down to be able to query...." ... actually we now know that's not true. Many times it's better, and faster, both on the saving and unwrapping of data not to have it normalized, and frankly, using a big RDBMS may be the wrong thing to do. In this case, instead of using the old behemoth, we can consider a lighter, faster and more useful alternative in the 'Document storage / NoSQL' family.  Azure DocumentDB offers the ability to store JSON data without having to predefine a schema and without having to normalize down our data. Despite this seeming lightness, DocumentDB is incredibly powerful, and offers rich query capabilities and transaction handling. Azure DocumentDB is highly scalable and used for instance by MSN to support literally millions of users.
 
Here are some places to get more information:

 Azure Search

Many applications we develop need to have search capability. Adding it can be as simple as implementing a query against one column in a database, or as complex as a multi-language search using geo-spacial, fuzzy logic search using something like Lucene and ElasticSearch. Azure search removes all of the pain of setting things up yourself, and allows you to get up and running quickly with a rock solid search facility for your users that gives the same responsiveness and professional result capability users have come to expect from services such as Google and Bing for example. Azure Search can be deeply integrated with your data and offers sophisticated search capabilities that as individuals and teams we could not hope to be able to build in a reasonable amount of time.
 
Here are some places to get more information:

Azure Machine Learning

Machine learning used to be the exclusive domain of white-coated scientists and university researchers - today however, it is becoming more and more a part of how we do business. In almost every domain I know, I see innovative companies coming along almost daily, offering new insights and developments based on the application of machine learning and data science. While it may seem at first glance something to be wary of, something that you could only get involved in if you are inclined towards statistics and maths, doing 'Data Science' and 'Machine Learning' with Azure is actually quite accessible and well worth checking out. I am not proposing that every developer jumps out into the lake of deep learning, instead, I think we need to all come to grips with the fundamentals of the area such as simple predictive analytics, regression analysis and pattern matching. Azure offers some really useful tools to leverage the power of the clever smarty pants scientists that have paved the way for us mere mortals, without having to have a Ph.D. Check it out - you'll be glad you did.
 
Here are some places to get more information:
 
 
Until next time, happy coding!  :)