YouTube video summary

Architecture and Design Trends Report 2024

Technology03 Oct 202416 min summary
Architecture and Design Trends Report 2024

RavenDB and Conference Overviews

  • Raven DB indexes are compiled ahead of time, making queries up to 3,000 times faster at runtime, and it supports distributed transactions, real-time data, and ETL for Kafka and SQL Server 7s.
  • The 10th uncover conference will feature senior practitioners discussing emerging trends and best practices across topics like AI, software architectures, generative AI, platform engineering, and modern software security 28s.
  • The QCon London conference will include a track on connecting systems, with speakers discussing APIs, protocols, and observability, and more information can be found at qconlondon.com 44s.
  • The InfoQ podcast is discussing current trends in software architecture and design for 2024, with a panel consisting of InfoQ editors Ron Steeler, Rafal Gonars, Daniel Bryant, and special guest Blanca Garcia Gil 57s.
  • Ron Steeler is a principal software architect at Luxury Escapes and an InfoQ editor on architecture and design, with 20 years of experience in the field 1m17s.
  • Rafal Gonars is a principal engineer at Starbucks and a relatively new InfoQ editor, having joined the group last year 1m33s.
  • Daniel Bryant is an independent tech consultant, longtime architect, part-time platform engineer, and bit of Dev, who also manages the news at InfoQ 1m55s.
  • Blanca Garcia Gil is an independent data consultant with a background in software and data engineering, and a programming committee member for QCon London 2m10s.

InfoQ Editors and Contributors

  • Thomas Betts is a principal architect at Blackb, the largest software provider for the social good community, and the lead editor at InfoQ for architecture and design 2m24s.
  • The discussion is part of the 2024 Architecture and Design Trends report, which provides a high-level overview of topics that InfoQ readers should be paying attention to that year 2m47s.
  • The report helps the editorial team focus on innovative technologies across all content on InfoQ, and this conversation is just one part of the report 2m51s.

Data-Driven Architectures

  • The discussion will start with data-driven architectures, as they have become increasingly important for architects to consider when designing systems 3m17s.
  • Data is affecting architecture decisions, and architects need to consider various aspects such as machine learning models, analytic models, and big data when making these decisions 3m35s.
  • In the past, data systems were handled separately in organizations, but now architects are thinking more about the data points going through pipelines and microservices, and considering factors such as data security, quality, and downstream consumption 4m17s.
  • Architects are now responsible for handling concerns that used to be handled by separate teams or systems, and there is an expectation for data to be of a certain standard to make good decisions 4m47s.
  • There is also an expectation for systems that hold data for business consumption to be resilient and always available, which was not as important in the past 5m9s.
  • The fact that data is now part of the main workflow and pipeline has led to a shift in priorities, with a focus on instantaneous and always-on systems 5m23s.
  • There is a trend towards more emphasis on data architectures that support machine learning workflows, including training, serving, and model versioning 5m53s.
  • Architects need to be aware of various architectural qualities, including composition, resiliency, observability, and performance, when designing systems that support machine learning workflows 6m22s.
  • Architects need to have knowledge of various tools and concepts, such as data lakes, data warehouses, ETL tools, and data quality tools, and integrate them into their systems 6m38s.
  • It is essential for architects to be aware of data architecture and integrate it into their systems, even if they do not deal with it directly in their day-to-day work 7m1s.
  • Architecture and design trends are shifting to focus on data, with a growing need to address the quality and reliability of data in systems, as well as its integration into primary workflows, requiring architects to be concerned with a broader range of quality attributes 8m20s.
  • Architects are struggling with data architecture, which is still in the process of maturing, unlike software architecture, which has been more established, with data quality and reliability being key challenges 8m11s.

Large Language Models (LLMs) in Architecture

  • The use of event-driven architecture and ETA pipelines are being considered to address data integration challenges, with each approach having its pros and cons 7m20s.
  • Large language models (LLMs) are becoming increasingly relevant to architecture, with potential applications in generating new functionality and building components, but also requiring the collection of data for training and serving models 9m31s.
  • The integration of AI-enabled components into architectures is expected to increase, with architects needing to consider the implications of these technologies on their designs 10m8s.
  • Architects need to be aware of the maturity level of the systems they are working on, identifying areas that require improvement and addressing challenges such as data quality and reliability 8m4s.
  • The trend report highlights the biggest challenge as identifying the thing being worked on and its maturity level, with architects needing to consider the varying degrees of maturity across different aspects of their systems 8m1s.
  • William Gibson's quote "the future is already here, it's just unevenly distributed" is referenced, suggesting that architecture is already present in various forms, but its distribution and maturity vary across different areas 7m39s.
  • Architects are required to have a broader range of knowledge, including data architecture, AI, and ML, to effectively design and integrate systems 8m57s.
  • The architecture of Focus will play a significant role in productionizing emerging technologies, and organizations, engineers, and architects must understand their possibilities and limitations 10m27s.
  • Companies are expected to develop custom Large Language Models (LLMs) to solve specific problems, leveraging open-source frameworks and low-friction training methods 10m43s.
  • Custom LLMs will be used to train on specific data, enabling tailored solutions, such as document history analysis and PDF retrieval, as seen in Microsoft Co-Pilot and other similar tools 11m8s.
  • LLMs will become another tool for architects to use in system design, but not a replacement for human architects, who will continue to make decisions and practice architecture 11m37s.
  • Architects will use LLMs as a "rubber duck" to bounce ideas, ask questions, and validate designs, rather than relying solely on AI for design decisions 11m53s.
  • The discussion around AI replacing developers has subsided, with the understanding that AI is a tool, like Microsoft's Co-Pilot, that assists but does not replace human professionals 12m14s.
  • AI can aid in writing code, such as bash scripts, and can perform 90% of the job, with humans refining and fixing the remaining 10% 12m30s.
  • AI can also help validate architectural designs and ideas, but will not replace human architects in creating the initial designs 12m42s.
  • AI has the potential to enable learning in architecture and engineering by compiling and presenting knowledge, applying established patterns to problems, and capturing and categorizing information 13m9s.
  • The concept of explainability in AI is crucial, allowing users to understand the structure and changes in a codebase, with tools like co-pilot being able to analyze and explain the code in a way that's easy to comprehend 13m45s.
  • This feature is particularly important for large institutions with complex and long-standing codebases that cannot be replaced overnight, making it essential to understand the existing code and its history 14m5s.
  • Trusting AI models is also vital, as they can have biases and provide different outputs based on the input they receive, and it's essential to question and verify the information provided by these models 14m47s.
  • Architects should not rely solely on AI models but instead use them as a tool to aid in their decision-making, remembering that they are still responsible for making the final decisions 15m31s.
  • The concept of "trust but verify" is essential when working with AI models, ensuring that the information provided is accurate and reliable 15m58s.

Cell-Based Architecture

  • Cell-based architecture is a concept where a running system is broken down into independent components or cells, each operating independently and serving requests 16m42s.
  • This architecture allows for greater flexibility and availability, with each cell able to operate as an availability zone on the cloud, a data center, or something else 16m59s.
  • Cell-based architecture is making a resurgence due to its importance in modern system design, with several articles and presentations highlighting its benefits and applications 16m17s.
  • Cloud-based systems, cloud-native microservices, and services have many dependencies and moving parts, making them prone to errors and failures when a request comes in and travels through multiple components 17m28s.
  • Modeling these systems as independent cells can lower the probability of errors, as a cell can continue running and responding to requests even if other cells drop off or have issues 17m13s.
  • This concept is not new and was previously known as the "Bulkhead pattern," but it is making a comeback with the resurgence of cloud-native and complex architecture to reduce errors and improve user experience 17m58s.
  • The Bulkhead pattern was first mentioned in an article from 2012, but it has been researched in the context of cloud computing due to the specific challenges of failures in cloud-based workloads 18m15s.
  • Large companies that cannot afford partial failures have adopted this concept to detect and address failures, which is challenging in cloud-based systems with multiple data centers and interactions 19m10s.
  • Another driving factor for the adoption of this concept is cost-effectiveness, as public cloud providers charge for traffic between availability zones or data centers, and constricting traffic to a single cell can save money 19m37s.
  • The idea of spinning up more servers and services in multiple availability zones or data centers to achieve resilience is not always effective, and good isolation, fault tolerance, and bulkheads are necessary to prevent failures from spreading 20m14s.
  • A cell-based architecture, also known as a bulkhead pattern, can help isolate systems, make them more resilient, and save money by reducing unnecessary traffic, but it requires careful consideration and planning 21m10s.
  • This type of architecture has its advantages, including resiliency, but it also has its complexities, such as defining boundaries and enforcing them, and ensuring a consistent way of routing requests to cells 21m41s.
  • The concept of cell-based architecture is related to the idea of resiliency, which can be achieved through tools like the circuit breaker pattern, and it's not a new idea, but rather a re-evaluation of architecture and a continuous architecture mindset 21m27s.

Modern Architecture and Team Topologies

  • The trend of re-evaluating architecture is also related to the idea of moving from monoliths to microservices and back again, and the use of serverless architecture, and it's essential to constantly evaluate and re-evaluate architecture decisions 22m22s.
  • The modern architecture book by Nick Tune expands system architecture into what is called corporate architecture, which aligns with the idea of agile and DevOps, and it's a natural progression towards achieving better services and products by aligning with desired outcomes 23m8s.
  • The approach promoted by Team Topologist and Nick Tune's architecture modernization book combines data design and other concepts to enable teams to pursue their goals and achieve better outcomes in the marketplace 24m14s.
  • The industry is maturing to provide a framework that brings together product development, architecture, and organizational structuring, which will have a profound impact on the industry by providing good patterns to follow 24m26s.
  • This framework is driving the unification and alignment between technology and business, and provides good patterns and ways of implementing this at the level of companies and business units 25m14s.
  • Architects need to consider how to deploy and integrate software, and platform engineering is a key factor in this, as it influences the architecture chosen and can incentivize or discourage certain design decisions 25m57s.

Platform Engineering and Architecture

  • The platform built influences the architecture chosen, and a symbiotic relationship exists between the platform, application, and infrastructure layers 26m26s.
  • There is a need to learn from architecture and apply principles such as layering, abstractions, coupling, and cohesion to platform engineering 27m5s.
  • The book "Team Topologies" by Matthew and Manuel is mentioned as a valuable resource that has done well in providing patterns for platform engineering 26m14s.
  • The Cloud Native Computing Foundation (CNCF) is working with others to understand how to build better platforms 26m56s.
  • Platform engineering is an area that architects need to consider when building, deploying, and running software 26m0s.
  • Platform engineering is still in its early days, particularly in relation to architecture, and is likely in the innovators stage of the diffusion of innovation curve 27m51s.
  • Many people are adopting platforms or portals, with some using tools like Backstage, but these may not necessarily be full platforms 27m59s.
  • Building platforms and understanding how they influence architecture is an area that is still being explored and developed 28m10s.
  • Platforms are systems that support the building of other systems, and they can have a multiplying effect on the overall architecture and product 28m25s.
  • A bad platform can limit architectural options and make it difficult to support chosen architectures, particularly in terms of deployment, resiliency, and observability 28m38s.

Treating Everything as Code

  • The trend of treating everything as code, including infrastructure and CI/CD pipelines, is becoming more prevalent, with tools like Terraform and Dagger 30m7s.
  • As everything becomes code, software architecture principles start to apply, and architects should be aware of the decisions being made around deployment pipelines and methodologies 30m26s.
  • Architects should not ignore the areas of DevOps and platform engineering, as they are closely related to software architecture and require consideration of principles like coupling, cohesion, and composition 30m51s.
  • The importance of data is highlighted, with data mesh being a key concept, and the idea of treating data as code is discussed 30m56s.
  • The trend in the industry is moving towards combining different backgrounds and expertise, such as data and software architecture, to achieve better results 31m20s.
  • The concept of DevOps is mentioned, and how it brought together software engineers and operations people to solve problems and improve outcomes 31m45s.
  • The idea of breaking down silos and treating the platform as just another piece of code is emphasized, and the importance of collaboration and communication between teams is highlighted 32m6s.

Revisiting Classic Concepts

  • Classic concepts in software engineering and architecture, such as cell-based architecture and domain-driven design, are still relevant and useful today 32m38s.
  • The idea of revisiting old concepts and implementing them with new infrastructure, tools, and technologies is discussed, and the example of microservices and right-sized services is given 33m7s.
  • The importance of architecting systems with cost and scalability in mind is emphasized, and the challenge of building data architectures that can scale without excessive cost is highlighted 33m23s.
  • The need to balance scalability with cost and to avoid over-provisioning is discussed, and the importance of considering the near future and not just the present is emphasized 33m31s.

Fundamentals of System Design

  • When designing systems, it's essential to understand the fundamentals and what is being tried to achieve, considering the actors and interactions between them, without referring to technology choices first 34m2s.
  • People often jump into solutioning and applying well-known patterns without considering the end goal of the initiative, so it's crucial to cover the basics and get the foundational elements right before talking technology choices 34m38s.
  • Decoupling systems, setting boundaries of responsibility, and avoiding designing by hype are key principles to keep in mind when designing systems 35m7s.
  • It's essential to know what's new and modern in technology, but design according to non-functional requirements or quality attributes, and don't design for a hypothetical future scenario if it's not justified by current needs 35m21s.
  • Simple designs that can evolve and modernize over time are often preferred, and it's essential to pay the price for complexity only when justified 35m56s.
  • There are two tracks to learning: staying up-to-date with the latest developments and refining timeless patterns and classics, which are essential for making progress in system design 36m18s.
  • Timeless patterns and classics, such as David Parnas's work on information hiding, coupling, and cohesion, are still relevant today and provide a foundation for building on 36m49s.
  • Progress in system design is often a spiral, building on previous knowledge and experiences, rather than a linear progression 37m7s.
  • Architecture and design trends continually build upon past knowledge, but the direction is not always linear, and it's essential to learn from classic patterns while keeping up with the latest developments 37m23s.

Edge Computing

  • Edge Computing is a topic that involves running code where it makes sense, pushing it to the edge, and can help save costs by distributing resources and running them in the right place 37m45s.
  • The idea of Edge Computing is not new, as it's a recurring concept that has evolved over time, from mainframes to PCs, web-based machines, and back to client-side processing 38m2s.
  • The reason for the swings in architecture and design is the constant change in requirements, and it's essential to reevaluate the reasons behind these changes 38m39s.
  • Platform engineering plays a crucial role in deploying code to customers, and new technologies can make it easier to get code to market faster, with less latency, and more usefulness 38m52s.
  • Good architecture is based on classic, basic understanding, quality attributes, and what is trying to be achieved, and what worked five years ago may not be the right decision today 39m9s.

Sustainability and Green Software

  • Sustainability and the Green Revolution are essential topics in architecture and design, and there is a growing focus on green software, with various tracks and initiatives emerging 39m34s.
  • The importance of sustainability and green software is being recognized, with experts like Adrian Cockroft and others contributing to the discussion and development of sustainable architecture and design practices 39m58s.
  • There are upcoming books on architecture and design that are expected to be released soon, including ones by B and Curry 40m16s.

AI and MLOps Trends

  • In the AI space, there is a lot of hype, but there is a need to see more applied uses of AI beyond generating things from other things 40m29s.
  • There is a trend towards more customized or tuned applications of AI and AI-based products that address specific needs, which is happening in part through the automotive industry 40m46s.
  • The evolution of machine learning and MLOps is expected to continue, with a potential shift towards AI Ops in the next year or two 41m12s.
  • There will be a greater need to incorporate AI into the things being built, and to contend with how to best do so 41m31s.

Privacy Engineering

  • The concept of privacy engineering is becoming increasingly important, which involves incorporating users' private privacy into the architecture of a system 41m47s.
  • Privacy engineering can involve simple things like not logging personal information or storing unnecessary information, as well as more complex topics like anonymizing or aggregating user data 41m53s.
  • Architects need to be aware of privacy engineering and how to protect users' privacy, especially as regulations continue to pile up across the world 42m31s.
  • The InfoQ Architecture and Design Trends Report for 2024 will be available in two parts, with the written report and trends graph available on infoq.com 42m54s.
Made with Recall · in 3 seconds

Get a summary like this for anything you read, watch or save.

Recall summarizes any link you paste, then keeps it in your personal library so you can search, chat with it, and never lose a key idea again.

YouTube videosArticlesPodcastsPDFsAnything else
Save this summary

Then save anything you watch or read next.

Bookmark this summary, then save any video, article or PDF you read next.

Save to your library
Browse all Technology →

Ready to get started?

Save, summarize & chat with your content.

GET STARTED

IT'S FREE

No credit card required · 30 Day Refund on Premium · 24 Hour Support

Recall web app on laptop