Tuesday
Introduction to Kubernetes
Presented by: James Strong
Time: Tuesday 8:00 AM - 12:00 PMIntroduction to Kubernetes is a hands-on, interactive workshop giving attendees a thorough understanding of the fundamentals of Kubernetes. As part of this workshop, you will learn how Kubernetes works, deploy microservices to that cluster & also hear about some war stories.
Room: OrangeTrack: ArchitectureFormat: PreCompilerLevel: Introductory and overviewReactive Extensions Without Marbles
Presented by: Eric Smith
Time: Tuesday 1:00 PM - 5:00 PMReactiveX is an exciting technology that's rapidly becoming pervasive, with implementations in Java, Swift, JavaScript and more. It has use cases from asynchronous calls to UI development, but unfortunately most tutorials and explanations are filled with theory and marble diagrams. Trying to get...
Room: OrangeTrack: ArchitectureFormat: PreCompilerLevel: IntermediateWednesday
Building an educational game with .NET Core and Unity3D (Workshop)
Presented by: Johnny Hooyberghs
Time: Wednesday 8:00 AM - 12:00 PMIf you are waiting for a deep dive into .NET Core, the Microsoft Compiler Platform and Unity3D this workshop is for you! No high-level tech demos, but a real-life application that is used in schools. Building an educational game, with robots fighting to the death, from scratch, will be a blast. This...
Room: ZambeziTrack: ArchitectureFormat: PreCompilerLevel: IntermediatePractical Microservices: Get Hands-on with Event Sourcing and CQRS
Presented by: Ethan Garofolo
Time: Wednesday 1:00 PM - 5:00 PMHave you attempted a microservices architecture and struggled? Have you read about event sourcing and CQRS, but are disappointed to only find high-level descriptions? Want to get hands-on and actually learn these concepts in the context of a functioning system? This workshop does just that. This...
Room: ZambeziTrack: ArchitectureFormat: PreCompilerLevel: AdvancedThursday
What Architecture (The Building Kind) Can Teach Us About Architecture (The Software Kind)
Presented by: Wes Delp
Time: Thursday 8:00 AM - 9:00 AMArchitecture has existed for the better part of human history. Over 2000 years ago, the Roman architect Vitruvius claimed that a good building must be durable, functional, and bring delight. Sounds familiar, right? This session will explore how architectural design concepts such as 'less is more',...
Room: Salon ATrack: ArchitectureFormat: General SessionLevel: Introductory and overviewFull Total World Global Domination: Creating a Geographically Redundant Website.
Presented by: Ryan Miller
Time: Thursday 8:00 AM - 9:00 AMWho doesn't want to dominate the world with a geo-redundant website that is actively served from multiple regions simultaneously and can seamlessly fail over when problems occur? Haven't we been hearing about this for years? The cloud is everywhere now. It's just button clicks, 5 minutes, easy...
Room: Portia/WisteriaTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewGoing crazy with CQRS
Presented by: Seth Kraut
Time: Thursday 9:15 AM - 10:15 AMCQRS stands for Command Query Responsibility Segregation, which doesn’t clarify that much. CQRS is a high performance, event oriented flavor of Domain Driven Design. CQRS challenges our normal conception of design. By separating read and write logic, this architecture unlocks unique possibilities....
Room: Sagewood / ZebrawoodTrack: ArchitectureFormat: General SessionLevel: IntermediateCosmic Full-Stack a Blazor, ML.NET, and CosmosDB Mashup
Presented by: Ed Charbeneau
Time: Thursday 10:30 AM - 11:30 AMAre you ready to count down to liftoff? In this session, we test the limits of the .NET stack in an incredible mission to build BlazePort, a futuristic ride share app for space travel. We'll use a mashup of the latest in .NET technologies: leveraging CosmosDB for data persistence, model travel...
Room: Indigo BayTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewThe Integration Game: How to Pick a Winning Integration Pattern
Presented by: Branden Bellanca
Time: Thursday 10:30 AM - 11:30 AMPoint-to-Point, Hub-and-Spoke, ESB, Remote Process Invocation, batching... so many terms fly around when talking about enterprise integration. How can we best decide which of these is the "right tool for the job"? How can we develop an integration architecture that supports the business's needs,...
Room: Salon ETrack: ArchitectureFormat: General SessionLevel: Introductory and overviewBringing Order to Chaos
Presented by: Scott Connerly
Time: Thursday 11:45 AM - 12:45 PMSo, you find yourself coding in a code base that has some warts. OK, let's be honest, its a steaming pile of gum and toothpicks you're afraid to touch lest it might fall apart. How do you get from there to ... anywhere, let alone viable, architecturally useful, and stable? In this talk, we'll...
Room: NileTrack: ArchitectureFormat: General SessionLevel: IntermediateAPI Gateways and Microservices: 2 peas in a pod
Presented by: Santosh Hari
Time: Thursday 1:00 PM - 2:00 PMChances are you’ve already gone through the tedious process of decomposing your monolith into microservices, or at the very least, want to use microservices in the near future. Nowadays, microservices connect to various APIs. These APIs could differ in protocols (REST/SOAP), where they’re hosted...
Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewMicroservice Patterns - Implemented by Eclipse MicroProfile
Presented by: Ivar Grimstad
Time: Thursday 3:30 PM - 4:30 PMArchitectures based on microservices introduce new challenges for architects and developers. New patterns emerge and existing are updated to be aligned to this relatively new architectural style. This session presents a group of patterns commonly used in microservice-based architectures. Each...
Room: Salon DTrack: ArchitectureFormat: General SessionLevel: AdvancedSay No To Accidental Architecture! Code Your Design Systems Instead
Presented by: Burton Smith
Time: Thursday 3:30 PM - 4:30 PMAre you still rockin' a single "styles.css" file in or project or have styles scattered throughout your project? Do you find yourself fighting to override styles or throw the "!important" property around a lot? Does your project have 20 different kinds of buttons and you don't know why or even where...
Room: Portia/WisteriaTrack: ArchitectureFormat: General SessionLevel: IntermediateVertical Slice Architecture
Presented by: Jimmy Bogard
Time: Thursday 4:45 PM - 5:45 PMMoving from a layered architecture to a vertical slice architecture can be a bit daunting. We remove abstractions, complex structures, and focus building on the axis of change, then what's next? What new structures, patterns, and policies will need to be introduced in this style of architecture? How...
Room: ZambeziTrack: ArchitectureFormat: General SessionLevel: IntermediateBlockchain from the Firehose
Presented by: Jacob Coulter
Time: Thursday 4:45 PM - 5:45 PMTake an in-depth look at Bitcoin, the blockchain that started it all. This session will cover all the pieces required to build a trustless distributed ledger. Learn from the most fundamental building blocks like hashing algorithms, transactions, and blocks, to the more advanced concepts such as...
Room: MangroveTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewFriday
Event processing without breaking production
Presented by: Nathan Zender
Time: Friday 8:30 AM - 9:30 AMTransactional systems are built with the primary focus of processing many concurrent events, only keeping the current state of data. What if I told you there was a way to capture all the events that led to that current state? Capturing all events would allow for deeper analytics/machine learning,...
Room: OrangeTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewContext is King: Finding Service Boundaries
Presented by: Derek Comartin
Time: Friday 9:45 AM - 10:45 AMAre you having trouble defining service boundaries? We know there are benefits in splitting up a complex system, such as more focused models and modular deployments. Defining the correct service boundaries is incredibly important but can be pretty tricky. When defined correctly, the model feels...
Room: NileTrack: ArchitectureFormat: General SessionLevel: IntermediateSerialization for the new micro service landscape
Presented by: Leonardo de Moura Rocha Lima
Time: Friday 9:45 AM - 10:45 AMSerialization is often overlooked when developing backend systems, and this wasn’t (and still isn’t) a problem inside a monolith. But with the developing scene moving towards micro services, serialization becomes really important - how to serialize your data? What aspects do you need to...
Room: Salon ETrack: ArchitectureFormat: General SessionLevel: Introductory and overviewREST in Peace: Killing REST and adopting RPC.
Presented by: Steven Swenson
Time: Friday 11:00 AM - 12:00 PMREST has been the de facto architecture for web APIs for 15 years, and its deficiencies are starting to become quite apparent. It is difficult to document, poor standardization, and lacks common tooling. For developers, this results in extra work when creating or consuming an API. The time has come...
Room: CypressTrack: ArchitectureFormat: General SessionLevel: IntermediateFinding Patterns in the Clouds
Presented by: Steve Smith
Time: Friday 11:00 AM - 12:00 PMCloud computing is quickly becoming the new normal for enterprise software developers. Whether it's more traditional Infrastructure-as-a-Service, container-based deployments, or fully serverless deployments, moving to the cloud offers something for almost every organization. But with it come new...
Room: RosewoodTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewQuantum Computing deep dive
Presented by: Johnny Hooyberghs
Time: Friday 12:15 PM - 1:15 PMYou've probably heard of Quantum Computing, but it still remains a mistery? This deep dive session explains important concepts like qbits, superposition and entanglement. Theoretical knowledge about quantum physics, quantum gates and quantum algorithms will be associated with practical examples...
Room: Indigo BayTrack: ArchitectureFormat: General SessionLevel: AdvancedCalculating Insulin With Automated Carb Counting Using AI, ML and Web Bluetooth
Presented by: Todd Sharp
Time: Friday 12:15 PM - 1:15 PMDiabetes is a disease that affects 400 million people worldwide. Managing the disease means eating a healthy diet, getting routine exercise, monitoring blood sugar levels and administering insulin to manage those levels. The good news is that technology exists to help people manage the disease....
Room: MangroveTrack: ArchitectureFormat: General SessionLevel: Introductory and overview5 Ideas For Writing Better Cloud Native Microservices
Presented by: Todd Sharp
Time: Friday 2:45 PM - 3:45 PMIn theory, microservices are easy. The promise of loosely coupled, scalable services that can each be independently built, tested and deployed sounds amazing, doesn’t it? On top of that, each service can be written in whatever language the development deems appropriate – using their framework of...
Room: CypressTrack: ArchitectureFormat: General SessionLevel: Introductory and overviewThirst-quenching Streams for the Reactive Mind
Presented by: Mary Grygleski
Time: Friday 4:00 PM - 5:00 PMWith the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. Reactive Streams is...
Room: Portia/WisteriaTrack: ArchitectureFormat: General SessionLevel: Intermediate