To paraphrase Daniel Webster (American Statesman, 1782-1852), “If all my developer skills were taken from me with one exception, I would choose to keep the power of learning like a developer, for by it I would soon regain all the rest.”
To be a good developer is to be a perpetual learner; it is essential for survival. The problems you solve are always changing, but the programming languages, platforms, hardware, tools and technologies you use to solve them are all moving targets. Even the foundation of the agile development processes most developers follow has the notion that you must continue to learn to be more effective. After all, if you’re not learning something new, you’re either falling behind or getting left behind.
Once again, it’s that time of year when many office buildings get a bit quieter, parking and traffic get a little easier, and many production systems go into “hands-off” lockdown for fear of a breaking change ruining the holidays. This slow period provides an opportunity to step back from the stuff you work on every day and learn something new that perhaps you haven’t had a chance to try yet.
Fortunately, there are a lot of great resources available for you to learn new skills in Azure. Below are ten areas to explore that go beyond the familiar cloud workhorses (such as virtual machines and storage) and focus on capabilities related to IoT, containers, microservices, serverless computing, bots, artificial intelligence, and more. Each has a list of resources to give you a quick intro, and additional content to help you dive deeper.
If you’re new to Microsoft Azure, you may want to start with the Get Started Guide for Azure Developers.
1. Internet of Things (IoT)
Anything can be a connected device these days. Azure IoT Suite and the Azure IoT services make it easy for you to connect devices to the cloud, not only to collect the telemetry data they generate but also to do things in your apps based on that data. You can also get Azure IoT-certified starter kits for some DIY time building your own devices.
Quick:
- Watch: Introduction to Azure IoT Suite and IoT Hub for developers
- Read: Developer's introduction to Azure IoT
More time:
- Watch: Developer’s Guide to Connecting Devices to Azure IoT
- Read: Azure IoT Developer Center
- Do: Azure IoT Starter Kits
- Learn: Getting Started with the Internet of Things (IoT)
2. Functions
Looking for a way to build microservices or get tasks done easily in your apps, such as processing data, integrating systems, or providing simple APIs? Azure Functions offers serverless compute for composing event driven solutions. You only need to write the code that solves a specific need and then not worry about building out an entire application or the infrastructure required to run it.
Quick:
More time:
- Watch: Developing Azure Functions
- Read: What is Serverless Computing? Exploring Azure Functions
- Do: Azure Functions Challenge
- Learn: Using Azure Functions to Build Nanoservices
3. Cognitive Services
Artificial intelligence is no longer science fiction and can be used in your applications today. Cognitive Services is a growing collection of machine learning APIs, SDKs, and services you can use to make your applications more intelligent, engaging, and discoverable. Add smart features to your applications and bots, such as emotion and video detection; facial, speech, and vision recognition; and speech and language understanding.
Quick:
- Watch: Get started with Microsoft Cognitive Services
- Read: How Uber is using driver selfies to enhance security, powered by Microsoft Cognitive Services
More time:
- Watch: Microsoft Cognitive Services: Give Your Apps a Human Side
- Read: Face and Emotion Recognition in Xamarin.Forms with Microsoft Cognitive Services
- Do: Getting started with the Text Analytics APIs to detect sentiment, key phrases, topics and language
4. Bot Service
Looking to improve customer engagement in a new or existing application? Azure Bot Service enables rapid, intelligent bot development, bringing together the power of the Microsoft Bot Framework and Azure Functions. Build, connect, deploy and manage bots that interact naturally wherever your users are talking. Allow your bots to scale based on demand, and you pay only for the resources you consume.
Quick:
More time:
- Watch: Introducing the Azure Bot Service
- Read: Bot Framework – Solving Business Problems with the Microsoft Bot Framework
- Do: Create Your First Bot
- Learn: Getting Started with Bots
5. Container Service
If you have been building container based applications and now need to get them into production, check out Azure Container Service. This open sourced service supports popular container orchestration engines such as Kubernetes, Docker Swarm, and DC/OS. Azure Container Service removes a lot of complexity to help you manage clusters of virtual machines to run your containerized applications.
Quick:
- Watch: Azure Container Service
- Read: Azure Container Service 101
More time:
- Watch: Building Applications Using the Azure Container Service
- Read: Azure Container Service Introduction
- Do: Deploy an Azure Container Service cluster
- Learn: Deploying Dockerized Apps to the Azure Container Service
6. Logic Apps
Azure Logic Apps help you automate workflows and integrate applications and services. Nearly a hundred out of the box connectors for all your favorite services make it easy to set up workflows and accomplish tasks between connected services. Using a visual designer in the Azure portal or Visual Studio, you can compose the logic (and it works great with Azure Functions) that act based on events.
Quick:
More time:
- Watch: Getting started with Azure Logic Apps
- Read: Overview of the Enterprise Integration Pack
- Do: Build a Logic App in a Free Sandbox Experience
- Learn: Mastering Azure App Service, Part 1: Building Logic Apps
7. API Apps
Azure API Apps make it easy for you to build and consume cloud-hosted REST APIs. Azure provides a marketplace of APIs where you can publish your API, or find existing APIs to use in your applications. You can also generate cross-platform client SDKs for the hosted API using Swagger.
Quick:
- Watch: Azure API Apps 101 with Guang Yang
- Read: API Apps Overview
More time:
- Watch: RESTful Web Services: ASP.NET and Azure API Apps
- Do: Get started with API Apps, ASP.NET, and Swagger in Azure App Service tutorial
- Learn: Mastering Azure App Service, Part 2: Building Azure API Apps
8. DocumentDB
Sometimes a traditional relational database is not the best choice for your data. DocumentDB is a fully managed and scalable NoSQL database service that features SQL queries over object data. You can also access DocumentDB by using existing MongoDB drivers, which enables you to use DocumentDB with apps written for use with MongoDB.
Quick:
More time:
- Watch: Delivering Applications at Scale with DocumentDB, Azure's NoSQL Document Database
- Read: An Overview of Microsoft Azure DocumentDB
- Do: NoSQL tutorial: Build a DocumentDB C# console application
- Learn: Azure DocumentDB: Planet-Scale NoSQL
9. Mobile Center
If you’re already working on a mobile app, you should learn more about mobile DevOps with Visual Studio Mobile Center, which brings together our mobile developer services, including HockeyApp and Xamarin Test Cloud. Currently in Preview, Visual Studio Mobile Center provides cloud-powered lifecycle services for mobile apps, including continuous integration, test automation, distribution, crash reporting, and application analytics. The Mobile Center SDK currently supports Android, iOS, Xamarin, and React Native apps with a roadmap to support more over the coming months.
Quick:
More time:
- Watch: Visual Studio Mobile Center with Thomas Dohmke
- Read: Mobile DevOps – Exploring Visual Studio Mobile Center
10. Application Insights
Rich application metrics help you deliver and continuously improve applications for your customers. Application Insights is an extensible application performance management service that’ll help you detect, triage, and diagnose issues in web apps and services. You can integrate it into your DevOps pipeline and use it to monitor the usage and experience of your apps.
Quick:
- Watch: Monitor Web Apps using Azure Application Insights
- Read: General availability of Azure Application Insights
More time:
- Watch: Advanced Analytics with Application Insights
- Read: What is Application Insights?
- Do: Interactive data analytics demo
- Learn: Web and Data Application Development with Visual Studio 2017 and Azure (Module 1)
I hope you found an area that caught your interest and you learn something new from the content provided.
Happy holidays!