Analyzing flight data in real time using Cosmos DB, Azure Functions and Power BI
Cosmos DB is redefining the database in the age of cloud; globally-distributed, secure, PaaS, multi-model, multi-API database with a choice of consistency models, enterprise SLAs, encryption and guaranteed latency. This session will cover Cosmos DB’s main features in the context of an Aircraft tracking use-case developed by endjin. We will cover the benefits that made Cosmos DB the right choice to support a global, mission-critical application. There will be a live demo of the solution architecture, operational system, example queries, and performance optimisation strategies. We will also show examples of how we integrated with Azure Functions and Power BI to create real-time analytics over the ingested flight data.
Code on the roadAdam Ralph
Last summer, not content with only working from home, Adam turned the remote working dial up to eleven. He bought a camper van, a couple of EU SIM cards, and... hit a traffic jam near Basel. Seven months and seven countries later, he realised the ski season was starting. Back home to Switzerland it was, to reflect on his experience over a pot of hot cheese. Join Adam as he shares the gory details of the challenges he faced on his journey. Discover the tips and tricks he learned to overcome them. And finally, get the answer to the big question: Would he do it again?
Building stateful serverless services using Azure Durable FunctionsEldert Grootenboer
With the addition of Azure Durable Functions we can now create long running and stateful function orchestrations.
This is a great addition to Azure's serverless services as it allows us to easily implement function chaining and fan-in/fan-out messaging scenarios. In this sessions we will dive in to the possibilities and inner workings of this new technology, and will find out how we can use it to make our applications even better.
It's not all Debug.WriteLine
A rapid tour through learning how to use Visual Studio to debug applications, starting from the classic logging to the console and moving on to using the power of the integrated debugging tools. While this session will use C#, the techniques are widely applicable to other languages. Among other things, we will learn how to use features such as conditional debugs, debug single threads in multi threaded applications, using edit and continue. See how Data Tips can make your life much easier, and how you can use them to your advantage. For the XAML devotees, we will also look at how to use the live visual tree and live property inspector to debug XAML apps at run time as well.
Introduction to SharePoint Framework (SPFx)Gosia Borzecka
SharePoint Framework (SPFx) is the new framework for creating customizations for SharePoint using only client-side code.
In this session, we will better understand how the SharePoint Framework is working, what tools we need and how easy we can develop new Web Part and Extensions and next deploy them on Azure and SharePoint.
Developer Productivity!Dan Clarke
Are you the type of developer that likes to Get Sh*t Done?
If you take a room full of developers, the deviation between each developer's productivity level is massive! A task that might take one developer half an hour, might take the next developer an entire day! Or more! And the quality of the solution will be wildly different too.
In this day of age - the developer rules in terms of productivity. We're one of the only industries where we can easily automate a lot of our menial tasks, with hardly any work. And there are so many tools already available to make us even more productive. But a surprising number of developers don't take advantage of automation or
tooling,and do everything the hard way - using the standard tools that they've been using for most of their career.
In this talk, we'll be covering quite a lot of topics. From compound learning, to note taking, to tools and automation (with demos of tools like LINQPad, etc), to using the CLI effectively, to the Pomodoro Technique, to GTD, and even more!
Join me for a fast-paced talk on the tips and tricks I've found along the way that has saved me an insane amount of time!
User Storymapping for BeginnersColin Mackay
Sometimes it is difficult to work out how to prioritise the backlog and effectively work iteratively. What do you put in your MVP (Minimal Viable Product)? What then goes in each incremental release to give your users more and more useful functionality? Storymapping is a technique for solving this problem and getting your solution to your users faster.
In this highly interactive session I'll explain how you go about creating a story map and I'll get you to create one. Lots of sticky notes later you should have a fairly good grasp and be able to use the same technique on your own projects to better manage your backlog.
Finding your service boundaries - a practical guideAdam Ralph
We know it's useful to split up complex systems. We've seen the benefits of modular deployment of microservices. Dealing with only one piece of code at a time eases our cognitive load. But how do we know where to draw the service boundaries? In complex business domains, it's often difficult to know where to start. When we get our boundaries wrong, the clocks starts ticking. Before long, we hear ourselves say "it would be easier to re-write it". Join Adam for practical advice on discovering the hidden boundaries in your systems. Help tease out the natural separation of concerns in a sample business domain. During 20 years of developing complex systems, Adam has had plenty of time to get things wrong. Learn to avoid the common pitfalls that can lead us down the path to "the big re-write".
What sorcery is this? Xamarin Forms in the web browser
Introduction to Windows Mixed Reality development using Unity and the Mixed Reality Toolkit
Mixed reality is the result of blending the physical world with the digital world. It is the next evolution of human, computer, and environment interaction and unlocks possibilities that before now were restricted to our imaginations. The Mixed Reality Toolkit is a collection of scripts and components intended to accelerate development of applications targeting Microsoft HoloLens and Windows Mixed Reality headsets. In this session, we will explore how to fast-start Windows Mixed Reality development using Unity, the Mixed Reality toolkit and the Universal Windows Platform.
Pilot Critical Decision ManagementClifford Agius
This talk explores Clifford's experience as a Boeing 787 Dreamliner Pilot and the critical decision management skills required therein.
As an Airline pilot, you may be required to make a decision often quickly to react to a situation as it presents itself and you will discover a way to achieve this called TDODAR. This model ensures that you achieve a safe outcome for all on board and Clifford often finds himself using the same model when facing a problem whilst wearing his Dev hat and it's yet to fail him.
An introduction to how Entity Framework Core works insideJon P Smith
Entity Framework (EF) is Microsoft’s recommended database access library, with Entity Framework Core (EF Core) being the latest version. EF Core is very similar on the outside to the original 6.x version of EF, but very different underneath. In this talk Jon P Smith will describe how to use EF Core and what is going on inside the library. The session contains lots of diagrams showing the inner workings of EF Core and live code examples to see EF Core in action.
Both newcomers to EF and developers that already know EF will find this session useful. Newcomers will get an overview of what EF Core can do as the session looks under the hood of EF Core, while seasoned users will see gain deeper insights to how EF Core works, and what is different in EF Core to the original EF6.x version.
Integrating life with cognitive servicesEldert Grootenboer
In this session, we will see how we can get data from the real world, and use this to drive our business. Thanks to Microsoft Cognitive Services we can easily work with data from the real world, like text, images and videos. By integrating this data into our processes we can make even more engaging and better solutions.
TPL Dataflow - The Best Little Async Library You've Never Heard OfJoel Hammond-Turner
From the docs:
> The Task Parallel Library (TPL) provides dataflow components to help increase the robustness of concurrency-enabled applications.
What it actually does is give you the tools to create in-process async pipelines in a simple, structured manner.
And I'm betting that like me (until recently), this is a library you'll never even have heard of.
I'll cover the basics - Sources, Targets and Blocks - and how to link them together into useful **asynchronous** and **parallel** pipelines within your programs. We'll handle error conditions, cancellation and how to control the degree of parallelism - with samples that give you a bit more than "Hello World".
Getting the first PR into .NET and other tales from an OSS contributorAdam Ralph
The world of open source software has never been more exciting than it is right now. Communities spanning all platforms are thriving and more inclusive than ever. Even Microsoft have transformed their strategy, becoming the "number one" GitHub organisation. Why the big change? What's wrong with the "old" way of doing things? In November 2014, I became the first community member to have a pull request accepted for .NET Core. With my 15 minutes of fame now over, I'd like to reflect on the journey that took me there. How did 'that Czechoslovakian guy' go from a curious OSS onlooker to a passionate OSS advocate? We'll discover what OSS is, why it works and how easy it is to get involved. OSS is not only about coding and there are plenty of other ways to contribute. Even if you're not a coder, this talk is still for you.
Kubernetes .NET and AzureShahid Iqbal
Everyone seems to be talking about Kubernetes with companies seemingly tripping over themselves to support or adopt it.
In this talk we'll introduce Kubernetes, discuss the key concepts of the platform, it's high level architecture and how to get a Kubernetes cluster up and running in minutes.
We'll talk about and demo deploying .NET applications to Kubernetes and we'll finish with a discussion of the future where you can deploy both legacy and modern .NET applications to the same platform.
If you're interested in Kubernetes and you're not a .NET developer this session still has something for you
Industrial IoT using AzureEldert Grootenboer
In this session we will dive into the IoT stack provided by Azure, using IoT Hub and IoT Edge. During this session we will see how to use Azure to incorporate and manage our devices, deliver end to end messaging using IoT Hub, and how to extend our solutions to the Edge. Using the Azure iPaas platform, we expand on this solution to Dynamics 365 using Connected Field Services so we can control the devices, visualize our readings and deliver proactive maintenance.
You're the Tech Lead - you fix it!Joel Hammond-Turner
Over the last couple of years, I've presented 20 tricks and tips that I've found invaluable as a Tech Lead. But in this session, I want to turn things around and look at applying some of those to solving specific issues that are common within many software development teams.
I'll be taking lessons learned from the last 2 years of a major development project and using them to illustrate my points.
We'll look at managing your BAs and PMs and how to balance their need to understand exactly how long everything takes versus your team's need to not be over-pressured by artificial deadlines.
We'll see how a structured approach to analysing problems encountered in LIVE can make everyone's life easier, and how to prove whether the problem is (or is not) the fault of your software. And how to handle that inevitable case where it is.
And we'll look at the problems of implementing uniformity across multiple code-bases and multiple teams delivering multiple releases of multiple features... and where getting your tooling right can give the biggest benefits.
Amongst other things...
Containerise "legacy" .NET applications for a new lease of lifeShahid Iqbal
As our applications evolve we are often faced with difficult choices of how we support our older systems whilst taking advantage of newer platforms. With the advent of .NET core many companies are looking to write all new projects in .NET core and target Linux using containers. However what about their existing full framework .NET applications, do they need to maintain two totally different build & deployment and production systems to support both old and new applications? This talk will cover the following areas:
Introduction to Windows containers.
How to choose which container variant to use.
How to containerize legacy applications.
Vision of a unified build/deploy and production platform with both Windows and Linux applications running alongside each other.
Creating serverless applications using Azure's holy trinityEldert Grootenboer
With the addition of Azure Event Grid, we now have the holy trinity of serverless in Azure. We have Azure Functions to run our custom code, Logic Apps for our workflows and easy integration, and finally Event Grid for our messaging needs. And all this truly serverless, meaning highly available, dynamic scale and allowing us to focus on logic instead of infrastructure.
Spot the difference; automating visual regression testingViv Richards
This session looks at common issues with just relying on end to end automation testing tools, using examples to demonstrate common pitfalls and how visual testing can help add another tool to your tool belt.
The talk looks at why we automate tests, the issue with just manually testing, common end to end automation pitfalls, a brief introduction to visual testing and finally a look at common issues with visual testing and ways to overcome them.
Through the use of interactive examples the audience will gain an understanding of why relying on just manual testing can become an issue and how too much automation has a negative impact by looking at testing anti-patterns. The audience will also learn what visual testing is, what tools are available, some of the common pitfalls of using visual testings as well as tips on ways to overcome them based on experience of creating a custom visual test framework at my current employer.
Using Domain-Driven Design with Entity Framework CoreJon P Smith
Microsoft's Entity Framework Core (EF Core) provides a number of features that allows you to apply a Domain-Driven Design (DDD) philosophy to the classes that EF Core maps to the database. This session is about why DDD is useful when dealing with a database, and how you can implement DDD with the EF Core library.
This session will be useful to anyone that uses Entity Framework for database access and wants to see if DDD is a useful approach to adopt. Jon show how to build an EF Core class in a DDD style, and why that is useful. Jon also covers how to build business logic using the DDD philosophy, with worked examples.
Introduction to Cognitive ServicesGosia Borzecka
Machine Learning, Data Science, Artificial Intelligence. These all subjects coming to our business really quickly - but do you really need to master them all to make your application intelligent?
Microsoft created a simple API's that any developer can use and integrate into their applications quickly.
This session will focus on various API's and show the few demos how to add them to your apps such as ASP.NET Core, SharePoint Framework and Flow.
Deploying Functions to Azure with OctopusDeployJoel Hammond-Turner
Azure Functions are the basic building blocks of "serverless" computing in the Azure stack. But whilst the technology provides a (fairly) smooth path for developers to play with it, in the enterprise you still can't just deploy to PRD from the desktop.
And even deploying from a GIT repo isn't necessarily enough control for your business - just as with traditional software and services you need reliable, repeatable deployments.
At Landmark, this is exactly what we need to do, and so in this talk, I'll show how we can use our old favourite, OctopusDeploy, to take an Azure Function from our build process and deploy it in just the same way as we do for other software.
Azure In Action - CosmosDB, Functions and ServiceBus in Perfect HarmonyJoel Hammond-Turner
There's so many parts to Azure, it's sometimes hard to decide what to use and when. Do I use TableStore or CosmosDB? Would BlobStore be better? Should I host a full-fat .Net service in a VM, or stand up an ASP.Net Core WebApi? What about functions? The choices are myriad.
In this talk I'll describe how at Landmark we made these kind of decisions as we implemented some new features in our product. I'll talk about the questions you need to ask to make those decisions, where we went wrong, and how we succeeded in the end.
I'll describe in detail how we used CosmosDB, Azure Functions and Service Bus together to provide a Compliance Audit trail feature that would scale properly, work reliably, be trivial to use, and that wouldn't break the bank.
Continuous Delivery - A continuous improvement journeyColin Mackay
A lot of people look at continuous delivery and think that's a big step, and back away from it. It doesn't have to be that way. It isn't as insurmountable as it first looks. 4 years ago I had never done any automated deployments at all. Today I have three projects that can deploy quickly at almost any time with minimal downtime, one of which has zero downtime. And all this is from a simple button click on the build server. This didn't happen all at once. It was through a series of incremental steps that we got here. Not all the steps we took worked out, some introduced new pain points for us that we had to deal with, but on the whole we managed to improve a little each time. We're not finished either, there is still more we can do, and the projects are always changing to meet the changing needs of the business which presents new challenges. In this talk I'll show how we started with a Continuous Improvement Theme as a way to help break down the problem, and then move forward in smaller baby steps, occasionally falling down and having to pick ourselves up, slowly gaining confidence until we were walking confidently with our understanding of what we were doing. Although some specific technologies will be shown or mentioned, the ideas presented are not technology specific.
Building your first dashboard with Azure PowerBI EmbeddedJoel Hammond-Turner
Users love dashboards… Dashboards give them that warm fuzzy feeling that they can see into your software and watch it working perfectly… And dashboards give you the same insight into what's actually going on. But why are they so hard to implement? Why are they so often a last-minute add-on to the software you develop?
Microsoft's Azure PowerBI Embedded product lets you capture data, analyse it and present it on dashboards that live within your application - easily.
In this session, I'll take an existing instrumented application, pipe the data into Azure and demonstrate just how easy it is to create a rich dashboard to monitor the application. And I'll show how to use Power BI to get deep insight into your software - and deliver that insight to your users.