26 au 28 février, 2020
Montréal, Canada

Conférence Architecture & Design Patterns 2020

Architecture & Design Patterns What is legacy code? Did I just write more of it? ASP.NET rebooted itself to make it more maintainable and performant. Let's learn to build highly maintainable code as well. We'll look at the low-hanging fruit to get you on a path to avoiding the common pitfalls and reach for the easy wins. You can avoid legacy.
Architecture & Design Patterns Dealing with date and time in code is tricky: units are not multiple of ten, time zones and DST are annoying...

In fact it's much more complicated! Not only do sun and moon influence our calendar system, but also Sumerians, Caesar, Norse gods, tidal rise, the pope, steam engines, and Einstein. Let me entertain you with fun facts about legacy support and leaky abstractions in time, or a fix for a >1500yr old bug with >400yr roll out duration.
Architecture & Design Patterns Google Cloud Run’s use of Knative introduced a portable Serverless solution built on top of Kubernetes. In this talk, we’ll recap the basic guidelines, use cases, and benefits of a Serverless architecture. Getting up and started, you will learn to take advantage of containers and the Ambassador API Gateway to serve event-driven application workloads and save costs using your existing Kubernetes resources.
Architecture & Design Patterns Health data is some of the most private information your app can collect. You have a duty to your users to keep that data private, secure and encrypted. You also need to adhere to strict laws protecting that privacy, while scaling your company.

You'll learn about Protected Health Information (PHI) and how to protect it on Amazon Web Services.
Architecture & Design Patterns We talk a lot about various architectural approaches. Unfortunately, we don't talk as much about the environment in which we apply those techniques - the framework. In this talk I'd like to show you how you can apply virtually any kind of approach - DDD, CQRS, Event Sourcing, Hexagonal Architecture, and many more, virtually everywhere. There are no silver bullets, but with the right approach, we can get pretty close to that goal.
Architecture & Design Patterns Separated layers are one of the fundamental principles of software design. Your framework is just the topmost layer, and your business code should not depend on it. While we will touch a few package design basics, the focus is on how to actually DO it, while still avoiding overengineering and clutter. We’ll also take a look at Deptrac, a tool to visualize layer dependencies during development.
Architecture & Design Patterns The career path to the Architect role is broadly regarded as the "pure" technical way forward, as opposed to leading teams and projects. And that's wrong.
An architect has many responsibilities requiring effective communication and collaboration with practically all other roles in the project team and beyond.
Join me to hear which soft skills I think are most important for an architect to be successful - and how obtaining them can be hacked.
Architecture & Design Patterns Eclipse MicroProfile provides a set of APIs for creating cloud-native microservices. I will start with a blank sheet and build a set of well documented, configurable microservices that communicates with each other in a secure, traceable and fault-tolerant way using implementations from a wide range of vendors.

Learn how to get started with Eclipse MicroProfile to create portable 12-factor microservices in an efficient manner.
Architecture & Design Patterns In the classic paper Data on the Outside versus Data on the Inside Pat Helland argued that data within a service boundary should be treated differently than data residing outside of it.

Here, I shall argue that the same applies to messages. Inside a service boundary messages are tightly coupled to the corresponding data manipulations. Outside, the world is much more hostile and less predictable and communication strategy needs to be adequate.
Architecture & Design Patterns In a distributed system messages sometimes get lost or duplicated. That's a fact of life. It is really hard to execute business logic that assumes one trigger equals one outcome when a trigger can be lost or fire twice.

One way of dealing with the problem is taking advantage of natural idempotency of some operations, e.g. adding element to a set. But let's face it, most code is more complex than that. Join me an explore some alternatives.
Architecture & Design Patterns Three years ago we have started to build a bank. We made some mistakes, one of them was our API.
This talk describes our journey from an improvised anarchistic REST API to a well-documented, typed GraphQL interface. I will touch on technical and cultural aspects which you should consider if you plan to step into our footsteps.
Architecture & Design Patterns In this talk we’ll explore various use-cases for building synchronous vs. asynchronous microservice systems, trade-offs, differences in scalability, availability and observability, and how to identify when we should start planning a migration from one to the other. We’ll talk about asynchronous system patterns like CQRS, Event Sourcing, and Data Busses. And we’ll address how to gradually evolve towards an asynchronous model.
Architecture & Design Patterns Scaling is about more than servers and shards, it's about team communication, exponential complexity, and the problems that only arrive when an app gets large enough to have them. This talk is about some principles and techniques developed specifically for managing the complexity of large front-end web applications at scale, to bring sanity back to your development teams and “performance and polish” to your users.
Architecture & Design Patterns In this talk we’ll explore mechanisms for observing and debugging distributed systems, with an eye towards taking an existing codebase that lacks observability and evolving it over time. In particular, we’ll focus on monitoring and metrics, logging, and distributed tracing tools that let us track transactions which span multiple services and execution contexts.
Architecture & Design Patterns GDPR has brought privacy & security to the fore, but it's not obvious to developers how to make privacy part of everyday development. "privacy by design" has been around since 1995, but is only now receiving the attention it deserves, providing a clear set of principles that can be used to embed privacy into development workflows. Find out how we can use modern frameworks, tools, and automation to build auditable privacy into our applications.
Architecture & Design Patterns Today’s tech news is littered with buzzwords and acronyms like - ML, AI, big data, smart devices, even graph. What does 'graph' actually provide and mean for technology and business in the artificial intelligence or machine learning space? In this session, we will look at what advantages graph brings to existing tech for AI and why graphs can solve more complex problems with less developer pain and expertise.
Architecture & Design Patterns Eclipse MicroProfile provides specifications for the most commonly used microservice patterns. This session presents a group of patterns that will be in explained and demoed live in a down-to-earth and easily understandable way.

Patterns covered include Service per Container, Externalized Configuration, Health Check API, Application Metrics, Circuit Breaker, Access Token, Distributed Tracing.

There will be live coding!
Architecture & Design Patterns The tree is one of the most important data structures available in Computer Science. If you know how to describe a problem using trees, you can significantly improve the speed and quality of the developed solution. In this talk, I'd like to show what kind of problems can be solved with trees and show examples of how I did that in several non-trivial situations.
Architecture & Design Patterns Produire avec confiance une architecture maintenable évoluant naturellement en direction de vos objectifs, les Fitness Functions, SLOs et autres pratiques de développement assurent à chaque commit le respect des caractéristiques que doivent satisfaire votre produit.

Explorez les 156 présentations

Montréal 2020 sponsored by