.NET Oxford Meetup VII: Serverless in Azure

28 October 2017 - .NET , dotnetoxford , Meetups

It feels like lately you can't turn around without hearing the term 'serverless'. It seems to have become the latest architectural buzzword. So we were very pleased to have Christos Matskas from Microsoft speaking at .NET Oxford about what this term actually means, and also about the awesome Serverless choices we have in Microsoft's cloud platform - Azure!

Whilst, obviously there are servers - the point is, you don't know (or even care) about them. They're somebody else's problem, completely abstracted away by the cloud provider. This concept also means that you no longer need to concern yourself with scaling your architecture either! Which is a pretty compelling argument!

The main technologies Christos covered were Azure Functions and Azure Logic Apps. And if those weren't enough - he also demoed Azure Application Insights as an additional bonus!

Matt and I first met Christos at the DDD South West conference in March this year. There he did a lightning talk on Azure Functions. A really great speaker, so we were very pleased to have him speaking at .NET Oxford.

audience

Intro and 1st Birthday Celebration Planning

In my intro talk - after summarising the topic of the evening (ie. pretty much what I wrote above), I then let everyone know about an email I received a couple of weeks ago from Meetup.com, saying that it's been an entire year since we registered the .NET Oxford Meetup.com account! Our first meetup was in January, but it was a couple of months prior where we started planning and getting the ball rolling!

So ... we've decided to have a birthday celebration! Not an official event with talks like our usual meetups, but rather just a few regulars going for a meal. Food, drinks, and plenty of nerdy conversation! This will be in January to coincide with our first meetup, and also everyone is obviously quite busy with work dos in the lead up to Christmas.

We've created a Doodle poll with a few dates so we can see what works best for everyone ...

If you're interested in coming along, then please tick dates that you can definitely make - then we'll look at which is most popular, and get a date in the diary!

Joining the .NET Foundation

Another email I received was from the .NET Foundation saying that we've been accepted into their parent Meetup.com User Group. This means that our events will appear on their main event list. They'll also cover our Meetup.com Pro membership fees for us.

News Items

After the usual "history behind .NET Oxford" for those that were new to .NET Oxford - then I moved onto the news and prize draws ...

news

Microsoft .NET Framework 4.7.1 Announced

On the 17th, Microsoft announced the release of the .NET Framework 4.7.1. There are been several improvements, including full support of the .NET Standard 2.0. Previously it had pretty much full support support from 4.6.1 onwards, but there were about 200 APIs missing. This release implements those missing APIs, giving full 2.0 support. There are have also performance improvements, accessibility improvements, and many others. See the link below for the full list.

Microsoft Quantum Programming Language in Visual Studio

This one was shamelessly pinched from Steve Gordon and his .NET South East meetup's news. Microsoft has announced that they'll be adding a Quantum Computing programming language into Visual Studio! Okay, so obviously you're not going to be programming against a real quantum computer quite yet! They will ship with simulators which you can run locally (supporting up to 32 qubits), or you can run in Azure (supporting up to 40 qubits). Note that to run locally at 32 qubits, you'll need 32mb of RAM.

This now makes this much more approachable to you and me as software developers. It's still fairly low-level, but a great start in preparation for when we actually can start programming against real quantum computers.

Docker Announced Native Kubernetes Support

Docker has announced that it's adding support for Kubernetes into its platform. So you'll be able to choose between their own orchestration engine (Docker Swarm) or Kubernetes.

Kubernetes is certainly becoming extremely popular - so definitely a wise move on Docker's part. A lot of blog posts after this announcement are speculating that Docker has accepted the fact that Kubernetes has won the Orchestration war. But for me, this is just about giving users a choice.

Prize Draws

After the news section, I wrapped up the intro talk with the prize draws. As usual, we had our three fantastic prize draw sponsors - Jetbrains, Manning Books, and Oz-Code.

prize sponsors

A massive congratulations to our winners! ...

  • John Foster took away a year-long Jetbrains product licence of his choice. We'd obviously recommend Resharper, but if he already has it, they have plenty of other fantastic tools to choose from!
  • James Towell won a Manning eBook of his choice! Remember that any of our members can also claim a 36% discount for any of their e-books! See below for details!
  • Alla Samohvalova who won the Oz-Code licence! Alla is a repeat winner, who has previously taken home a Jetbrains licence! If you haven't used Oz-Code before, it's a Visual Studio extension that puts your debugger on steroids! If you haven't checked it out, definitely download the trial and have a play. All our member get a free 3 month trial licence (see below) or 50% off!

Remember that we have our special Manning coupon code (ug367) which gives all of our members a 36% discount on any of their e-books! They've also asked me to share a link to some of their new courses for their LiveVideo system.

Also, Oz-Code are now offering all our members either a 3-month licence free, or 50% off a full licence! To claim you can visit the this link to pick up your licence!

Primary Sponsors: Corriculo Recruitment

As usual, our Primary sponsors, Corriculo Recruitment were on hand not only helping us out financially by paying for the venue and providing lots of liquid refreshments - but also helping us out with both promoting our event, and also welcoming everyone in on the night. Plus, this time they even brought Halloween themed candy! I haven't tried popping candy in a long time - my mouth is still crackling!

If you're a developer looking for your next role, or a company looking for .NET developers - then definitely get in touch, and remember to mention .NET Oxford!

Christos Matskas: Azure Functions, Logic Apps, and Application Insights

Now to the main part of the meetup - the talk itself! Christos started with a few slides and explained what Serverless means and how it can benefit us. Then he introduced some serverless options in Azure - eg. Functions and Logic Apps.

christosandaudience

His intro section (before moving onto the demos), covered quite a lot of topics - really adding emphasis on how much things have changed since even just a few years ago. In the past, tasks that might have involved A LOT of work, time, and financial cost to businesses - might now be relatively trivial in this new serverless, event-driven world. Christos also mentioned a new technology called Event Grid, which is something I've only heard about very recently in this .NET Rocks episode.

After his intro section, he then moved onto some demos - and we all love demos! Christos certainly didn't disappoint, very quickly jumping out of PowerPoint, and into the CLI. When he asked everyone who loved the CLI, I was actually quite surprised by how few hands went up! I'm working on a blog post at the moment about getting the most of the CLI, so it sounds like I need to hurry up and get this published!

christos

Christos showed how easy it is in the CLI to VERY quickly initialize a new Functions project and create a function via a very simple command. From the CLI at the moment, there are just two language choices - C# or JavaScript - but later we see from the Portal, there are a lot more choices. Christos chose to create a JavaScript Function for this demo - which seemed an odd choice given the target audience - but I'm guessing most of our audience are comfortable enough with JavaScript to at least get the gist!

He then showed how easy it is to debug your local functions in both Visual Studio Code, and Visual Studio itself. I must admit, I've tended to go the logging route when debugging Azure Functions up until now - but seeing how easy this is to F5 into a VSCode debugging session, this is definitely going to make life a bit easier!

To add some context to the Azure Portal users, he then switched to the portal and showed how it all works from there. This is where we saw the much larger list of supported languages. He took us through the user interface, showing how to pick the different kinds of triggers, and also showing that we still have access to the familiar set of options we have in an Azure WebApp - eg. App Settings, etc.

Switching back to VSCode, he then demoed the new Azure Functions extension, which connected to his Azure subscription and showed the new functions he had just created.

The latter half of the talk then delved into the awesome Application Insights - showing off just how easy it is to view metrics and error information - including full stack traces, application dependencies, snapshot debugging, and much much more!

Overall, a fantastic talk, from a great speaker! Christos did ask me on Twitter the next day if I found that he did enough demos, saying that he was concerned that he didn't get to show enough. Given the time he had, I think he showed an awful lot! Given a bit more time, it would have been cool to have seen Logic Apps in action, and also demo the awesome power of querying in Application Insights Analytics. So definitely also take a look at these whilst playing around in Azure with the cool stuff that Christos demoed. This is the great thing about the cloud - being able to temporarily spin things up in an ad-hoc manner, makes it so easy to play around with these technologies!

Upcoming Events

November: Lighting Does Strike Twice

After the success of our previous lightning talk meetup, it was clear that lightning could not be allowed to only strike once! So we have another great lightning talk event lined up on the 14th November, and we have some great talks planned ...

Meetup.com Link

December: Docker, ELK, and Kubernetes

And we also have our December event announced! This meetup will be very container themed. The main focus will be on the Kubernetes orchestration platform, which we have Shahid Iqbal down to talk about. I'll also be doing a talk on playing around with the ELK Stack with .NET and Docker. As Shahid's talk mainly focuses on Kubernetes, then my talk will also give a basic introduction to Docker and Docker-Compose as a pre-requisite.

Meetup.com Link

1st Year Birthday Meal

And of course as mentioned earlier, in January, we'll have our 1st year birthday celebrationary meal. See the Intro talk section above for more information!

Finally, on to the Pub!

After the end of the meetup, Matt wrapped up, and as usual a few of us moved onto The Royal Blenheim pub for further drinks and nerdy conversation! It was also nice for once to be joined by our speaker! Normally as our speakers tend to travel from further afield, they tend to leave straight after the meetup. So even though Christos also had to travel, it was very cool to have him come along for a drink too!

pub