Tomasz Pęczek

Information & Communications Technology

.NET ASP .NET Core C# Azure

Kraków, Lesser Poland, Poland

Tomasz Pęczek

Software Developer & Architect • Microsoft MVP

For over 15 years Tomasz has been designing and developing software that powers companies across healthcare, banking, e-learning, and e-discovery industries. His career is centered around app architecture and development, currently with a strong focus on Azure cloud applications.

Tomasz is also an active member and supporter of the open source community, having founded several projects of his own. His commitment to sharing his knowledge and experiences has earned him a Microsoft MVP title in the Developer Technologies category.

When not speaking at community and industry events, Tomasz shares in-depth tutorials and insights on his blog at

Current sessions

Things We Don’t Talk Enough About Before Building Durable Functions Applications

Durable Functions (or Azure Functions in general) are still a new environment for many developers. It's a very different one and comes with its own rules. Meanwhile, developers are creatures of habits and often bring those habits from other types of applications. This can lead to disasters.

I believe that it is because we don't talk enough about the differences of this new environment. We don't talk enough about how mechanisms which we use on daily basis in different environments, can blow up in our hands when blindly reused in functions environment. We also don't talk enough about specialized tools which we are being given to use this environment the right way.

In this talk I want to talk about embracing those differences and rules, so you can build performant and resilient Durable Functions applications. I want to start with some key things you might have already heard something about (like awaiting or HTTP connections management). I want to go into details of patterns for resources and load management. I also want to show you how to achieve resiliency thanks to built-in capabilities (or how to go beyond them when needed).

Improving Performance of Your ASP.NET Core Based Web API With Objects Streaming

You are an ASP.NET Core developer and you've just created a Web API and deployed it to production. Sadly, as time passes, you are starting to receive problems reports. The performance of some responses is not acceptable from the client's perspective. At the same time operations are noticing significant memory consumption for the same responses. It looks like the Web API is processing too much data at once. You did provide paging, so why is this happening?

It looks like paging is not a feasible option for some scenarios. In other cases, utilization of paging has led to chatty communication patterns. You need a different solution and someone mentions streaming.

Can streaming help me? How can it help me? You do initial research, which results in more questions. Will async streaming be enough for me, or maybe I need a structured approach? What are the requirements for clients? Are there any traps?

Tough questions, I know because I've been there. In this talk, I want to share the answers I've found, so you can use them to improve your Web API.

Real-Time Capabilities in ASP.NET Core Web Applications Beyond (Or Besides) SignalR

Today's users attention span is very short, so our applications need to be as real-time as possible. This talk wants to give you the tools to achieve that. As the title suggests, it's not about SignalR (it might be mentioned, but that's all). It will walk through native technologies like WebSockets, Server-Sent Events and Push API based notifications. It will show how to use them, compare them and suggest when to use which by exploring their strong and weak sides.

With Great Power Comes Great Responsibility - Using HTTP/2 Responsibly

The Web is migrating to HTTP/2. It’s not a surprise as it brings new features and performance improvements. But every new technology should be approached with consideration. HTTP/2 is no different.

A lot has been written about new features in HTTP/2 and performance improvements it's bringing, so you have probably read some of it (don't worry if you didn't, there will be a brief recap). But we all know there is nothing for free in IT (and especially Web) world. There are no "no brainers" or "silver bullets". This talk focuses on what to consider to get the most out of HTTP/2 without hurting yourself or your users in the process.

Real-Time Architecture and Practices for Modern ASP.NET Core Web Applications

One of my talks is a low-level talk about real-time technologies in ASP.NET Core. This is not that talk, it's rather its continuation. This talk focuses on patterns, architecture, and solving scalability problems when using WebSockets, Server-Sent Events, SignalR, and Web Push Notifications. It aims at showing you how to design and evolve real-time applications for both on-premise and cloud.

Azure Functions Beyond "Out of The Box" - a Guided Tour of Azure Functions Extensibility

Azure Functions is a key part of Microsoft serverless offering. At its core, it is a compute service, but its real power lies in integration capabilities. A lot has been said and written on how to use build in triggers and bindings to connect with databases, queues, web requests, and third-party APIs. There is however one aspect of Azure Functions which has been neglected - extensibility. This talk will walk you through Azure Functions extensibility with practical examples. It will give you the tools to push its integration capabilities further and get even more from Azure Functions.

Past and future events

Cloud Builders Conf

"Azure Functions Beyond "Out of The Box" - a Guided Tour of Azure Functions Extensibility"
25 Mar 2021 - 26 Mar 2021

AzureDay Poland 2020

"Azure Functions Beyond "Out of The Box" - a Guided Tour of Azure Functions Extensibility"
3 Mar 2020
Warsaw, Mazovia, Poland 2020

"Real-Time Architecture and Practices for Modern ASP.NET Core Web Applications"
29 Feb 2020
Iaşi, Romania

CloudBrew 2019 - A two-day Microsoft Azure event

13 Dec 2019 - 14 Dec 2019
Mechelen, Flanders, Belgium

Øredev 2019

"Real-Time Architecture and Practices for Modern ASP.NET Core Web Applications"
5 Nov 2019 - 8 Nov 2019
Malmö, Skåne, Sweden

.NET DeveloperDays 2019

"Real-Time Architecture and Practices for Modern ASP.NET Core Web Applications"
24 Oct 2019 - 25 Oct 2019
Warsaw, Mazovia, Poland

DevConf 2019

"Azure Functions Beyond "Out of The Box" - a Guided Tour of Azure Functions Extensibility"
25 Sep 2019 - 27 Sep 2019
Kraków, Lesser Poland, Poland

DevConf 2018

"With great power comes great responsibility - using HTTP/2 responsibly"
26 Sep 2018 - 28 Sep 2018
Kraków, Lesser Poland, Poland

Dev# 2018

"Real-time capabilities in ASP.NET Core web applications beyond (or besides) SignalR"
21 Sep 2018
Gdańsk, Pomerania, Poland

4Developers 2018

"Real-time capabilities in ASP.NET Core web applications beyond (or besides) SignalR"
9 Apr 2018
Warsaw, Mazovia, Poland

4Developers 2014

"Bringing order into chaos – Patterns and JavaScript"

"Modern web server architecture in Microsoft Web Stack - Introduction to OWIN and Katana"
7 Apr 2014 - 8 Apr 2014
Warsaw, Mazovia, Poland

4Developers 2013

"Better asynchronous code in JavaScript with jQuery and 'Deferred' pattern"
12 Apr 2013
Warsaw, Mazovia, Poland

Microsoft Technology Summit 2010

"Rich user interface in ASP.NET MVC applications with jQuery plugins"
5 Oct 2010 - 6 Oct 2010
Warsaw, Mazovia, Poland