BlogsGitLabApplication Architecture and Team Topology Management

Application Architecture and Team Topology Management

Application Architecture and Team Topology Management

13
posts
2016–2024

GitLab's DevOps platform is adopted by organizations to consolidate toolchains, improve version control, ensure accountability, boost collaboration, establish a single source of truth, and speed up production. This includes enabling teams to work in an Agile setting, accelerating the delivery of software while maintaining high quality, and incorporating feedback from all application stakeholders. The platform's integrated approach reduces the need for multiple tools, streamlines workflows, and enables organizations to adopt modern JavaScript frameworks like Vue.js to write simpler, more efficient code, reducing overall code volume and improving developer productivity.

2024

Navigate application architecture drift and organizational alignment

9/18/2024

This post defines application architecture drift and its relationship with team topologies. It introduces the FINE Analysis (Flow, Impediments, Needs, Effort) as a framework for evaluating and realigning team topologies across the application lifecycle. It details architectural and team topology characteristics for experimentation, production, maintenance, and end-of-support phases, and discusses the trade-offs between simplifying architecture and adjusting team topologies to manage drift.

2023

U.S. Navy Black Pearl: Lessons in championing DevSecOps

12/12/2023

This post details the U.S. Navy's Black Pearl initiative, which consolidates multiple software factories into a single managed DevSecOps cloud environment using the GitLab DevSecOps Platform. It highlights significant improvements in software factory setup time (from 6 months to 3-5 days), cost reduction (10x), enhanced security via Authorization to Operate (ATO), and faster talent onboarding (from 5 weeks to 1 day). The post emphasizes how GitLab provides a 'one-stop shop' for source code management, tasks, documentation, and security scanning, enabling mission owners to focus on CI/CD. Key aspects include establishing a strong development ecosystem, centralizing security and compliance, supporting rapid talent onboarding, and enabling flexibility and innovation through customizable pipelines and tooling.

How global real estate company Lendlease is driving change with GitLab

10/23/2023

This post details how Lendlease is using GitLab's DevSecOps platform to achieve 'radical visibility' across their globally distributed teams, fostering collaboration and sharing security responsibility by pushing security left. They are also integrating legacy code into pipelines by containerizing it and applying modern methodologies. The company is exploring generative AI to accelerate creation and add value to their DevSecOps teams, while being mindful of potential impacts on foundational developer skills.

6 reasons Cisco Learning and Certifications adopted GitLab

9/5/2023

This post details how Cisco Learning and Certifications adopted the GitLab DevSecOps Platform to address challenges in version control, accountability, toolchain consolidation, collaboration, establishing a single source of truth, and speeding up production. It highlights specific benefits such as improved tracking of code modifications, transparent accountability for changes, reduction in the number of integrated tools, enhanced collaboration through a unified platform, and using GitLab as the source of truth for configuration templates and infrastructure as code. The post also touches upon the potential impact of AI on software creation and developer learning, including concerns about intellectual property and the development of fundamental coding skills.

It’s time to really put the Sec in DevSecOps

2/2/2023

This post argues for a fully integrated DevSecOps strategy, moving beyond superficial integrations. It highlights the friction between development and security teams due to differing objectives and incentives, and the ineffectiveness of point solutions. The core technical recommendations include programmatic enforcement of controls via APIs, policy as code, creating a unified view of threats, supporting in-context training for developers, and investing in immutable development artifacts. It positions GitLab's platform as a solution to unify DevSecOps teams and drive these cultural, process, and governance changes.

2022

What are the benefits of a microservices architecture?

9/29/2022

This post details the benefits and disadvantages of a microservices architecture. Benefits include scalability improvements, improved fault isolation, program language and technology agnosticism, simpler deployment, reusability across different areas of business, faster time-to-market, ability to experiment, improved data security, outsourcing flexibility, team optimization, and attractiveness for engineers. Disadvantages include higher upfront costs, crucial interface control, a different kind of complexity in debugging and integration testing, and a comparison to Service-Oriented Architecture (SOA).

5 key organizational models for DevOps teams

3/8/2022

This post introduces and details five DevOps team organizational models based on the "Team Topologies" framework: Dev and Ops co-existing with a DevOps group, Dev and Ops groups on equal footing, a single team with automated ops ("NoOps"), Ops as infrastructure consultants, and DevOps-as-a-service. It also outlines key characteristics of successful DevOps teams (collaboration, communication, autonomy, iteration, empathy) and provides steps for getting started with DevOps (roadmap creation, buy-in, solution selection, automation, monitoring).

2020

What devs need to know about tomorrow’s tech today

10/21/2020

This post discusses the future impact of technologies like edge computing, 5G, and the increasing importance of networking and hardware considerations for software developers. It also touches upon the concept of self-healing code and secrets, and the mainstream adoption of microservices.

2019

How to overcome toolchain security challenges with GitLab

11/20/2019

This post addresses the security challenges posed by complex, integrated toolchains. It highlights how managing numerous tools and manual integrations increases the risk of human error, reduces visibility, and complicates authentication. GitLab is presented as a solution by offering a single application for the entire software delivery lifecycle, integrating security measures like code reviews, static and dynamic application security testing, dependency and container scanning, license compliance, and incident management to mitigate these risks and achieve DevSecOps.

How to manage Agile teams with microservices

8/23/2019

This post details how GitLab Projects and Groups can be used to organize Agile teams, particularly in the context of microservices. It outlines three organizational structures: by system, by product area, and a hybrid approach, explaining how each maps to GitLab's features like Projects, Groups, Milestones, Issues, and Merge Requests. The post also provides a link to a demo and an example application.

2018

Better Developer & Customer Experiences with One Application

9/26/2018

This post highlights the impact of adopting GitLab as a single application for the entire software development lifecycle, specifically mentioning how it reduced feedback loops from two weeks to minutes for Charter Communications. It emphasizes the benefits of having a single place for development, operations, and feedback, enabling quick iterations, shifting left security and testing, and providing immediate feedback on code changes within the merge request UI. The post also touches on the ability to deploy mutually exclusive environments for every branch of code.

2017

How we do Vue: one year later

11/9/2017

This post details GitLab's experience and best practices for using Vue.js one year after adopting it. Key technical contributions include: advocating for VueX for state management in medium to large features, emphasizing the importance of writing high-quality, maintainable, and performant Vue code by following documentation and avoiding unnecessary reactivity; strongly advising against mixing jQuery with Vue.js, proposing server-side data provision as a better alternative for DOM querying; and outlining the structure of a proper Vue app with a single store, service, and entry point, passing server-built URLs via data attributes. Performance improvements are highlighted through the refactoring of issue comments from Haml/jQuery/Rails to Vue.js, leading to faster page loads and reduced jank by addressing issues with event listeners and asynchronous loading.

2016

Why we chose Vue.js

10/20/2016

This post details the decision to adopt Vue.js at GitLab, highlighting its simplicity, ease of use, and the reduction in JavaScript code required for complex tasks compared to jQuery. It provides a simple Codepen example and explains how Vue.js's structure (data and methods objects) leads to less code and more efficient DOM manipulation, specifically citing an example of updating issue states with one line of JavaScript versus 30 lines with jQuery. The post also emphasizes the importance of excellent documentation, community support, and a robust ecosystem for framework success.