[MUSIC]
>> Welcome back to Five Things.
Today, my guest is Jeff Hollan. How are you doing, Jeff?
>> I'm doing great. I'm really excited
to be here. I love the show.
>> Are you really excited?
>> I really am excited.
>> All right.
>> I'm so excited John.
Five Things about Azure Functions.
You asked me to jump, I say how high, John?
This is what I come here for.
>> This is awesome man. I got
so many things I can ask you to do now.
>> I know, you really could.
As long as you get them all on camera, then I'm happy.
>> This is great. Thing number one, Azure Functions.
>> It's free.
[MUSIC]
>> Free.
>> That's the thing. We're not going to bury the lead here, John.
Azure Functions is free as long as you stand the monthly limits,
but it's very generous.
So you can do a million executions with Azure Functions,
run your code serverlessly without paying anything,
400,000 gigabytes seconds of compute,
and only after that, you start paying
like fractions and fractions of a cent.
So Azure Functions is fantastic.
If you have some jobs,
some API, and you're like, look,
I don't want to have to take out,
this is my own personal website,
I don't really want to be spending a lot of money.
Whatever it is for those types of calls,
Azure Functions is super economical.
>> Great. Thing number two,
what languages can you use?
>> Many languages and some new ones we've just recently announced.
So JavaScript, both the Note 8 and 10.
This is great because it means that you can pull
in any npm packages.
However, you're used to developing your projects, the frameworks,
the libraries you like, you can
take advantage of those in your functions.
>> Python?
>> We have Python 3.6 right now.
So some cool machine learning
type scenarios, scripting scenarios, .NET.
So C#, F#, Java, I think I got them all.
>> All right. No COBOL Functions?
>> No COBOL yet. That community is very loud though.
They know how to find me. They'll keep knocking on my door saying,
"We want COBOL Functions." It'll come one day.
>> [inaudible] when you got COBOL, man. Thing number three,
can you run functions locally or do you
have to be in the Cloud all times?
>> This is one of the awesome things about Azure Functions.
So we have what's called the run time.
That's the thing that runs your code, it triggers it.
That's completely open source and you can run it all locally,
you can debug it all locally,
so that if you want to quickly test something out,
you don't have to worry about installing
anything complex like running docker,
doing these switch gymnastics,
you just say I'm ready to do my Azure Functions project,
set breakpoints, debug, everything super familiar.
So it feels just like writing [inaudible].
>> On a Mac, on Windows?
>> Mac, Windows, everything.
>> Can you run on a plane?
>> You can do it on a plane.
>> Can you do it on a boat?
>> You can do it with a fox.
>> Can you do it with a go?
>> With a mouse in a box. With great [inaudible]
>> Thing number four, VS Code.
I love it, I live in it,
that's where I live and breathe.
Can you do functions there and what can you do?
>> Yeah. This is one of my favorite things.
Visual Studio Code team and us had built a first-class extension.
So you can create functions,
you can deploy your functions,
you can even stream logs from them in the Cloud.
So everything you need to do all in
Visual Studio Code, it feels supernatural.
It's just one of those amazing extensions in that gallery.
>> So wait. You can take your function, build it,
which is kind of expect that
but then you can deploy it and afterwards,
I can actually stream the logs from the Azure Functions locally.
>> Yes. You never even after leave VS code
and you can do like the full application cycle.
>> I'm going to try that out.
>> Yeah, you should.
>> Thing number five. So there's these things called bindings
in Azure Functions and
explain to me what they do and why I want to use them.
>> Yeah. So bindings is this nice construct inside of
functions where if you need to
communicate with other services like,
hey, at the end of this function,
I need to send a text message
or I want to drop something into Cosmos DB,
bindings let you do that without writing code for it,
without having to figure out that SDK,
hey, how do I go talk with Twilio.
You just go into your metadata
of your function locally or in the Cloud and say,
"Hey, I want to bind a Twilio,
I want to bind the Cosmos DB to cues,
to topics, to storage,
whatever else you might need to be dropping,
and you pretty much just set a variable in
your function and we'll do
the heavy lifting of actually sticking [inaudible].
>> So it sounds like a supercharged API,
specifically targeting like Twilio or Cosmos and other things.
>> Yeah, exactly right. Making your life even easier.
>> Cool, no code?
>> No code.
>> I like code though.
>> Less code.
>> Only the code you want to write.
>> All right, I can deal with that.
Hey Jeff, thanks for coming on.
>> It's been great to be here.
>> I appreciate that, and thanks for teaching about
five things about serverless and Azure Functions.
[MUSIC]