Rockford Lhotka

Information & Communications Technology

.net core ASP.NET Core CSLA .NET Docker Kubernetes microservices software architecture

Minneapolis, Minnesota, United States

Rockford Lhotka

Author, OSS contributor, CTO at Magenic

Rockford Lhotka is the CTO of Magenic, and is the creator of the widely used CSLA .NET development framework. He is the author of numerous books, and regularly speaks at major conferences around the world. Rockford is a Microsoft Regional Director and MVP. Magenic (www.magenic.com) helps our clients use technology to fuel business transformation. For more information go to www.lhotka.net.

Current sessions

Cross-Platform Development with Xamarin, C#, and CSLA .NET

You may write your smart client app in UWP, Xamarin, WPF, or even Windows Forms. In any case, your app probably calls back-end services and needs to interact with app servers. Some or all of your business logic may run on the client, the app server, or both. That's ideal for the balance between user interactivity, performance, scalability, and security. The widely-used open source CSLA .NET framework helps you create a reusable, scalable, and cross-platform portable business layer that lets your application run on multiple types of client devices while sharing business logic between the clients and your app server. This session is an end-to-end walkthrough of how this works and how you can benefit.


Cross-Platform C# Using .NET Core, Kubernetes, and WebAssembly

We have entered an era where Microsoft .NET runs everywhere -- on servers and client devices. Windows, macOS, iPhone/iPad, Android, Linux and other platforms are now supported. Increasingly we’re running server-side code in container-based environments such as Docker and Kubernetes. Perhaps even more exciting is the standards-based WebAssembly (wasm) platform, allowing front-end Web development to be done in languages other than JavaScript, including C, C++, Go, Rust and C#. Yes, .NET now runs in the browser using native browser capabilities -- no plug-ins are needed.

In this workshop Rocky and Jason will show you how to build C# and .NET code that runs on Windows, Linux, Docker/Kubernetes, macOS, iOS, Android and in the browser. You'll learn how to leverage .NET Core, .NET Standard (netstandard), Visual Studio, Visual Studio Code, Docker, and many other tools and technologies to build apps and services for each platform. Perhaps more important, you'll learn how to share common code across all these platforms, and techniques for when you need to also leverage platform-specific code."

You will learn:
• How to build C# and .NET code that runs cross-platform on client and server
• How to leverage .NET Standard and .NET Core
• How to share common code across platforms


Running .NET Apps in Docker and Kubernetes

.NET Core made .NET cross-platform, meaning we can run our apps in Linux. A rapidly growing way to host Linux apps on servers is with Docker, and the Kubernetes orchestration tooling. Learn how to create, deploy, and upgrade your .NET app in Docker and K8s.


.NET Developers Love Bash!

You have probably noticed how more server-side code is running on Linux over time. As a .NET developer, it is in your best interest to gain familiarity with Linux, and that means the bash shell. Fortunately there are bash shells for Windows too, so you can use bash on Windows, bash on Linux, bash on Mac. In this session you'll learn how to leverage bash as a .NET developer on Windows and Linux so you are productive across both platforms with one command line tool set.


Hands-On With Cloud-Native .NET Development

"Cloud native" is rapidly becoming the default approach for building all sorts of apps. This term is often synonymous with microservices, containers, and serverless, but really combines those plus other concepts into a unified approach for building continuously delivered apps. In this hands-on workshop, you’ll learn how to build cloud-native systems in .NET Core. You’ll be running microservices in containers, hosted in orchestration technologies such as Kubernetes and Cloud Foundry. Even better, you’ll learn how to make these containers be the output of your continuous integration builds and see how they deploy to private, public, and hybrid clouds. If that wasn’t enough, you’ll also get hands-on experience with async message-based communications, modern configuration approaches, and many other key techniques that differentiate a cloud native app from more traditional architectures. These include the 12 Factors (12factor.net) and 8 Fallacies of Distributed Computing.

Learning points:
1. How to build microservices in .NET Core for containers
2. How to set up a DevOps pipeline so your build output is a container
3. How to architect modern cloud native apps leveraging the 12 Factors and avoiding the 8 Fallacies


Microservice Architecture

It seems like everyone is talking about microservice architectures. In this session you'll learn about the benefits and costs of this architecture, the prerequisites your organization needs to have in place, and how you can implement enterprise systems using microservices and messaging. Demos and code are in .NET Core running on Linux containers in Kubernetes

Learning goals:
1. Costs and benefits of microservice architecture
2. Prerequisites for a microservice implementation
3. How microservices and messaging are related


Two Days of Hands-On Cloud-Native .NET Development

In this 2 day hands-on lab you will learn how to install and interact with Docker on your local workstation and in Microsoft Azure. Building on that, you will learn how to install and use Kubernetes (k8s) on your local workstation. You will learn how to build .NET Core microservices and apps in Visual Studio that run in a k8s environment: web apps, web APIs, and message-based services. Along the way you'll learn numerous cloud-native best practices around microservice and message-based/event-based architecture, 12-factor design, how to avoid the fallacies of distributed computing, and more.

Finally, you'll learn how to use WebAssembly and Blazor to create a smart-client, browser-based app that interacts with your service-based backend system.

Learning goals:
1. How to install Docker and Kubernetes locally
2. How to build .NET Core apps that deploy to k8s
3. How to implement a microservice-based app with a Blazor front-end


Building a Raspberry Pi Kubernetes Cluster

If you are interested in Kubernetes, containers, and want an actual multi-node cluster you can use for learning, it is kind of fun to build your own by using Raspberry Pi devices and a few extra bits of hardware.

Join Rockford Lhotka as he talks about how he assembled a four node cluster, got 64 bit Ubuntu set up, and installed Kubernetes with microk8s, all for less than the cost of a low-end laptop.


Run Your Business Logic Everywhere with Blazor, Containers, and CSLA .NET

You may write your smart client app in UWP, Xamarin, WPF, or even Windows Forms. In any case, your app probably calls back-end services and needs to interact with app servers. Some or all of your business logic may run on the client, the app server, or both. That's ideal for the balance between user interactivity, performance, scalability, and security. The widely-used open source CSLA .NET framework helps you create a reusable, scalable, and cross-platform portable business layer that lets your application run on multiple types of client devices while sharing business logic between the clients and your app server. This session is an end-to-end walkthrough of how this works and how you can benefit.

Learning points:
1. Learn how CSLA .NET helps you develop maintainable, reusable, cross-platform business logic
2. Learn how to leverage your business logic in all modern browsers using Blazor
3. Learn how to leverage your business logic on the server with Linux containers


Building Smart Client SPA Apps with Blazor

Web client (SPA) development has largely stabilized around Angular and React. Now there's a new game in town: WebAssembly.

All evergreen browsers now allow web apps to be coded using JavaScript or WebAssembly or both. WebAssembly offers some interesting benefits when compared to JavaScript, and will likely transform web client development over time.

Blazor is a UI framework designed to enable next-generation web client (SPA) development based on WebAssembly and C#.

In this session you will learn how to build web client SPA apps using Blazor. You'll see how Blazor compares and contrasts to Angular and React, and also how it compares and contrasts to platform-specific smart client UI technologies like UWP, WFP, and Windows Forms.

Learning points:
1. Learn how to build web client SPA apps using Blazor
2. See how Blazor compares and contrasts to Angular and React
3. See how Blazor compares and contrasts to platform-specific smart client UI technologies