Ops / IT Pro
Please note: An updated version of this course is available here.
There's a lot of effort that goes into keeping our applications available, and secure. That's why so many cloud vendors offer platforms for hosting web-based applications. If you're building web apps, APIs, mobile backends, or business processes then you should consider looking into App Service! App Service has a lot of functionality. It meets compliance standards from around the world, it's highly scalable, it supports multiple languages and makes it easy to get your code deployed.
This Getting Started with Azure App Service course it's basically an intro, but for developers and IT Pros. In this course, you'll learn about the features of App Service at a high level as well as for each component. Then you'll learn about each of the 4 components of App Service through some demos. If you're a developer or IT Pro working with Azure, but new to App Service, this course is for you.
This course will help get you up-to-speed on App Service so that you can start developing / managing apps.
Getting Started With Azure App Service: What You'll Learn
|Lecture||What you'll learn|
|Course Intro||What to expect from this course|
|App Service Overview||A high-level overview of App Service|
|Web, Mobile, API App Overview||A high-level overview of Web, Mobile, API Apps|
|Logic App Overview||A high-level overview of Logic Apps|
|Mobile Apps: Easy Tables||How to use Easy Tables as a "no-code" option|
|Mobile Apps: Client||Running the client code from an iOS simulator|
|Mobile Apps: .NET Backend||Using a .NET backend|
|Mobile Apps: Auth||Using authentication with App Service|
|API Apps||Creating API Apps|
|Logic Apps||Automating business processes|
|Web Apps||Authentication and remote debugging|
|Deployments||Deployment slots and GitHub based deployments|
|Monitoring and Logging||Monitoring and logging options|
|Scaling||Scaling up and out|
|Next Steps||What's next|
Welcome back! Logic Apps are a component of App Service that’s unique, compared to Web, Mobile and API apps. Logic apps are a visual way to create business processes and workflows, and they’re built on top of API Apps.
Let’s head into the portal to see how they work. First we’ll create a new Logic App by clicking on the App Service icon on the side nav, and then clicking Add.
I’ll search for Logic, and there it is in the list there, so I’ll select that. This should be pretty familiar by now, I’ll give it a name...and then I’ll add this to the existing resource group that the API app is part of.
This is located in South Central US, so it’s already in the same region as the API app, which is good because that will enable us to use the API that we deployed in the previous lesson.
Right, let’s create this...it won’t take all that long to create...actually, there it is, all done.
I showed this screen earlier in the course during the logic app overview. This is sort of like the quickstarts in the previous Apps.
Let’s talk about Logic Apps for a moment before we start creating some. Logic Apps start with some sort of trigger and then can execute actions. Triggers are some sort of event, and that could be a schedule, or something like a database row being added, an FTP file being created, etc.
Logic apps have all sorts of integrations into different third party apps and services that are called connectors. Things such Jira, GitHub, Twitter, etc. And these integrations tend to offer both actions and triggers.
I skimmed through the list in the overview, there’s a lot of services available to build out automated workflows. Now you can build these workflows here in the portal, and you can also use Visual Studio. The feature set is going to be the same regardless, the difference is your process. Behind the scenes these workflows are JSON files, and if you use Visual Studio you can keep everything under source control.
If you use the portal, then you can utilize the built in versioning. Again it all depends on your process and who is actually building these workflows. Developers tend to be at home in VS, whereas some people aren’t. It’s just something to keep in mind.
Let’s build out something, why don’t we create a process that checks tweets with particular hashtags, and then takes that tweet, and posts it in a HipChat room.
So, let’s start out with a Twitter Trigger. First thing I need to do is authorize Logic Apps with Twitter. So I’ll sign in, and it’ll take a moment, so I’ll fast forward.
Okay, it took about 30 seconds, however I’ll authorize Logic Apps, so it can read tweets on our behalf.
Great, so now Logic Apps can access Twitter. Now we just need to setup our filters for which Tweets we want to look for, before sending them on to HipChat.
So let’s add some hashtags for devops, cloud computing and Azure. Now let’s change the polling frequency to say...1 minute.
Now, we have our trigger that will look for new tweets every minute. So let’s create an action to to post this to HipChat. I’ll search for Hip and then select the Post message to Room option.
I have the HipChat room ID copied to my clipboard, so I’ll paste that in here. Now we need to choose what we’ll post for a message. And we can select from different info that comes from the tweet. Notice we have options for things such as Name, Text, Username, Retweet count, etc.
How about for this I show the tweet text, and then I’ll hard code “posted by” and then Tweeted by username.
Alright, let’s save this, and what’ll happen is that if a tweet comes across with one of those tags it’ll be posted to my Azure HipChat room.
So, I’m going to let this run for a while and then come back and we’ll see what happens.
Okay, I’ve let this run for an hour, and you can see that if I scroll through this HipChat room, I have quite a few Tweets.
This was a pretty easy way to create a workflow, albeit a simple one, and have it up-and-running in a few minutes.
Earlier I mentioned that we’re not limited to using just the existing connectors, we can also include our own APIs, we well as Azure services such as Functions. If you want to include your own APIs, you can use the HTTP action.
Let’s say we still want to check for Azure tweets, and if the topic contains the word EventHub, then we want to send it to our EventHub QnA API call. We can do that by adding a condition. And then selecting the Tweet text. We need to change the relationship to contains, however you can see there are a lot of options. And then I’ll just use the string EventHub.
And so you can see now there’s an option for if Yes, and if No. Let’s set the if Yes to an HTTP action. From here we can use the HTTP + Swagger. We need to provide the swagger URL, which in this case is just the root URL for our API app, so I’ll just copy it from this page, and paste it here. And then I can append /swagger/docs/v1.
Ahh...right, this should be HTTPS, so a quick change, and then... there it is. Now we can select one of our endpoints. If I select the question/ID, then I can pass the tweet text to the API. The general idea here is that if someone tweets about EventHub that the QnA bot could reply with some useful info. Now this is obviously too simplistic to be useful, but it’s just to show that you can use your own APIs.
So, that’s about it. Logic Apps can be as simple or complex as you need them. And with so many connectors, plus the ability to use your own APIs, you have the ability to make some highly scalable, highly available workflows.
In the next lesson, we’re going to wrap up the development portion of this course by covering Web Apps. So, if you’re ready to learn more about App Service, then let’s get started in the next lesson!
Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.