Speaker

Tomasz Pęczek

Tomasz Pęczek

Staff+ Engineer • Software Architecture Facilitator • Microsoft MVP

Kraków, Poland

With almost 20 years of experience in architecture and software engineering, Tomasz is a seasoned staff+ engineer dedicated to crafting solutions that power companies across various sectors including healthcare, banking, e-learning, and e-discovery.

Throughout his career, Tomasz has transitioned between developer, architect, and consultant roles. Over the past few years, his primary focus has been on leveraging Azure to facilitate cloud adoption and building solutions tailored to meet the true needs of his clients.

Tomasz is also an active member and supporter of the open-source community, having founded several projects of his own. He also participates in the community through speaking engagements at conferences and user groups, where he shares his insights and expertise. Additionally, he shares in-depth technical articles and tutorials on his blog at tpeczek.com. His commitment to sharing his knowledge and experiences has earned him a Microsoft MVP title in the Developer Technologies category.

Awards

Area of Expertise

  • Information & Communications Technology

Topics

  • Cloud Architecture
  • Software Architecture
  • DevOps
  • Web Development
  • Azure
  • .NET
  • C#

Sessions

Peeking Under the Hood of Azure Functions - Triggers and Bindings Anatomy en pl

"Any sufficiently advanced technology is indistinguishable from magic." Azure Functions is quite an advanced technology. As a result, it's often treated as magic. But from an engineering perspective, treating technology as magic often backfires.

I've been building solutions based on Azure Functions since v2 has been released. I've used them the right way. I've used them the wrong way. I've integrated them with technologies that they weren't out-of-the-box ready to be integrated with. I did encounter challenges, and whenever I did, I used one of the best pieces of advice in software engineering - "always understand at least one layer of abstraction below the one you're working at". This approach allowed me to gain knowledge and understanding of Azure Functions.

In this talk, I want to share some of that knowledge and understanding with you. I want to show you the anatomy of Azure Functions triggers and bindings. It's the triggers and bindings that define the boundary between your business code and the runtime. They impact how your solution is scaling and how it handles parallel processing. This is why I believe it's valuable for you not only if you are looking to integrate Azure Functions with additional technologies, but whenever you are building function apps.

Zaglądamy Azure Functions pod maskę - anatomia triggerów i powiązań en pl

"Każda wystarczająco zaawansowana technologia jest nieodróżnialna od magii." Azure Functions to całkiem zaawansowana technologia. W efekcie, często traktowana jest jak magia. Niestety, z inżynierskiego punktu widzenia, traktowanie technologii jak magii może mieć negatywne konsekwencje.

Buduję rozwiązania oparte o Azure Functions od kiedy wyszła wersja druga. Używałem ich w sposób właściwy. Używałem ich w sposób niewłaściwy. Integrowałem je z technologiami z którymi nie były domyślnie gotowe do integracji. Napotykałem wyzwania i zawsze w takiej sytuacji przypominałem sobie jedną z najlepszych rad w naszej branży - "zawsze zrozum co najmniej jedną warstwę abstrakcji poniżej tej, nad którą pracujesz". To podejście pozwoliło mi zdobyć wiedzę i lepiej zrozumieć Azure Functions.

W tej prelekcji pragnę podzielić się z Wami częścią tej wiedzy. Chcę Wam pokazać anatomię triggerów i powiązań. To triggery i powiązania definiują granicę pomiędzy kodem biznesowym a środowiskiem. Mają wpływ na to jak Wasze rozwiązanie się skaluje i jak radzi sobie z równoległym przetwarzaniem. Dlatego wierzę, że ta wiedza jest wartościowa nie tylko dla tych, którzy chcą zintegrować Azure Functions z nowymi technologiami, ale dla każdego kto buduje rozwiązania oparte o Azure Functions.

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

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.

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

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.

Implementing DevOps Practices for Azure Infrastructure en

We've been talking about DevOps for over a decade now. Most likely you have been at least once in a situation where the CTO would announce that "we are moving to DevOps culture" or "we need to adopt DevOps". Still, the adoption often remains tricky. Consultants come, overload it with organisational problems, and the implementation ends with anemic pipelines (especially in areas different than the application code).

In this talk, I've gathered practical experience from implementing DevOps practices for Azure infrastructure. Join me and we will go through continuous integration, delivery, deployment, testing, operations, and monitoring practices to build an opinionated DevOps pipeline. You will see practical examples that bring together tools and services from Azure and GitHub space to provide capabilities that bring DevOps cultural philosophies to life.

Exposing and Consuming RESTful Streaming APIs With .NET en

RESTful APIs are the most common type of APIs. Larger and larger amounts of data are being transferred over them, and it leads to problems. Almost every API developer heard that users were getting irritated when waiting for data to show up or had to deal with high resource consumption (e.g. memory).

I've been there. I was building APIs for SaaS products which were serving a lot of data under heavy load. And probably as the majority of developers, I was solving those problems through a compromise solution - paging. But in pursuit of a better solution, I've learned that there is an alternative. A mechanism that we often use in our backend code can be also exposed through a RESTful API - streaming.

Join me and learn how you can expose and consume your objects through RESTful Streaming APIs. You will see what are the differences between doing it on a connection level and using a dedicated format. You will also learn when not to do it.

Warsaw .NET User Group #169 Upcoming

"Peeking Under the Hood of Azure Functions - Triggers and Bindings Anatomy"

March 2024 Warsaw, Poland

MS Tech Summit 2023

"Applying the Essence of GitOps to Azure - DevOps Practices for Your Infrastructure"

May 2023 Warsaw, Poland

Cloud Builders Conf

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

March 2021

AzureDay Poland 2020

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

March 2020 Warsaw, Poland

dotnetdays.ro 2020

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

February 2020 Iaşi, Romania

CloudBrew 2019 - A two-day Microsoft Azure event Sessionize Event

December 2019 Mechelen, Belgium

Øredev 2019

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

November 2019 Malmö, Sweden

.NET DeveloperDays 2019

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

October 2019 Warsaw, Poland

DevConf 2019

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

September 2019 Kraków, Poland

DevConf 2018

"With great power comes great responsibility - using HTTP/2 responsibly"

September 2018 Kraków, Poland

Dev# 2018

"Real-time capabilities in ASP.NET Core web applications beyond (or besides) SignalR"

September 2018 Gdańsk, Poland

4Developers 2018

"Real-time capabilities in ASP.NET Core web applications beyond (or besides) SignalR"

April 2018 Warsaw, Poland

4Developers 2014

"Bringing order into chaos – Patterns and JavaScript"

"Modern web server architecture in Microsoft Web Stack - Introduction to OWIN and Katana"

April 2014 Warsaw, Poland

4Developers 2013

"Better asynchronous code in JavaScript with jQuery and 'Deferred' pattern"

April 2013 Warsaw, Poland

Microsoft Technology Summit 2010

"Rich user interface in ASP.NET MVC applications with jQuery plugins"

October 2010 Warsaw, Poland

Tomasz Pęczek

Staff+ Engineer • Software Architecture Facilitator • Microsoft MVP

Kraków, Poland