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

Rockford Lhotka is CTO at Cognizant Softvision, and is the creator of the widely used CSLA .NET open source software 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. For more information go to https://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.


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.


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


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


Hands-On: Learn to Build and Run Cloud-Native .NET Code

In this 2 day hands-on lab you will learn how to design and build cloud-native software, how to deploy the code to containers, and how to run your containers in Docker and Kubernetes (k8s).

Along the way 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 k8s on your local workstation.

Using that infrastructure, you will learn how to build microservices and n-tier services in .NET 5 and apps in Visual Studio using web APIs, and message-based services. The back-end services will follow cloud-native best practices around microservice and message-based/event-based architecture, 12-factor design. You'll learn how to avoid the fallacies of distributed computing, and more.

You will also build a client-side Blazor app that can run on any device with a modern browser. This app will make use of the backend services running in containers.

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


Service-based Software Architecture

Although monolithic architectures are making a comeback, the best way to build distributed software solutions is through the use of service-based architectures. These include microservices, dedicated n-tier services, and related architectural models widely used when building comprehensive solutions. In this session you will learn when to implement a system using microservices, and when to use dedicated services. You will also learn when to use sync vs async communication between system components, and the importance of discipline around messaging protocols within your system and with external consumers.