Rockford Lhotka

Information & Communications Technology

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

Minneapolis, Minnesota, United States

Rockford Lhotka

Author, OSS creator, CTO

Rockford Lhotka is CTO and Engineering Guild Leader 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 member of the Microsoft Regional Director and MVP programs. 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.


No Silver Bullet: Use the Right Architecture for the Right Problem

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.

You will learn

1. How microservices fits into the history of distributed computing
2. When to use a well-architected monolith vs services
3. When to use n-tier services, microservices, and other architectures


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

In this 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


App Dev Trends in 2021

The year 2021 is an exciting time to be in application development! For example, the continued adoption of container-based deployments has the potential to address decades-long challenges in software development and deployment. WebAssembly has the potential to revolutionize software development for the web, and also for servers, containers, and more. And these are just two of the current trends you'll hear about in this presentation.


Embracing Open Source

In today's world it is virtually impossible to build software without using open source (OSS). Yet most organizations and individuals don't stop to think about the consequences (good and bad) of using OSS, dealing with OSS licenses, or selecting OSS that has long-term viability. Many organizations view OSS as "free", meaning no cost. But that isn't a responsible view for the long term, nor does it fit with the philosophy behind most OSS projects or creators.

In this presentation you will learn how the OSS ecosystem works, and how you as an individual and as an organization can be a responsible and productive member of this ecosystem. As a result, you'll be better able to safely leverage OSS in the short and long term.


A Career With Open Source

Open source (OSS) is inescapable in our industry today, and we are all part of the ecosystem one way or another. We all have a responsibility, as organizations and individuals, to understand our role in the ecosystem, and to actively engage to ensure OSS continues to be available into the future.

Learn how you and your organization can support the OSS ecosystem, what OSS many OSS projects need, and ways to help keep our industry vibrant and healthy into the future.

Rockford Lhotka relied on freeware, shareware, and OSS to build his career, and then became an OSS creator, with the CSLA project (https://cslanet.com) being active for more than 25 years.


DIY - Make A Kubernetes Cluster with Inexpensive Devices

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 low-cost devices such as Raspberry Pi and old laptops, plus a few extra bits of hardware.

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


Building Enterprise Blazor Apps Using CSLA .NET

Blazor is one of the most powerful UI technologies available today, allowing you to write apps that run on a web server, or directly on client devices in any modern browser by using WebAssembly.

An enterprise 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 Blazor can be used to build end-user experiences for the enterprise
2. Learn how CSLA .NET helps you develop maintainable, reusable, cross-platform business logic
3. Learn how to leverage your business logic on the server with Linux containers