From 06eadbd77f225a71df45e06a100dfe3a6c4e9e73 Mon Sep 17 00:00:00 2001 From: Robert Lin Date: Fri, 29 Mar 2024 22:03:59 +0900 Subject: [PATCH] core-services: refresh team page --- .../engineering/teams/core-services/index.md | 66 ++++++++++++++++++- .../core-services/managed-services/index.md | 30 +++++++-- .../managed-services/platform.md | 2 + 3 files changed, 89 insertions(+), 9 deletions(-) diff --git a/content/departments/engineering/teams/core-services/index.md b/content/departments/engineering/teams/core-services/index.md index ae90cec881fa..d3ceead7b8fb 100644 --- a/content/departments/engineering/teams/core-services/index.md +++ b/content/departments/engineering/teams/core-services/index.md @@ -1,6 +1,20 @@ # Core Services Team -Proposed [team charter](https://docs.google.com/document/d/1fBUQ0oM5yncXX6nLL0paUsCsM5DdNFIMsVCdsAc8jgE/edit#heading=h.9gynem1vq4vu). +The Sourcegraph Core Services team: + +- Builds tooling and operate infrastructure that enables Sourcegraph Engineers to launch and support their own customer-facing services +- Operates shared/company-wide services + +Our mid-term goals are to: + +- Build robust tooling, infrastructure, and best practices for Sourcegraph-managed services +- Build new services required to make Sourcegraph / Cody successful +- +- Maintain existing services with custom infrastructure, and eventually enable migration to standardised architecture + +For specific, current examples of our work and ownership, see [Ownership areas](#ownership-areas) and [go/whodoinotify, filtering by the "Core Services" team](https://www.appsheet.com/start/24237f2b-0a37-45c8-bd7c-c14d35d2c811?platform=desktop#viewStack%5B0%5D%5Bidentifier%5D%5BType%5D=Control&viewStack%5B0%5D%5Bidentifier%5D%5BName%5D=Services&viewStack%5B0%5D%5BmutableState%5D%5BControlName%5D=Services&viewStack%5B0%5D%5BmutableState%5D%5BRoot%5D=fastTable&viewStack%5B0%5D%5BmutableState%5D%5BDataStamp%5D=2024-03-29T12:36:37.6658472Z&viewStack%5B0%5D%5BmutableState%5D%5BGroupBy%5D%5B0%5D%5BColumn%5D=Service%20Level&viewStack%5B0%5D%5BmutableState%5D%5BGroupBy%5D%5B0%5D%5BOrder%5D=Ascending&viewStack%5B0%5D%5BmutableState%5D%5BUserDefinedFilters%5D%5B0%5D%5B0%5D=attribute&viewStack%5B0%5D%5BmutableState%5D%5BUserDefinedFilters%5D%5B0%5D%5B1%5D=Team&viewStack%5B0%5D%5BmutableState%5D%5BUserDefinedFilters%5D%5B0%5D%5B2%5D%5B7157b796%5D=true&appName=WhoDoINotify-668547298). + +To reach out to us, please use #discuss-core-services. ## Leadership @@ -10,6 +24,52 @@ Proposed [team charter](https://docs.google.com/document/d/1fBUQ0oM5yncXX6nLL0pa {{generator:product_team.ship_core_services}} -## [Managed Services](./managed-services/index.md) +## Ownership areas + +For detailed ownership, see [go/whodoinotify, filtering by the "Core Services" team](https://www.appsheet.com/start/24237f2b-0a37-45c8-bd7c-c14d35d2c811?platform=desktop#viewStack%5B0%5D%5Bidentifier%5D%5BType%5D=Control&viewStack%5B0%5D%5Bidentifier%5D%5BName%5D=Services&viewStack%5B0%5D%5BmutableState%5D%5BControlName%5D=Services&viewStack%5B0%5D%5BmutableState%5D%5BRoot%5D=fastTable&viewStack%5B0%5D%5BmutableState%5D%5BDataStamp%5D=2024-03-29T12:36:37.6658472Z&viewStack%5B0%5D%5BmutableState%5D%5BGroupBy%5D%5B0%5D%5BColumn%5D=Service%20Level&viewStack%5B0%5D%5BmutableState%5D%5BGroupBy%5D%5B0%5D%5BOrder%5D=Ascending&viewStack%5B0%5D%5BmutableState%5D%5BUserDefinedFilters%5D%5B0%5D%5B0%5D=attribute&viewStack%5B0%5D%5BmutableState%5D%5BUserDefinedFilters%5D%5B0%5D%5B1%5D=Team&viewStack%5B0%5D%5BmutableState%5D%5BUserDefinedFilters%5D%5B0%5D%5B2%5D%5B7157b796%5D=true&appName=WhoDoINotify-668547298) + +At a higher level, our core ownership areas include: + +- [Managed Services Platform (MSP)](./managed-services/platform.md) and [Managed Services](./managed-services/index.md) as a whole: + - Tooling to bootstrap and operate new services on cloud infrastructure + - Deployment pipelines, observability tooling for managed services + - Support infrastructure for existing standalone managed services + - API gateway and other API concerns +- [Sourcegraph Accounts (accounts.sourcegraph.com)](./sams/index.md): Sourcegraph-wide and service-to-service authentication +- [Telemetry Gateway](../../managed-services/telemetry-gateway.md): Centralised event/analytics proxies and related SDKs +- [Sourcegraph.com infrastructure](../../dev/process/deployments/instances.md#dotcom): + - [Sourcegraph.com playbooks](../../dev/process/deployments/playbooks.md#sourcegraphcom) + - [Google Front End (GFE)](./google-front-end/index.md) + +## Processes + +### Team planning + +Planning processes align with those used throughout the [Infrastructure org](../../infrastructure/index.md). +[go/ship-okrs](https://www.appsheet.com/start/ce3ca2b6-cf8f-4367-a386-28a3e9856cb9#viewStack%5B0%5D%5Bidentifier%5D%5BType%5D=Control&viewStack%5B0%5D%5Bidentifier%5D%5BName%5D=Welcome) tracks all Infrastructure key results and objectives, including Core Services. +go/ship-okrs also maintains a record of weekly updates towards key results and objectives. + +### Issue tracking + +The team does issue tracking within the [Core Services GitHub project board (go/core-services-board)](https://github.com/orgs/sourcegraph/projects/405/views/1). +This board tracks projects from across the Sourcegraph GitHub organization, as we track issues in several repositories based on relevancy: + +- [`sourcegraph/sourcegraph`](https://github.com/sourcegraph/sourcegraph): issues related to services housed in the monorepo (Telemetry Gateway, Pings, etc.). All Core Services issues in this repository are labelled `team/core-services`. +- Private: [`sourcegraph/managed-services`](https://github.com/sourcegraph/managed-services): issues related to Managed Services Platform (MSP) +- Private: [`sourcegraph/sourcegraph-accounts`](https://github.com/sourcegraph/sourcegraph-accounts): issues related to Sourcegraph Accounts Management System + +How board columns should be used are directly documented in column descriptions within the project board. + +#### Project views + +For key results and objectives derived from [team planning](#team-planning), DRIs are expected to maintain [project views](https://docs.github.com/en/issues/planning-and-tracking-with-projects/customizing-views-in-your-project) within the shared project board with appropriate filters to capture any relevant work (label, "tracked by", and so on). +These views should be prefixed with `KR:`. + +For ad-hoc support with 3 days+ of work, we can choose to create views to track related requests and work, divided by category, for example `Support: Telemetry Gateway`. + +### Recurring meetings + +The Core Services team hosts a weekly team sync, with meeting notes available [here](https://docs.google.com/document/d/1ZJfSZX3VG3TJ5kXoa72SAdV55udnyt7MsILC1HWduw4/edit). +Each week we review [issue tracking](#issue-tracking), discuss technical topics, areas of concern, active cross-team discussions, and do some general bantering. -## [Google Front End (GFE)](./google-front-end/index.md) +If you have something you would like to discuss synchronously with the team, please reach out to #discuss-core-services and we'd be happy to arrange for you join a session. diff --git a/content/departments/engineering/teams/core-services/managed-services/index.md b/content/departments/engineering/teams/core-services/managed-services/index.md index a89c66c4a8a5..90f2968331f0 100644 --- a/content/departments/engineering/teams/core-services/managed-services/index.md +++ b/content/departments/engineering/teams/core-services/managed-services/index.md @@ -1,22 +1,40 @@ -# Managed Services +# Sourcegraph Managed Services -A big part of the Core Services team is developing and maintaining our managed cloud services infrastructure. -Going forward, new managed services - internal and external - should aim to be deployed using [MSP (Managed Services Platform)](./platform.md). +A core part of [Core Services](../index.md) team responsibilities are developing and maintaining our managed cloud services infrastructure. -Guidance for MSP incidents is available in [Managed Services incident response](./incidents.md). +## Managed Services Platform + +The Sourcegraph Managed Services Platform (**MSP**) is the standardized tooling and infrastructure for deploying and operating managed Sourcegraph services. +Going forward, new managed services built by Sourcegraph - internal and external - should aim to be deployed using MSP. +To learn more about, see [the Managed Services Platform page](./platform.md). + +For a complete listing of managed services, see [Managed Services infrastructure](../../../managed-services/index.md). ## [Cody Gateway](../../cody/cody-gateway/index.md) -> [!NOTE] Cody Gateway infrastructure is owned by the Core Services team, but the service is owned by #discuss-cody-services. +> [!NOTE] Only Cody Gateway infrastructure is owned by the Core Services team, but the service is owned by #discuss-cody-services. + +Cody Gateway infrastructure is currently a hand-rolled deployment defined in [`sourcegraph/infrastructure/cody-gateway`](https://github.com/sourcegraph/infrastructure/tree/main/cody-gateway). +This infrastructure setup was a [direct precursor to Managed Services Platform](https://docs.google.com/document/d/1w4ZKg4R05mZGJwGTMBkUWfrFtg4sgwHO4hm-tc0g12w/edit). ## [Pings service](./pings.md) -## [Telemetry Gateway](./telemetry-gateway.md) +> [!NOTE] Only Pings infrastructure is owned by the Core Services team, but the service is owned by #discuss-analytics. + +The Pings service is the service that collects [ping requests](https://docs.sourcegraph.com/admin/pings) from all Sourcegraph instances, and is available at `pings.sourcegraph.com`. + +## [Telemetry Gateway](../../../managed-services/telemetry-gateway.md) + +The Telemetry Gateway service is the service that ingests [telemetry v2 events](https://sourcegraph.com/doc/dev/background-information/telemetry) from all Sourcegraph instances, as well as other managed services. ## [Sourcegraph Accounts Management System](../sams/index.md) +[Sourcegraph Accounts Management System (SAMS)](https://docs.google.com/document/d/16F6uvfM9EknpcuAQQ8kIPOZ9gHo0Lx4lgprw_5sWJEs/edit) is the centralized accounts system for all of the Sourcegraph-operated systems. + ## Sourcergaph.com Google OIDC +> [!WARNING] This has been replaced by [Sourcegraph Accounts Management System](../sams/index.md), which is now the identity provider for Sourcegraph.com logins. + The GCP project that manages our [Google OIDC authentication integration](https://console.cloud.google.com/apis/credentials/oauthclient/394401733494-3ekkk0qr3qvg7b3l1imqcgsh3ej710eq.apps.googleusercontent.com?project=sourcegraph-com-ggl-oidc) ("Sign in with Google") for Sourcergraph.com. We put the integration in a standalone project for a dedicated public-facing [OAuth consent screen](https://console.cloud.google.com/apis/credentials/consent?project=sourcegraph-com-ggl-oidc). > [!NOTE] Please use [Entitle](https://app.entitle.io/request?targetType=resource&duration=10800&justification=Add%20your%20justifications%20here&integrationId=134476cb-0bd6-4c6d-a89f-e1550988bdd7&resourceId=9434ed31-8a2a-425d-a9e7-899b257f3ddf&roleId=5ba5e5cf-53d2-496b-8d25-52b8fc92e637&grantMethodId=5ba5e5cf-53d2-496b-8d25-52b8fc92e637) to request access to this project. diff --git a/content/departments/engineering/teams/core-services/managed-services/platform.md b/content/departments/engineering/teams/core-services/managed-services/platform.md index 902ea58aa54f..953c9cb8334e 100644 --- a/content/departments/engineering/teams/core-services/managed-services/platform.md +++ b/content/departments/engineering/teams/core-services/managed-services/platform.md @@ -5,6 +5,8 @@ MSP takes a service specification and generates Terraform manifests and adjacent By adopting MSP for your managed service, it will benefit from [an expanding set of features and integrations](#features), alignment with infrastructure and security best practices at Sourcegraph, and support from the [Core Services team](../index.md). +For interacting with existing MSP services, see [operating services](#operating-services). + ## Use cases Any "managed service" - internal or customer-facing, for testing or for production - can be operated on Managed Services Platform!