Skip to the content.

Software Architecture Conference 2024

Back to all conferences

Table of Contents

AI & ML

AI Architecture: What Is Possible Today and Future Trends | Software Architecture Conference

This talk explores the current state and future trends of AI architecture, highlighting the limitations of existing AI systems and the advancements in areas like natural language processing, multimodal AI, and agent-based AI. The speaker emphasizes the importance of embracing these evolving technologies, particularly the collaboration between large language models and agent-based AI, to revolutionize problem-solving and create disruptive opportunities for developers and architects.

Keynote: AI and GenAI for the Busy Software Architect | Software Architecture Conference

The keynote explores the exciting potential of AI and generative AI (GenAI) for software architects, highlighting their transformative impact on various aspects of the software development lifecycle, from enhancing personal productivity to improving end-user experiences. The presentation delves into practical applications of GenAI, addressing key considerations such as security, observability, and responsible AI principles, while also providing insights into the evolving skills and techniques required for software architects to thrive in this rapidly changing landscape.

Navigating the Role of Software Architecture in the AI Era Amid Economic Volatility

The talk explores the evolving role of software architecture in the AI era, highlighting the impact of economic volatility on the job market and providing strategies to future-proof one's career. The speaker emphasizes the importance of developing a well-rounded skillset, embracing AI technologies, and maintaining a strong focus on personal well-being, relationships, and passion to navigate the changing landscape successfully.

Architecture

Socio-Technical Engineering and the Role of Roles in Software Projects

This talk explores the concept of socio-technical engineering, which applies systems engineering principles to the complex interplay of social and technical aspects in software projects. The speaker proposes a framework for defining requirements, designing solutions, and troubleshooting issues in these socio-technical systems, emphasizing the importance of understanding the sources of uncertainty and complexity that arise from both technical and social factors.

Keynote: Architecting Cloud Modernization | Software Architecture Conference

This keynote presentation discusses the journey of migrating a legacy on-premises application suite to the cloud, with a focus on architectural considerations, cloud modernization strategies, and the use of various Azure services and tools. The speaker highlights the challenges of consolidating a large number of databases, leveraging cloud-native features like serverless databases and event-driven programming, and the importance of security, monitoring, and infrastructure as code in the cloud migration process.

Renovate to Innovate: Fundamentals of transforming legacy architecture

This talk provides a comprehensive overview of the fundamentals of transforming legacy architecture, covering the definition of legacy systems, the drivers behind their emergence, and a set of guiding principles to ensure the success of technical renovation initiatives. The speaker emphasizes the importance of an evolutionary approach, balancing innovation and renovation, embracing deprecation, and aligning organizational design with architectural decisions to achieve sustainable improvements in software systems.

Understanding Domain-driven Design | Software Architecture Conference

This presentation provides an overview of Domain-Driven Design (DDD), a software development approach that focuses on aligning the implementation with the business domain. The speaker discusses the core concepts of DDD, including ubiquitous language, bounded contexts, and strategic and tactical patterns, and explains how DDD can help teams develop complex software systems that effectively address business requirements.

Effective System Design using CAP theorem | Software Architecture Conference

The video provides an in-depth explanation of the CAP theorem, which is a fundamental concept in distributed system design. It covers the three key principles of the CAP theorem (Consistency, Availability, and Partition Tolerance) and discusses how systems can prioritize these principles based on their specific requirements.

Bootstrapping a Tech Stack Architecting for Agility and Growth in Small Businesses

This presentation explores strategies for small and medium-sized businesses (SMBs) to effectively bootstrap a technology stack that supports agility and growth. It covers the current SMB tech landscape, key factors to consider when selecting technologies, and specific recommendations for frontend, backend, and infrastructure choices, as well as lessons learned from real-world implementations.

Compute

Scaling oilfield production operations workflows using cloud computing

The presentation discusses scaling oilfield production operations workflows using cloud computing. It highlights the challenges of data management, the need for a canonical data model, and the use of temporal storage and advanced calculations to optimize oil production.

Data Quality

Quality AI Requires Quality Data | Software Architecture Conference

This presentation focuses on the importance of data quality in the context of AI and machine learning. It discusses various strategies for maintaining data quality, such as validating data at the source, checking for changes and edge cases, and ensuring metadata integrity, to prevent issues from propagating through the data lifecycle and adversely impacting AI models and their outputs.

Developer Experience

Speedy Microservices: Build and Deploy in 30 min with Copilot & Devprime

This presentation showcases the Dev Prime platform, a comprehensive solution for building and deploying microservices and event-driven applications in a fast and efficient manner. The platform provides pre-built features and patterns, enabling developers to focus on the domain and business logic, while the platform handles the technical complexities such as resilience, observability, and scalability.

Enhancing Microservices with Kafka: A Distributed Messaging Solution

This presentation covers the benefits of using Apache Kafka, a distributed messaging system, to enhance microservices architecture. It discusses the challenges of monolithic applications, the advantages of microservices, and how Kafka's features, such as partitions, replication, and scalability, can address the communication and integration needs of a microservices-based system.

Domain-first GraphQL API platforms for your .Net stack | Software Architecture Conference

This talk discusses the evolution of GraphQL API platforms, highlighting the move from schema-first to code-first and domain-first approaches. The speaker demonstrates a domain-first approach using a tool that generates a GraphQL API directly from a database schema, showcasing how this can simplify the development of a unified API layer across multiple data sources.

A New Era of .NET Development with MongoDB | Software Architecture Conference

This talk explores the seamless integration of MongoDB, a flexible and scalable document database, with the popular .NET development ecosystem, particularly focusing on the newly introduced MongoDB EF Core provider. The speaker highlights the key benefits of this integration, including the ability to leverage familiar APIs, query paradigms, and design patterns, as well as the flexibility of cloud vendor choice and access to advanced MongoDB features through the .NET driver.

Hacking MySQL for Big Data | Software Architecture Conference

This talk explores the challenges of working with big data in MySQL, including optimizing server parameters, indexing, and efficient backup strategies. The speaker also highlights potential bugs and issues that can arise when dealing with large datasets in MySQL, providing practical solutions and insights for developers and database administrators.

KISS - Keep It Simple Stupid | Software Architecture Conference

The talk emphasizes the importance of simplicity, planning, and problem-solving over excessive code writing in software development. It highlights the benefits of understanding requirements, evaluating multiple frameworks, and leveraging out-of-the-box solutions to deliver effective and maintainable applications.

Events: Love Triangle in Integration Testing | Software Architecture Conference

This talk explores the challenges of integration testing in an event-driven architecture, where traditional HTTP-based testing approaches are not suitable. The speaker presents a comprehensive solution using a combination of tools like TestContainers, Karate, and Res Hat to create isolated, language-agnostic integration tests that validate the entire system, including database interactions and event handling.

RAG-atouille | Software Architecture Conference

The talk provides an in-depth overview of the Retrieval Augmented Generation (RAG) architecture, a new approach in the AI and software architecture space. The speaker discusses the nuances of RAG, drawing parallels to the movie 'Ratatouille', and covers various aspects such as data ingestion, retrieval, augmentation, and generation, as well as advanced RAG patterns and use cases.

Best practices in building Cloud distributed systems | Software Architecture Conference

This talk covers best practices for building cloud-based distributed systems, including service discovery, load balancing, distributed tracing, and service monitoring. It also explores common design patterns like ambassador, circuit breaker, and CQRS, as well as different types of distributed systems and their trade-offs in the context of cloud deployments.

Simplify Your Cloud-Native Development With .NET Aspire | Software Architecture Conference

This session provides an overview of how .NET Aspire can simplify cloud-native development by addressing common challenges such as infrastructure management, scalability, and observability. The presentation covers the key principles of cloud-native architecture, the features and benefits of .NET Aspire, and a live demonstration of how to build and deploy a cloud-native application using the .NET Aspire platform.

Data Engineering in Microsoft Fabric | Software Architecture Conference

The video provides a comprehensive overview of the data engineering capabilities within Microsoft Fabric, a platform for building and managing data-driven applications. It covers key features such as the Lakehouse, Spark notebooks, data pipelines, and the Fabric runtime, highlighting how these tools can help address common data engineering challenges faced by organizations.

Building a Native App for Windows: Which UI Framework Should You Choose?

This presentation explores the various UI frameworks available for building native Windows applications, including Windows Forms, WPF, and the Windows App SDK (WinUI 3). The speaker discusses the advantages, drawbacks, and key features of each framework, providing guidance on how to choose the best option based on factors such as programming language, design preferences, and long-term support.

Yet another framework? | Software Architecture Conference

This presentation introduces a new web framework called 'Pro' that aims to significantly improve upon existing frameworks like Ruby on Rails. The framework focuses on providing a more efficient, modular, and customizable architecture that enables developers to build complex web applications with less code and better performance.

Navigating Front-End Complexity: A Blueprint for Loosely Coupled Systems

This talk explores strategies for managing front-end complexity, including the use of Atomic Design, Functional Atomic CSS, separation of presentation and business logic, and isolated testing. The speaker shares personal experiences and insights on how these approaches can help create more modular, maintainable, and testable front-end applications.

Crafting Resilient Integration Solutions | Software Architecture Conference

This talk explores the evolution of integration solutions, from point-to-point to centralized brokers and finally to the more resilient Enterprise Service Bus (ESB) architecture. It delves into key integration patterns, such as the Aggregator, Message Channel, Publish-Subscribe Channel, and Process Manager, demonstrating how they can be implemented using tools like Mule ESB to build robust, scalable, and fault-tolerant integration solutions.

Architectural Design Patterns for Applications Leveraging LLMs | Software Architecture Conference

The talk discusses architectural design patterns for leveraging large language models (LLMs) in applications. It covers various prompt engineering techniques, including zero-shot prompts, instruction prompting, and role-playing, as well as the use of LLMs for natural language to code translation and vector-based search, culminating in the presentation of a robust retrieval-augmented generation (RAG) application that combines these approaches.

Observability

Simplifying Multi-Cloud Observability | Software Architecture Conference

This talk explores the growing trend of multi-cloud architecture and the complexities it introduces for observability. The speaker presents open-source tools like OpenTelemetry as a vendor-agnostic solution to simplify the observability pipeline across multiple cloud providers, enabling a unified and streamlined experience for developers and operations teams.

What Developers Should Know about Observability | Software Architecture Conference

This talk provides a comprehensive overview of observability, emphasizing the importance of using multiple data sources (logs, metrics, traces, and profiles) to gain actionable insights about system performance and identify issues. The speaker highlights the challenges of observability and presents an approach using an open-source platform that automates the analysis of telemetry data to surface the most critical problems.

Architecting for Observability in iOS Applications: Building Resilient and Measurable Systems

This talk explores how to build observability into iOS applications, enabling teams to quickly identify and resolve issues before they become critical. The speaker discusses strategies for collecting and analyzing logs, metrics, and other data to gain real-time insights into application performance and stability, ultimately improving the user experience.

Software Architecture

Why does the big ball of mud keep happening and how to stop it | Software Architecture Conference

This presentation discusses the problem of the 'big ball of mud' in software architecture, where a project's codebase becomes highly coupled and difficult to maintain. It outlines various metrics and techniques to detect, analyze, and address this issue, emphasizing the importance of enforcing architectural boundaries and using tools to monitor and improve the structural quality of the codebase.