Month: September 2016

AzureCloud

Azure Monitor

This week saw the announcement of the public preview of Azure Monitor. Azure Monitor allows you to manage and explore all common tasks from a single view. Azure Monitor provides the following types of data – Activity Log, Metrics and Diagnostics Logs.

You can access the Azure Portal by clicking on the Monitor tab in the Azure Portal.

1eeeafee-e790-4ee8-bb11-58c925e01b24

Enjoy!

Web

TypeScript 2.0 is now available

MSPUImage

Today Microsoft released the final version of TypeScript 2.0, adding new features and improvements. TypeScript is what Microsoft likes to calls “JavaScript that scales” – providing better performance and scalability for large applications, along with developer goodness of a typed language.

Here is a list of some of the new features found in TypeScript 2.0:

  • Simplified Declaration File (.d.ts) Acquisition
  • Non-nullable Types
  • Control Flow Analysis for Types
  • Easier Module Declarations
  • Async/Await down level support
  • Readonly Modifier

TypeScript’s future looks promising. In a blog post by the TypeScript team…

“Going forward, we will continue to work with our partners and the community to evolve TypeScript’s type system to allow users to further express JavaScript in a statically typed fashion. In addition, we will focus on enhancing the TypeScript language service and set of tooling features so that developer tools become smarter and further boost developer productivity.”

TypeScript 2.0 is available now to download with Visual Studio 2015 Update 3. You can also use npm to install TypeScript 2.0 by running the following command:

npm install –g typescript@2.0

 

Reference

https://blogs.msdn.microsoft.com/typescript/2016/09/22/announcing-typescript-2-0/

Communication

Comparison of Bot Frameworks on the Market

Came across a great article on a comparing different bot frameworks on the market. Check it out.

“Bots are in the spotlight. Tech superpowers like Microsoft and Facebook released comprehensive frameworks aimed to mass-produce bots. There are numerous startups with their own frameworks and specialized offerings. More established players, including Aspect Software, also joined the race. This post examines some of these frameworks and offerings, based on the first experience. Note that we are not looking at the bot publishing platforms, as this is a different area.”

References

http://blogs.aspect.com/bot-framework-s-comparison/

CommunicationDevelopment

Introduction to the Microsoft Bot Framework

At the Microsoft BUILD 2016 conference this year, Microsoft released the public preview of the Microsoft Bot Framework. The Microsoft Bot Framework provides just what you need to build and connect intelligent bots that interact naturally wherever your users are talking, from text/SMS to Skype, Slack, Facebook Messenger, Kik, Web Chat, Office 365 email and many other popular services which are constantly being added.

bot-framework-website

The Bot Framework enables organizations to build Bots, also known as intelligent conversation agents. It lets users interact with intelligent solutions as though they were conversing with a real person and interactions can take place in many forms, from text/SMS to Office 365 email, to Skype and Slack.

Bots are quickly becoming an integral part of the digital experience for users to interact with a service or application. The Bot Framework provides automatic translation to more than 30 languages, user and state management, tools for debugging, an embeddable chat control and the means for a user to discover, try and add bots to their conversation experience of choice.

“Bots are like new applications,” Microsoft chief executive Satya Nadella said. “And digital assistants are meta apps, or like the new browsers. And intelligence is infused into all of your interactions. That’s the rich platform that we have.”

The Bot Framework consists of three main components, the Bot Builder SDK, Developer Portal and the Bot Directory.

botframework_overview_july

Bot Builder SDK

The Bot Builder SDK is available on GitHub and is a set of code libraries in C# and Node.js to help with building the bot. It also provides integration with LUIS which is the Language Understanding Intelligent Service, which gives support for natural language interaction.

Bot Developer Portal

The Bot Framework Developer Portal is where you can go to connect your bot to any of the available channels. Here is a listing of all available services:

  • Register your bot
  • Connect to channels
  • Test
  • Publish
  • Manage
  • Measure

Bot Directory

The Bot Directory is a public directory of all available registered bots. From the Bot Directory you can browser, try and add bots to your favorite conversation experience.

You can also see a listing of available bots from Skype. Here is the Skype Preview app and if you click on the bots section, you can see 38 bots (at time of posting).

SkypeBots

You can checkout the Bot Directory for a full listing of registered bots.

In a future article I will explore creating a bot and deploying it to Azure.

Resources

Get started with the Bot Connector.

Microsoft Bot Samples: https://github.com/Microsoft/BotBuilder

Get started developing your first bot bot: https://dev.botframework.com/

Documentation: http://docs.botframework.com/sdkreference/

CloudDevelopment

Getting Started with Azure Functions

The first article of this series, Introduced what Azure Functions are and the capabilities they offer when used by themselves or combined with other Azure resources. This article will focus on getting started with just one of the types of Azure Functions available…the HttpTrigger function.

Creating the Azure Function

You can quickly get started with creating an Azure Function by going to the Azure Functions Get Started Portal. After logging in you will be taken to the Azure Functions getting started portal as shown below.

Portal1

Using the above Getting Started portal, enter the name and location of your Azure Function app, in my case I’m using a name of  GettingStartedAzureFunction and a location of East US.

Then then click on Create + get started button. This will then take you to the Azure portal inside your Azure Function app. From here you can get started quickly with a premade function, in my case I went with Webhook + API, and C# for the language. Finally click on the Create the function button to create this function.

AzureFunctionAppBlade-01

A new function named HttpTriggerCSharp1 will be generated for you, which will be based on C# and this function will be run whenever it receives an HTTP request.

HttpTriggerFunction-Code

At this point your function is ready to go. You can see the Function URL at the top and below is the generated code for the Http trigger.

Testing your Function

Since this function is generated from the quick starts, it already contains functional code which you can immediately run and test.

In this example you can quickly test the function by clicking on the Run button at the bottom of the page. It will pass a request body with the named parameter of “Azure” to the function, which will then show up in the Output pane to the right.

HttpTriggerFunction-Run

Alternatively you can also test the function by browsing to the URL to trigger the function. In this case I’ll navigate to the URL provided and the pass in the parameter name of “callon” to the query string like so.

HttpTriggerFunction-Test2

Monitoring your Function

Now that your function is up and running you can easily monitor it by going to the Monitor tab of your function. From here you can see recent success and error counts and inspect the function requests.

HttpTriggerFunction-Monitor

Managing your Functions

After creating your Azure Function app, you will be taken to your Azure Function app blade where you can create and manage your functions. If you need to get back to your Azure Function apps at a later time, you can navigate to the App Services blade and then filter by function as shown here.

AppServices-AzureFunctions

Next Steps

Now that you have your Azure Function you will most likely want to integrate it into other Azure resources or other apps. If you click on the Integrate tab of the function, you can quickly define an integration (triggers, inputs and outputs) and there is also an advanced editor available if needed.

HttpTriggerFunction-Integrate

Lastly if you scroll down on the Integrate tab, you will come to some handy documentation.

HttpTriggerFunction-Integrate2

In a future post I will walk through integrating an Azure function with another Azure resource.

Enjoy!

References

Azure Functions
Azure Functions Documentation
Testing Azure Functions

CloudDevelopment

How to Upgrade an Azure Function App

After creating an Azure Function app, you may notice a notification in your Azure Function app tat there is a new version of Azure Functions. I’ll walk you through the current process for upgrading your Azure Function app.

Upgrading

To start the upgrade process, click on link “Function app settings”:

Function App Settings 1

Then click on “Update”:

Function App Settings 2

Within a second your Function app should be upgraded to the latest version:

Function App Settings 3

That’s all that is required when upgrading your Function apps.

Enjoy!

Cloud

How to Invite Users to your Azure Subscription

There are a lot of awesome resources available with Microsoft Azure…Virtual Machines, Databases, Storage, Application Insights, Functions, Websites, IoT, Messaging, and a whole lot more. You’ll no doubt find that it’s easy to get started with Azure but sooner or later you will want to have other users use and possibly manage the resources you’ve created.

So how do you go about inviting users to your Azure subscription and providing them the necessary access and rights? Let’s take a look.

After logging in to your Azure portal, click on the Subscriptions navigation link on the left pane.

Dashboard - Subscriptions

You will then see a list of Azure subscriptions. Select the subscription you wish to manage.

Subscriptions

You will then see a blade open up to the right for the selected subscription. In your subscription blade will be an icon for users (top right corner of the Essentials pane). Click this button to manage users for this subscription.

sshot-1

Here you will see a listing of all users for this subscription. Click on the Add button to add a new user.

Users

The add new user blade will now open up. First thing that is required is to select a role for this user. There are numerous roles available. In this case I just want this user to have the Reader role, which allows them to view data only:

Add User - Role

After selecting the role for the user, click Select. Now you will need to invite a user. Type in the email address for their Microsoft Account. The user will then show up below. Make sure their email is selected with a checkmark. Then click on the Select button.

Add User - Invite User

Now that you’ve assigned the role and added a user, click on OK to complete the action of adding a user.

Add User - Completed

You will then see an Azure notification in the top right corner of your browser informing you that the user is being added. Within a few seconds the user should show up in your subscription users listing as shown below.

Add User - Done

Once you’ve added the user you can now navigate to a specific Azure Resource and assign the user. Let’s do this now with an Azure Function I have.

I’ve navigated to an existing Azure Function I have and I now want to add the user I just invited above. Click on the “Account control (IAM) link on the left and then click on the Add button on the right:

Add user to resource

Next assign the role and click Select. The select the users(s) you want to add. You can select one or more users.In this example I’m going to select both users. Then click on the Select button, followed by the OK button.

Add user to resource 2

You will then see an Azure notification informing you the users are being added and once complete, you will see them listed as shown below:

Add user to resource 3

That’s all there is to inviting users to your Azure subscription and then assigning them to specific Azure resources.

Enjoy!

CloudDevelopment

Introduction to Azure Functions

What is Azure Functions2

Azure Functions are a serverless, event driven experience that extends the existing Azure App Service platform, by building “nanoservices” that can scale based on demand and you only pay for the resources you use.

functionsAzure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. You can write just the code you need for the problem at hand, without worrying about a whole application or the infrastructure to run it.

Supported Languages and Tools

Azure Functions can be created in C#, Node/JavaScript, Python, F#, PHP and scripting languages like Bash, Batch and PowerShell. You can even run executables.

Common Scenarios

Azure Functions is a great solution for building nanoservices, simple API’s, processing data and integration with systems. Here are some common scenarios for Azure Functions:

  • Timer-based processing
  • Azure service event processing
  • SaaS event processing
  • Serverless web application architectures
  • Serverless mobile backends
  • Real-time stream processing
  • Real-time bot messaging
sshot-306
Integrations

Azure Functions can be triggered by virtually any event in Azure, any 3rd party services, or any on premise systems. The following service integrations are supported by Azure Functions:

  • Azure DocumentDB
  • Azure Event Hubs
  • Azure Mobile Apps (tables)
  • Azure Notification Hubs
  • Azure Service Bug (queues and topics)
  • Azure Storage (blob, queues and tables)
  • GitHub (webhooks)
  • On-premises (using Service Bug)
Getting Started

You can quickly get started with creating an Azure Function by going to the Azure Functions Get Started Portal. After logging in you will be taken to the Azure Functions getting started portal as shown below.

Portal1

Or create a function app from Azure Portal. This can be found under New –> Web + Mobile –> Function App:

FunctionApp-Portal2

Once you’ve created your Function App, you will be taken to the Function App blade in the Azure Portal. From this blade you can create new functions by clicking on the New Function button on the top left, which will bring us to pre-built templates. If you click on an existing function, which are listed along the left side, you can edit the function, look at logs and even test the function.

Portal2

Have fun and take a look at Azure Functions and how they might help you. In my next post I’ll dive deeper and walk you through creating, running and testing the function app.

Enjoy!

References

Azure Functions
Azure Functions Documentation
Build 2016 Video: Introducing Azure Functions