I've been authoring training courses with Pluralsight since 2013, covering a range of topics - mainly Docker, .NET and Azure, but with some architecture, AWS and Linux content too.
This page has an up-to-date list of all my courses, with their current user rating and an excerpt.
Serverless programming is an exciting new computing model, where you live entirely in the code. The big problem is cloud lock-in. Fn Project is different – it’s an open-source serverless framework which runs in containers on your local machine, in the data center, or in any cloud.
In Serverless Programming with Fn Project you'll get up-and-running with Fn. First, you'll learn how to build functions in Go, Node.js, Java, and .NET Core. Then, you'll discover how serverless functions can be used to integrate systems or add functionality to existing systems. Finally, you'll explore how to make functions portable and run them in the cloud.
When you’re finished with this course, you'll have the skills and knowledge of serverless to run functions in your own environment.
Released: 28 May 2019
Docker containers run your apps in lightweight units on cloud or on-prem, but how does data work inside containers?
In Handling Data and Stateful Applications in Docker you will gain the understanding of how to manage application data in containers which can run anywhere.
First you will learn how Docker builds the container filesystem and how you can persist data outside of the container lifecycle. Next you will discover Docker volumes, and the ability to use shared storage with volume plugins. Finally you will explore how Docker itself uses data, and how you can make the best use of your storage by optimizing Docker images.
When you are finished with this course, you will have the skills and knowledge of Docker storage that you need to run stateful applications in containers.
Released: 17 January 2019
Containers are the best way to run new and old server applications, but before you go to production you need to understand a new approach to monitoring - one that works when you have dozens or hundreds of short-lived containers.
This course gives you that understanding. I'll explain how monitoring works in Docker, exposing metrics from your containers and running other containers to collect the metrics and visualize them in a friendly dashboard.
You'll learn how to build three levels of monitoring into your dashboards, so you can see what's happening in your applications, in your containers, and in the Docker platform itself.
I'll be using Java apps in Linux containers and .NET apps in Windows containers, so you'll see how to make monitoring consistent across different technology stacks. And I'll be running on single Docker servers and on Docker swarm, so you'll learn how container monitoring works the same way in every environment.
By the end of the course you’ll understand how to add effective monitoring into your own applications, using industry-standard tools and techniques.
Released: 09 August 2018
Docker swarm mode is a production-grade container orchestrator with built-in features for load-balancing and scaling your applications. In this course you'll learn how to deploy and manage applications in swarm mode for high availability, high performance, and easy scale.
First, you'll learn how load balancing and service discovery works in swarm mode. Then you'll learn how to scale your services and your swarm - with Linux and Windows nodes. Finally, you'll learn how to run multiple applications and maximize the use of your cluster, and how swarm mode supports production maintenance and deployment.
When you’re finished with this course, you will have the skills and knowledge to run performance reliable apps in production with Docker swarm mode.
Released: 23 March 2018
Docker isn't just for greenfield microservices applications, you can take full .NET Framework applications and run them in containers with no code changes. That's a great starting point for modernizing the architecture and moving to the cloud.
In this course you'll learn how to efficiently run .NET applications and create a more modern architecture utilizing Docker. First, you'll discover how to package and run .NET apps in Docker containers on Windows. Then, you'll explore how to evolve the application architecture by breaking features out into separate containers. Finally, you'll delve into taking your modernized app to production on Azure.
By the end of the course, you'll understand how Docker works on Windows and what Docker can do for your existing .NET landscape.
Released: 28 December 2017
Developers love Docker for its simple approach to packaging, distributing, and running applications. The open source Docker ecosystem provides a lot of tools, but before you put container workloads in production you'll want enterprise-grade security, management, and support. Docker Datacenter provides that for multi-node installations of Docker on-premises and in virtual private clouds.
In this course you'll learn about all of the features of Docker Datacenter: the supported Docker Engine, Docker Trusted Registry and Universal Control Plane. First, you'll discover how to digitally sign images. Next, you'll explore how to run and scale container workloads. Then, you'll learn how to use role-based access control to secure Docker components. Finally, you'll cover how to set up Docker Datacenter as a highly available cluster.
By the end of this course, you'll be able to run your own trial of Docker Datacenter.
Released: 6 January 2017
Big Data is an established discipline, and every company can benefit from storing and analyzing large amounts of data to improve their products and services. Hadoop is the key technology in Big Data, but it's too often seen as something which is only for Java and Linux people. This course will teach you how to use this key technology.
First, you'll learn how to bring Hadoop into a Microsoft environment. You'll also discover how to run the services on Windows and create fast, understandable MapReduce queries in .NET using C#. The course takes a proof-of-concept approach, demonstrating how to evaluate Hadoop on Windows with .NET and .NET Core. By the end of the course, you'll be able to start your own Hadoop journey with confidence.
Released: 29 August 2016
Hosting your infrastructure on Azure is a powerful option, but with great power comes a lot of management overhead. In this course you'll learn how to automate IaaS setup, configuration and management on Azure with PowerShell. We look at moving an existing deployment composed of Linux and Windows app servers to the cloud.
We start with a basic deployment, then move on to custom disk images, and automated deployment with PowerShell DSC and Azure Resource Manager templates. The course rounds off with some typical admin tasks, covering security, performance, and monitoring. By the end of this course, you'll be able to manage and host your infrastructure on Azure with ease.
Released: 10 April 2015
HDInsight is Microsoft's managed Big Data stack in the cloud. With Azure you can provision clusters running Storm, HBase, and Hive which can process thousands of events per second, store petabytes of data, and give you a SQL-like interface to query it all. In this course, we'll build out a full solution using the stack and take a deep dive into each of the technologies.
Released: 6 November 2015
The Big Data components of Azure let you build solutions which can process billions of events, using technologies you already know. In this course, we build a real world Big Data solution in two phases, starting with just .NET technologies and then adding Hadoop tools.
Released: 16 June 2015
Ubuntu is a free operating system which you can run on your PC or laptop instead of Windows or OSX. It's fast, safe, easy to use, hugely powerful, and fun. This course starts with the basics: installing Ubuntu, finding your way around, and using more free software to work and play. Then we move on to more advanced topics like using the command line, building software, and using Ubuntu Server locally and in the Cloud.
Released: 26 February 2015
REST APIs are a great way to connect systems together. They are platform-independent and work on simple, well-established standards that are designed to support high performance, massive scale, and secure communication. This course presents a toolset for delivering better REST APIs that give clients what they need, run fast, scale well, and are easy to look after.
Released: 01 December 2014
Acceptance tests prove your solution actually works, and using them to implement executable specifications proves your solution does what it should do. In this course we look at capturing requirements as executable specifications and implementing them as end-to-end tests with SpecFlow.
Released: 27 August 2014
IDisposable is at the heart of .NET. This course will teach you all about implementing and using IDisposable in C#, and show you what goes wrong if you don't use IDisposable, so you know why you need to use it in your solutions.
Released: 30 June 2014
Message queues are a core technology for building fast, reliable systems. This course teaches the fundamental messaging patterns with practical .NET implementations using MSMQ, ZeroMQ, cloud message queues, and WebSphere MQ.
Released: 28 April 2014
Extension methods are a powerful C# feature which are underused and often misunderstood. In this course you’ll learn all you need to know about writing and using extension methods.
Released: 16 December 2013
The Reactive Manifesto describes applications which are responsive, event-driven, scalable and resilient. This course shows you how to design, build, deploy and run Reactive applications in the cloud.
Released: 30 October 2013
Released: 31 July 2013
A comprehensive look at caching throughout the .NET stack, covering WCF, Web API, Web Forms and MVC. You'll learn how and where to add caching, and you'll see the huge performance benefits you can expect.
Released: 27 June 2013