내부 개발자 도구
1) 개발자 플랫폼 역할 및 책임 (IDP)
내부 개발자 플랫폼은 일반적인 엔지니어링 작업을 균일 한 도구로 다루는 "셀프 서비스" 계층입니다
빠른 시작 (서비스 템플릿, API 스켈레톤, 파이프 라인);
예측 가능한 조립/테스트/배포;
비밀, 종속성 및 인공물의 안전한 관리
기본 관찰 가능성 (로그/메트릭/트레일)
공급자의 테스트 데이터, mocs 및 샌드 박스에 액세스;
일반적인 시나리오에 대한 문서 및 "골든 경로".
목표는인지 부하, Time-to-First-PR 및 Lead Time for Changes를 줄이고 릴리스 신뢰성 및 규정 준수를 향상시키는 것입니다.
2) DX 설계 원칙 (개발자 eXperience)
구성에 대한 협약: 표준은 수동 설정보다 중요합니다.
황금 길: 80% 의 사례를 다루는 최소 "기본" 솔루션 세트.
코드로서의 모든 것: Git의 파이프 라인, 인프라, 대시 보드, 정치인.
기본값: SAST/DAST, SBOM, 아티팩트 서명, 종속성 정책.
관찰 우선: 서비스 및 도구는 자동으로 원격 측정을 방출합니다.
환경의 이동성: 로컬 = CI = 스테이지 = prod (가능한 한).
몇 분 안에 피드백: 빠른 테스트, 린트, 미리보기 환경, PR 상태.
3) 플랫폼 아키텍처 및 주요 구성 요소
DevPortal: 서비스, 템플릿, 문서, 플랫폼 상태, "원 클릭" 파이프 라인 및 환경 디렉토리.
CLI/skeletizer: 단일 스택 (로깅, 건강, OpenAPI/프로토, 관찰 가능) 이있는 서비스/기능/작업 생성.
캐싱, 증분 조립, 결정 론적 아티팩트: 빌드 시스템 및 모노 레포 도구.
CI/CD 블로우 프린트: 서비스를위한 표준 파이프 라인 (단위, 계약, 통합, e2e, 보안 분석, 배포).
테스트 윤곽: 테스트 컨테이너/로컬 샌드 박스 공급자, 일반 데이터 공장 및 비품.
상자에서 관찰 가능성: 하나의 모듈을 통한 OTel/Prometheus/logger 연결.
비밀 관리: KMS/HSM과의 통합, 회전, 액세스 정책.
Ficheflags/실험: 프로그레시브 롤링을위한 SDK 및 콘솔.
4) DevPortal: 중앙 진입 점
기능성:- 서비스/라이브러리/체계 디렉토리 (소유자, SLA, 버전, 취약점);
- 템플릿별로 "서비스 만들기" 버튼 (파이프 라인 및 경고와 함께 즉시);
- 문서 (코드 스타일 표준, 릴리스 가이드, 사건 플레이 북);
- 플랫폼 서비스의 상태, 용량, 변경 (변경);
- 런북과 골든 경로: "종점을 추가하는 방법", "마이그레이션을 시작하는 방법", "공급자를 연결하는 방법".
5) CLI 및 템플릿 (skeletizer)
템플릿은 다음과 같습니
건강 검진 ,/메트릭 ,/준비된 REST/gRPC/GraphQL 서비스 프레임 워크;
준비된 미들웨어: 상관 관계, 인증, 속도 제한 요청;
CI에 대한 OpenAPI/프로토 오토 겐 + 검사 회로;
모듈 식 로거, 추적, 지표;
도커 파일 + 는 지역 개발을 위해 작성됩니다.
라인터/포머터/프리 추 코프의 기본 테스트 및 구성.
- '새로운 서비스-이름 지불-api-stack go-grpc-db postgres-이벤트 kafka-템플릿 v2'
6) 지역 개발 및 원격 환경
Dev Containers/Codespaces-analogue: 모든 사람을위한 동일한 환경, 빠른 온 보딩.
도커 컴포지 + 테스트 컨테이너: DB/캐시/버스는 하나의 명령으로 로컬로 들어 올려집니다.
Kubernetes 클러스터 "dev로 실시간 재부팅을 위해 Tilt/Skaffold.
원격 데브: 리소스 집약적 인 빌드/테스트는 전용 풀에서 실행됩니다.
좋은 관행
도구 버전을위한 단일 '.tool-versions '/lockfiles;
만들기/그냥 받아주세요: '테스트 만들기', '런 로컬 만들기', '씨앗 만들기';
'dotenv' 와 개발자 역할을하는 비밀 제공 업체를 통한 지역 비밀.
7) 체계 및 계약 관리
호환성 정책이있는 스키마 등록 소 (JSON/Avro/Proto);
CI의 필수 작업으로 계약 테스트 (Pact/Buf);
API 버전 지정 (SemVer), 듀얼 버전 지원, 자동 SDK 생성;
데이터베이스 마이그레이션 (마이그레이션/플라이웨이/리퀴베이스) - 파이프 라인의 표준화 된 단계.
8) 피라미드 및 데이터 테스트
단위 테스트: 중요한 논리를 다루기위한 빠르고 병렬적인 바인딩.
계약 테스트: 소비자 애플리케이션/이벤트 제공 업체.
통합: 컨테이너에 실제 종속성이 있습니다.
E2E: 최소한이지만 대표적인 초안 세트.
테스트 데이터: 공장/수정, PII가없는 합성, 환경 측면; DB 스냅 샷-비인간적입니다.
9) CI/CD: 표준화 된 파이프 라인
이정표 (기본값):1. 린/형식/라이센스/SBOM 생성.
2. SAST (정적 분석) + 종속성 정책 차단 "기준".
3. 단위 → 계약 → 아티팩트 및 보고서와 통합 → E2E.
4. 결정 론적 이미지, 서명 (sigstore/cosign) 을 빌드하고 레지스트리로 푸시하십시오.
5. 배포:- PR 당 기능 -env/미리보기 IM;
- 무대에서 카나리아/청록색;
- ficheflag/traffic를 통한 점진적인 생산 릴리스;
6. 배포 후 점검: 경고, 오류 예산, 열화 중 자동 포장.
10) 관찰 및 로컬 데백
모듈 "원격 측정 스타터": OTel SDK, 수출 업체, 상관 관계 'trace _ id';
대시 보드 코드: 대시 보드 및 경고는 Git에 설명되어 있습니다.
추적 기반 개발: 로컬 및 미리보기 스탠드에서 프로파일 링 요청;
구조화 된 로그 (JSON), PII 방지, 민감한 필드 마스킹.
11) 코드 품질 및 검토
단일 린터/포머터 및 사전 설정 (언어 별);
사전 커밋 후크 (린트/소량 테스트);
주요 아티팩트 (체계, 이주, 정책) 에 대한 코드 소유자 및 필수 검토;
PR 체크리스트: "무엇이 바뀌 었습니까?", "보안?", "이전 호환성?", "이주? ».
12) 안전한 개발 (SSDL) 및 공급망
SCA (종속성 분석) 및 허용량 출처;
아티팩트 유형별 SAST/DAST/IAST;
각 빌드에 대한 SBOM, 아티팩트 리포지토리에 저장;
이미지 서명, 증명 (SLSA 레벨)
비밀 정책: Git, 로테이션, 임시 크레딧의 비밀이 없습니다.
인프라 PR을위한 OPA/Conftest (Policy-as-Code).
13) Ficheflags, 실험 및 미리보기 환경
템플릿에서 phicheflags의 SDK, 구분: ops-flags vs product;
프로그레시브 롤링 (1% → 25% → 100%), 빠른 컨볼 루션;
각 PR 미리보기 환경 (고유 한 IM, 추적, 테스트 데이터), 병합/닫기 후 자동 제거.
14) 봇과 자동화
/ 배포 ,/롤백 ,/로그 ,/런북을위한 콘봇;
버그 추적기의 자동 라벨 및 자동 제거;
티켓 템플릿 (사고, 변경, RFC)
버치 및 그린 브랜치로 종속성을 자동으로 업데이트합니다.
15) 문서와 훈련
진실의 원천으로서 "실시간" 얼룩 (OpenAPI/Proto);
Git의 자동 출판, 공통 템플릿을 통한 기술 노트/RFC;
비디오 데모 "10 분 안에 프로젝트를 시작하는 방법";
단계별 스크립트가있는 DevPortal 샌드 박스.
16) 성능 측정 항목 (DORA/SPACE)
DORA: 리드 타임, 배치 빈도, MTTR, 실패율 변경;
SPACE: 만족, 성과, 활동, 커뮤니케이션;
분기 목표: NON 리드 타임이 30% 감소하고 있습니다. chastota가 출시되었습니다. vremya가 N 시간에 탑승했습니다.
17) 액세스 제어 및 멀티 테넌시
엔지니어링 프로파일 역할 (개발, 리뷰어, 통신, 플랫폼)
환경 정책: 개발/단계/prod에 고갈 될 수있는 사람;
미리보기/기능 분기에 대한 개별 할당량/제한 및 네임 스페이스 격리.
18) 데이터 및 분석 도구
지역 이벤트 읽기 프로필 (Kafka/NATS) 및 재생
합성 생성기 및 덤프 익명화 기;
서비스 품질 지표 및 릴리스를 분석하기위한 랩톱/임시 스크립트.
19) 구현 로드맵
M0-M1 (MVP): DevPortal, 서비스 템플릿, 기본 CI (lint + 단위 + 빌드), 개발 컨테이너를 통한 로컬 어셈블리, 로깅/메트릭.
M2-M3: 계약 테스트, 미리보기 환경, 테스트 컨테이너와의 통합 테스트, SAST/SCA, SBOM.
M4-M6: phicheflags, 프로그레시브 롤아웃, 코드로서의 대시 보드, 코드 정책, 원격 개발 풀, SDK 오토 겐.
M6 +: 릴리스 오케스트레이션, 원 버튼 경험, 내부 구성 요소/라이브러리 쇼케이스, DevPortal의 DORA/SPACE 메트릭.
20) 플랫폼 만기 점검표 (발췌)
- 원 클릭 서비스를 만들면 메트릭/로그/트랙이있는 작업 프레임 워크가 제공됩니다.
- 각 PR마다 미리보기 환경이 자동으로 상승합니다.
- 테스트 계약은 필수이며 호환되지 않는 변경 사항을 차단합
- 각 빌드마다 SBOM이 게시되고 이미지가 서명됩니다.
- 코드 및 저장소에서 관찰 가능성/알림 및 대시 보드.
- Ficheflags는 콘솔에서 구할 수 있으며 롤아웃은 진보적입니다.
- 런북/플레이 북은 경고와 관련이 있으며 DevPortal에서 볼 수 있습니다.
- DORA/SPACE 메트릭은 DevPortal 홈페이지에 표시됩니다.
- 첫 번째 PR 전날 새로운 개발자를 온보딩합니다.
요약
강력한 내부 개발자 플랫폼은 이기종 스택을 "서비스 생성" 에서 "안전한 롤링으로 제작" 하는 단일 "파이프 라인" 으로 전환합니다. "표준화 된 템플릿, DevPortal, 계약 테스트, 미리보기 환경, 관찰 가능성 및 보안 불이행은 품질 및 규정 준수를 손상시키지 않으면 서 빠르고 예측 가능한 릴리스로 이동합니다.