Attend QCon San Francisco (Oct 24-28) and find practical inspiration from software leaders. Register
Facilitating the Spread of Knowledge and Innovation in Professional Software Development
The 2022 QCon London and QCon Plus tracks featured in-depth technical talks from senior software practitioners covering developer enablement, resilient architectures, modern Java, Machine Learning, WebAssembley, modern data pipelines, the emerging Staff-Plus engineer path, and more.
In this episode, Marco Valtas, technical lead for cleantech and sustainability at ThoughtWorks North America, discusses the Principles of Green Software Engineering. The principles help guide software decisions by considering the environmental impact. The principles are intended for everyone involved in software, and emphasize that sustainability, on its own, is a reason to justify the work.
APIs can tell you everything about your cloud infrastructure, but they're hard to use and work in different ways. What if you could write simple SQL queries that call APIs for you and put results into a database? Steampipe, an open-source project that maps APIs to Postgres foreign tables, makes that dream come true. It's hard enough to reason over data. Acquiring it should be easy, and now it is.
DesignOps is a combination of practices and a mindset that improves design workflow, facilitates designer-developer handoffs, enhances the way products and services are crafted, and enables projects to evolve at a faster pace. Design processes may be more complex, dispersed and chaotic than they should be. There are ways to adapt to digital transformation and establish well-functioning DesignOps
The application environment should be managed centrally by the DevOps team. This allows them to better track modifications and changes which would then be swift and transparent to developer teams.
Learn how cloud architectures help organizations take care of application and cloud security, observability, availability and elasticity. Register Now.
Understand the emerging software trends you should pay attention to. Attend in-person on Oct 24-28, 2022.
Make the right decisions by uncovering how senior software developers at early adopter companies are adopting emerging trends. Register Now.
InfoQ Homepage News The Spotify System Model: Automated Architecture Visualization at Spotify
Spotify engineers recently published how they standardized architecture diagrams at the company. They defined a standard system model named the Spotify Software Model and adapted the C4 model to visualize it. This combination created a shared language used across the organization, which helps communication, aids decision-making, and supports Spotify's software's evolution.
Renato Kalman, senior engineer, and Johan Wallin, engineer at Spotify, explain the motivation for creating this framework:
Architectural diagrams are the bread and butter of software design and a foundational tool for communication and collaboration on software development. At Spotify, we have an incredibly complex network of thousands of interlinked software systems owned by hundreds of teams, so having a simple way to visualize these connections is essential. While capturing all of our software in one large diagram is technically possible, it would be very hard to understand and navigate. We need tools to look at our architecture at different abstraction levels in order to make good design decisions and evolve our software in a sustainable way.
Spotify engineers store metadata about their software components in a software catalogue. To support standard architecture diagrams, they created the Spotify System Model, a set of core entities and abstractions that Spotify engineers can use to synthesize data about their software health, ownership, and dependencies. "We believe that a solid shared understanding and terminology around software and resources empower communication and collaboration, which is essential to success for a company at our scale," say Kalman and Wallin.
The C4 model is a lightweight graphical notation technique for modelling the architecture of software systems, created by Simon Brown. It is based on a structural decomposition of a system into containers and components. At Spotify, the engineers adopted the C4 notation and its best practices. However, they replaced its abstraction layer of contexts, containers and components with the Spotify System Model.
The C4 Model Source: https://c4model.com/
Spotify uses Backstage to store the software catalogue metadata. Backstage is an open-source platform for building developer portals, driven by Spotify and is a CNCF incubation project. Using Backstage's extensibility, they created an Architecture plugin that generates C4 diagrams based on the Spotify System Model metadata stored in Backstage. Kalman and Wallin say that "having the system model available in Backstage has been very helpful for discovery purposes, understanding lifecycles, ownership, and relationships between software components, and automatically producing software visualization diagrams."
Several core entities make up the Spotify System Model. These include APIs representing boundaries between software components, Components representing individual pieces of software, and Resources that are infrastructure needed to operate components at runtime.
Relationship between core entities Source: https://engineering.atspotify.com/2022/07/software-visualization-challenge-accepted/
As their catalogue has grown, those components have become increasingly hard to understand, review, and relate to each other. As a result, they've introduced additional abstractions that help understand the broader software ecosystem. Systems are collections of entities that cooperate to perform some function, and Domains are a collection of Entities and Systems related to a part of the business.
A domain and a system in relation to core entities Source: https://engineering.atspotify.com/2022/07/software-visualization-challenge-accepted
Becoming an editor for InfoQ was one of the best decisions of my career. It has challenged me and helped me grow in so many ways. We'd love to have more people join our team.
Reliable, scalable, secure, and flexible IoT Messaging platform trusted by more than 130 companies across industries. Learn more.
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example
You need to Register an InfoQ account or Login or login to post comments. But there's so much more behind being registered.
Get the most out of the InfoQ experience.
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example
Real-world technical talks. No product pitches. Practical ideas to inspire you and your team. QCon San Francisco - Oct 24-28, In-person. QCon San Francisco brings together the world's most innovative senior software engineers across multiple domains to share their real-world implementation of emerging trends and practices. Uncover emerging software trends and practices to solve your complex engineering challenges, without the product pitches.Save your spot now
InfoQ.com and all content copyright © 2006-2022 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with. Privacy Notice, Terms And Conditions, Cookie Policy