#Architecture

 Clean Architectures in Python

Architectural considerations are often overlooked by developers or completely delegated to a framework. We should start once again discussing how applications are structured, how components are connected and how to lower coupling between different parts of a system, to avoid creating software that cannot easily be maintained or changed. The ""clean architecture"" model predates Robert Martin, who recently brought it back to the attention of the community, and is a way of structuring applications that leverages layers separation and internal APIs to achieve a very tidy, fully-tested, and loosely coupled system. The talk introduces the main ideas of the architecture, showing how the layers can be implemented in Python, following the content of the book ""Clean Architectures in Python"" edited by Leanpub. The book recently reached 25,000 downloads and many readers found it useful to start learning how to test software and how to structure an application without relying entirely on the framework.

Architecture DDD Python Video

Nov 13 2022

 Workflows, a new abstraction for distributed systems

For the past 45 years, the database systems community has enjoyed an unparalleled developer experience: Database Transactions mitigate challenges such as failure on a platform level, entirely eliminating these challenges on an applications level. Unfortunately, the distributed systems community has not enjoyed a similar developer experience: There was no equivalent abstraction that mitigates challenges like failure on a platform level. However, many companies, including Snap, Uber, and Netflix, are adopting a new paradigm: Workflows. Workflows are to distributed systems what transactions are to databases. This talk explores how Workflow Systems mitigate challenges on a platform level and provide a developer experience for distributed systems that rivals the developer experience for databases, allowing you to literally code as if failure does not even exist!

Abstraction Architecture Design Video

Nov 7 2022

 Event-Driven Architectures Done Right

Far from a controversial choice, Kafka is now a technology developers and architects are adopting with enthusiasm. And it’s often not just a good choice, but a technology enabling meaningful improvements in complex, evolvable systems that need to respond to the world in real time. But surely it's possible to do wrong! In this talk, we'll look at common mistakes in event-driven systems built on top of Kafka: -Deploying Kafka when an event-driven architecture is not the best choice. -Ignoring schema management. Events are the APIs of event-driven systems! -Writing bespoke consumers when stream processing is a better fit. -Using stream processing when you really need a database. -Trivializing the task of elastic scaling in all parts of the system. It's highly likely for medium- and large-scale systems that an event-first perspective is the most helpful one to take, but it's early days, and it's still possible to get this wrong. Come to this talk for a survey of mistakes not to make. Lecture took place on Wednesday 25th August 2021 at 13:30 in Room 1 Tim Berglund is a teacher, author, and technology leader with Confluent, where he serves as the Senior Director of Developer Advocacy. He can frequently be found at speaking at conferences in the United States and all over the world. He is the co-presenter of various training videos on topics ranging from Git to Distributed Systems to Apache Kafka. He tweets as @tlberglund, blogs very occasionally at http://timberglund.com, and lives in Littleton, CO, USA with his wife, their three children having grown up. Topics covered: -What is Event-Driven Architecture -Data Mesh Principles -Scaling -State management

Architecture Best Practices Event Sourcing Video

Jun 10 2022

 A Case for Outside In Design

Software architecture should enable business agility, but often it does not happen because of the mismatch between product design and software architecture. In this talk, Sandro will describe how a software design approach, focused on behavior and also driven by external interactions and business flows, can enable better collaboration between business and technology. This talk shows techniques (used in real projects) to bring product and software design together, at the same time, produce an Agile architecture that is more resilient, focused, and fully aligned to business goals.

Architecture Design Video

Jan 3 2022

 Modeling Uncertainty • Vaughn Vernon

The foundation ideas behind Domain-Driven Design, or DDD, are fundamentally the same as when Eric Evans brought them to our attention through his seminal work. The Bounded Context with its Ubiquitous Language is still of chief importance, along with mapping various Bounded Contexts to form a whole system solution. Even so, what has changed substantially is the computing landscape on which software developers construct and release these solutions. Systems are far more likely to be distributed, especially due to the [...]

Architecture DDD Video

Jun 24 2020

 YOW! Perth 2019 - Gregor Hohpe - Architects live in the first derivative

No organization ever complained that their IT department was delivering too fast. However, as technologies evolve ever more quickly and product cycle times keep shorting, it’s difficult for any development team or IT organization to be fast enough. As these organizations try many things to move faster, from adopting Lean and Devops approaches, moving to the cloud, to working weekends or paying bigger bonuses. Slowly many of them realize that increasing velocity is about more than just moving a bit faster. It takes a fundamentally different mindset – one that looks at the first derivative. This talk takes a fresh look why moving faster isn’t just about speeding things up and dissects both systems and organizational architectures that are built for economies of speed. Gregor is a recognized thought leader on asynchronous messaging and service-oriented architectures. He is widely known as co-author of the seminal book “Enterprise Integration Patterns” and as frequent speaker at conferences around the world. He is an active member of the IEEE Software editorial advisory board. He has documented his experience as an architect driving IT transformation in the eBook "37 Things One Architect Knows".

Architecture Video

Feb 20 2020

 Core Design Principles for Software Developers by Venkat Subramaniam

Writing code is easy. Writing good quality code is an entirely different story. How can we measure the quality of design? How do we know we're doing the right set of things that will lead us to a better design? In this session, we will learn about some core software design principles that help programmers every day. Instead of talking about theory and what we could potentially do, we will take on multiple examples, discuss the solution, pros and cons, and bring out key design principles that have an impact on the outcome.

Architecture Design Video

Feb 14 2016