[{"data":1,"prerenderedAt":1200},["ShallowReactive",2],{"/de-de/blog":3,"navigation-de-de":20,"banner-de-de":424,"footer-de-de":434,"blogCategories-de-de":639,"relatedBlogPosts-de-de":767,"mainFeaturedPost-de-de":1164,"recentFeaturedPosts-de-de":1169,"recentPosts-de-de":1185},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":9,"description":6,"extension":11,"meta":12,"navigation":13,"path":14,"seo":15,"slug":6,"stem":18,"testContent":6,"type":6,"__hash__":19},"pages/de-de/blog/index.yml","",null,{"template":8},"BlogHome",{"title":10},"GitLab Blog","yml",{},true,"/de-de/blog",{"title":16,"description":17},"Deutscher GitLab Blog","Die besten Tutorials, Produktinfos und Expertenbeiträge von GitLab – für DevSecOps-Teams, die sichere Software schneller entwickeln und deployen wollen.","de-de/blog/index","1yAIKpINx5K5qzP-ePsacr72SeBUjhZPHi06R2AaDBM",{"data":21},{"logo":22,"freeTrial":27,"sales":32,"login":37,"items":42,"search":351,"minimal":386,"duo":404,"pricingDeployment":414},{"config":23},{"href":24,"dataGaName":25,"dataGaLocation":26},"/de-de/","gitlab logo","header",{"text":28,"config":29},"Kostenlose Testversion anfordern",{"href":30,"dataGaName":31,"dataGaLocation":26},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":33,"config":34},"Vertrieb kontaktieren",{"href":35,"dataGaName":36,"dataGaLocation":26},"/de-de/sales/","sales",{"text":38,"config":39},"Anmelden",{"href":40,"dataGaName":41,"dataGaLocation":26},"https://gitlab.com/users/sign_in/","sign in",[43,70,166,171,272,332],{"text":44,"config":45,"cards":47},"Plattform",{"dataNavLevelOne":46},"platform",[48,54,62],{"title":44,"description":49,"link":50},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":51,"config":52},"Erkunde unsere Plattform",{"href":53,"dataGaName":46,"dataGaLocation":26},"/de-de/platform/",{"title":55,"description":56,"link":57},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":58,"config":59},"Lerne GitLab Duo kennen",{"href":60,"dataGaName":61,"dataGaLocation":26},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":63,"description":64,"link":65},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":66,"config":67},"Mehr erfahren",{"href":68,"dataGaName":69,"dataGaLocation":26},"/de-de/why-gitlab/","why gitlab",{"text":71,"left":13,"config":72,"link":74,"lists":78,"footer":148},"Produkt",{"dataNavLevelOne":73},"solutions",{"text":75,"config":76},"Alle Lösungen anzeigen",{"href":77,"dataGaName":73,"dataGaLocation":26},"/de-de/solutions/",[79,104,126],{"title":80,"description":81,"link":82,"items":87},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":83},{"icon":84,"href":85,"dataGaName":86,"dataGaLocation":26},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[88,92,95,100],{"text":89,"config":90},"CI/CD",{"href":91,"dataGaLocation":26,"dataGaName":89},"/de-de/solutions/continuous-integration/",{"text":55,"config":93},{"href":60,"dataGaLocation":26,"dataGaName":94},"gitlab duo agent platform - product menu",{"text":96,"config":97},"Quellcodeverwaltung",{"href":98,"dataGaLocation":26,"dataGaName":99},"/de-de/solutions/source-code-management/","Source Code Management",{"text":101,"config":102},"Automatisierte Softwarebereitstellung",{"href":85,"dataGaLocation":26,"dataGaName":103},"Automated software delivery",{"title":105,"description":106,"link":107,"items":112},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":108},{"href":109,"dataGaName":110,"dataGaLocation":26,"icon":111},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[113,117,122],{"text":114,"config":115},"Application Security Testing",{"href":109,"dataGaName":116,"dataGaLocation":26},"Application security testing",{"text":118,"config":119},"Schutz der Software-Lieferkette",{"href":120,"dataGaLocation":26,"dataGaName":121},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":123,"config":124},"Software Compliance",{"href":125,"dataGaName":123,"dataGaLocation":26},"/de-de/solutions/software-compliance/",{"title":127,"link":128,"items":133},"Bewertung",{"config":129},{"icon":130,"href":131,"dataGaName":132,"dataGaLocation":26},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[134,138,143],{"text":135,"config":136},"Sichtbarkeit und Bewertung",{"href":131,"dataGaLocation":26,"dataGaName":137},"Visibility and Measurement",{"text":139,"config":140},"Wertstrommanagement",{"href":141,"dataGaLocation":26,"dataGaName":142},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":144,"config":145},"Analysen und Einblicke",{"href":146,"dataGaLocation":26,"dataGaName":147},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":149,"items":150},"GitLab für",[151,156,161],{"text":152,"config":153},"Enterprise",{"href":154,"dataGaLocation":26,"dataGaName":155},"/de-de/enterprise/","enterprise",{"text":157,"config":158},"Kleinunternehmen",{"href":159,"dataGaLocation":26,"dataGaName":160},"/de-de/small-business/","small business",{"text":162,"config":163},"den öffentlichen Sektor",{"href":164,"dataGaLocation":26,"dataGaName":165},"/de-de/solutions/public-sector/","public sector",{"text":167,"config":168},"Preise",{"href":169,"dataGaName":170,"dataGaLocation":26,"dataNavLevelOne":170},"/de-de/pricing/","pricing",{"text":172,"config":173,"link":175,"lists":179,"feature":259},"Ressourcen",{"dataNavLevelOne":174},"resources",{"text":176,"config":177},"Alle Ressourcen anzeigen",{"href":178,"dataGaName":174,"dataGaLocation":26},"/de-de/resources/",[180,213,231],{"title":181,"items":182},"Erste Schritte",[183,188,193,198,203,208],{"text":184,"config":185},"Installieren",{"href":186,"dataGaName":187,"dataGaLocation":26},"/de-de/install/","install",{"text":189,"config":190},"Kurzanleitungen",{"href":191,"dataGaName":192,"dataGaLocation":26},"/de-de/get-started/","quick setup checklists",{"text":194,"config":195},"Lernen",{"href":196,"dataGaLocation":26,"dataGaName":197},"https://university.gitlab.com/","learn",{"text":199,"config":200},"Produktdokumentation",{"href":201,"dataGaName":202,"dataGaLocation":26},"https://docs.gitlab.com/","product documentation",{"text":204,"config":205},"Best-Practice-Videos",{"href":206,"dataGaName":207,"dataGaLocation":26},"/de-de/getting-started-videos/","best practice videos",{"text":209,"config":210},"Integrationen",{"href":211,"dataGaName":212,"dataGaLocation":26},"/de-de/integrations/","integrations",{"title":214,"items":215},"Entdecken",[216,221,226],{"text":217,"config":218},"Kundenerfolge",{"href":219,"dataGaName":220,"dataGaLocation":26},"/de-de/customers/","customer success stories",{"text":222,"config":223},"Blog",{"href":224,"dataGaName":225,"dataGaLocation":26},"/de-de/blog/","blog",{"text":227,"config":228},"Remote",{"href":229,"dataGaName":230,"dataGaLocation":26},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":232,"items":233},"Vernetzen",[234,239,244,249,254],{"text":235,"config":236},"GitLab-Services",{"href":237,"dataGaName":238,"dataGaLocation":26},"/de-de/services/","services",{"text":240,"config":241},"Community",{"href":242,"dataGaName":243,"dataGaLocation":26},"/community/","community",{"text":245,"config":246},"Forum",{"href":247,"dataGaName":248,"dataGaLocation":26},"https://forum.gitlab.com/","forum",{"text":250,"config":251},"Veranstaltungen",{"href":252,"dataGaName":253,"dataGaLocation":26},"/events/","events",{"text":255,"config":256},"Partner",{"href":257,"dataGaName":258,"dataGaLocation":26},"/de-de/partners/","partners",{"backgroundColor":260,"textColor":261,"text":262,"image":263,"link":267},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":264,"config":265},"the source promo card",{"src":266},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":268,"config":269},"Lies die News",{"href":270,"dataGaName":271,"dataGaLocation":26},"/de-de/the-source/","the source",{"text":273,"config":274,"lists":276},"Unternehmen",{"dataNavLevelOne":275},"company",[277],{"items":278},[279,284,290,292,297,302,307,312,317,322,327],{"text":280,"config":281},"Über",{"href":282,"dataGaName":283,"dataGaLocation":26},"/de-de/company/","about",{"text":285,"config":286,"footerGa":289},"Karriere",{"href":287,"dataGaName":288,"dataGaLocation":26},"/jobs/","jobs",{"dataGaName":288},{"text":250,"config":291},{"href":252,"dataGaName":253,"dataGaLocation":26},{"text":293,"config":294},"Geschäftsführung",{"href":295,"dataGaName":296,"dataGaLocation":26},"/company/team/e-group/","leadership",{"text":298,"config":299},"Team",{"href":300,"dataGaName":301,"dataGaLocation":26},"/company/team/","team",{"text":303,"config":304},"Handbuch",{"href":305,"dataGaName":306,"dataGaLocation":26},"https://handbook.gitlab.com/","handbook",{"text":308,"config":309},"Investor Relations",{"href":310,"dataGaName":311,"dataGaLocation":26},"https://ir.gitlab.com/","investor relations",{"text":313,"config":314},"Trust Center",{"href":315,"dataGaName":316,"dataGaLocation":26},"/de-de/security/","trust center",{"text":318,"config":319},"AI Transparency Center",{"href":320,"dataGaName":321,"dataGaLocation":26},"/de-de/ai-transparency-center/","ai transparency center",{"text":323,"config":324},"Newsletter",{"href":325,"dataGaName":326,"dataGaLocation":26},"/company/contact/#contact-forms","newsletter",{"text":328,"config":329},"Presse",{"href":330,"dataGaName":331,"dataGaLocation":26},"/press/","press",{"text":333,"config":334,"lists":335},"Kontakt",{"dataNavLevelOne":275},[336],{"items":337},[338,341,346],{"text":33,"config":339},{"href":35,"dataGaName":340,"dataGaLocation":26},"talk to sales",{"text":342,"config":343},"Support-Portal",{"href":344,"dataGaName":345,"dataGaLocation":26},"https://support.gitlab.com","support portal",{"text":347,"config":348},"Kundenportal",{"href":349,"dataGaName":350,"dataGaLocation":26},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":352,"login":353,"suggestions":360},"Schließen",{"text":354,"link":355},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":356,"config":357},"gitlab.com",{"href":40,"dataGaName":358,"dataGaLocation":359},"search login","search",{"text":361,"default":362},"Vorschläge",[363,365,370,372,377,382],{"text":55,"config":364},{"href":60,"dataGaName":55,"dataGaLocation":359},{"text":366,"config":367},"Code Suggestions (KI)",{"href":368,"dataGaName":369,"dataGaLocation":359},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":89,"config":371},{"href":91,"dataGaName":89,"dataGaLocation":359},{"text":373,"config":374},"GitLab auf AWS",{"href":375,"dataGaName":376,"dataGaLocation":359},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":378,"config":379},"GitLab auf Google Cloud",{"href":380,"dataGaName":381,"dataGaLocation":359},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":383,"config":384},"Warum GitLab?",{"href":68,"dataGaName":385,"dataGaLocation":359},"Why GitLab?",{"freeTrial":387,"mobileIcon":392,"desktopIcon":397,"secondaryButton":400},{"text":388,"config":389},"Kostenlos testen",{"href":390,"dataGaName":31,"dataGaLocation":391},"https://gitlab.com/-/trials/new/","nav",{"altText":393,"config":394},"GitLab-Symbol",{"src":395,"dataGaName":396,"dataGaLocation":391},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":393,"config":398},{"src":399,"dataGaName":396,"dataGaLocation":391},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":181,"config":401},{"href":402,"dataGaName":403,"dataGaLocation":391},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/compare/gitlab-vs-github/","get started",{"freeTrial":405,"mobileIcon":410,"desktopIcon":412},{"text":406,"config":407},"Erfahre mehr über GitLab Duo",{"href":408,"dataGaName":409,"dataGaLocation":391},"/de-de/gitlab-duo/","gitlab duo",{"altText":393,"config":411},{"src":395,"dataGaName":396,"dataGaLocation":391},{"altText":393,"config":413},{"src":399,"dataGaName":396,"dataGaLocation":391},{"freeTrial":415,"mobileIcon":420,"desktopIcon":422},{"text":416,"config":417},"Zurück zur Preisübersicht",{"href":169,"dataGaName":418,"dataGaLocation":391,"icon":419},"back to pricing","GoBack",{"altText":393,"config":421},{"src":395,"dataGaName":396,"dataGaLocation":391},{"altText":393,"config":423},{"src":399,"dataGaName":396,"dataGaLocation":391},{"title":425,"button":426,"config":431},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":427,"config":428},"GitLab Transcend jetzt ansehen",{"href":429,"dataGaName":430,"dataGaLocation":26},"/de-de/events/transcend/virtual/","transcend event",{"layout":432,"icon":433},"release","AiStar",{"data":435},{"text":436,"source":437,"edit":443,"contribute":448,"config":453,"items":458,"minimal":631},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":438,"config":439},"Quelltext der Seite anzeigen",{"href":440,"dataGaName":441,"dataGaLocation":442},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":444,"config":445},"Diese Seite bearbeiten",{"href":446,"dataGaName":447,"dataGaLocation":442},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":449,"config":450},"Beteilige dich",{"href":451,"dataGaName":452,"dataGaLocation":442},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":454,"facebook":455,"youtube":456,"linkedin":457},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[459,482,537,564,598],{"title":44,"links":460,"subMenu":465},[461],{"text":462,"config":463},"DevSecOps-Plattform",{"href":53,"dataGaName":464,"dataGaLocation":442},"devsecops platform",[466],{"title":167,"links":467},[468,472,477],{"text":469,"config":470},"Tarife anzeigen",{"href":169,"dataGaName":471,"dataGaLocation":442},"view plans",{"text":473,"config":474},"Vorteile von Premium",{"href":475,"dataGaName":476,"dataGaLocation":442},"/de-de/pricing/premium/","why premium",{"text":478,"config":479},"Vorteile von Ultimate",{"href":480,"dataGaName":481,"dataGaLocation":442},"/de-de/pricing/ultimate/","why ultimate",{"title":483,"links":484},"Lösungen",[485,490,493,495,500,505,509,512,515,520,522,524,527,532],{"text":486,"config":487},"Digitale Transformation",{"href":488,"dataGaName":489,"dataGaLocation":442},"/de-de/topics/digital-transformation/","digital transformation",{"text":491,"config":492},"Sicherheit und Compliance",{"href":109,"dataGaName":116,"dataGaLocation":442},{"text":101,"config":494},{"href":85,"dataGaName":86,"dataGaLocation":442},{"text":496,"config":497},"Agile Entwicklung",{"href":498,"dataGaName":499,"dataGaLocation":442},"/de-de/solutions/agile-delivery/","agile delivery",{"text":501,"config":502},"Cloud-Transformation",{"href":503,"dataGaName":504,"dataGaLocation":442},"/de-de/topics/cloud-native/","cloud transformation",{"text":506,"config":507},"SCM",{"href":98,"dataGaName":508,"dataGaLocation":442},"source code management",{"text":89,"config":510},{"href":91,"dataGaName":511,"dataGaLocation":442},"continuous integration & delivery",{"text":139,"config":513},{"href":141,"dataGaName":514,"dataGaLocation":442},"value stream management",{"text":516,"config":517},"GitOps",{"href":518,"dataGaName":519,"dataGaLocation":442},"/de-de/solutions/gitops/","gitops",{"text":152,"config":521},{"href":154,"dataGaName":155,"dataGaLocation":442},{"text":157,"config":523},{"href":159,"dataGaName":160,"dataGaLocation":442},{"text":525,"config":526},"Öffentlicher Sektor",{"href":164,"dataGaName":165,"dataGaLocation":442},{"text":528,"config":529},"Bildungswesen",{"href":530,"dataGaName":531,"dataGaLocation":442},"/de-de/solutions/education/","education",{"text":533,"config":534},"Finanzdienstleistungen",{"href":535,"dataGaName":536,"dataGaLocation":442},"/de-de/solutions/finance/","financial services",{"title":172,"links":538},[539,541,543,545,548,550,552,554,556,558,560,562],{"text":184,"config":540},{"href":186,"dataGaName":187,"dataGaLocation":442},{"text":189,"config":542},{"href":191,"dataGaName":192,"dataGaLocation":442},{"text":194,"config":544},{"href":196,"dataGaName":197,"dataGaLocation":442},{"text":199,"config":546},{"href":201,"dataGaName":547,"dataGaLocation":442},"docs",{"text":222,"config":549},{"href":224,"dataGaName":225,"dataGaLocation":442},{"text":217,"config":551},{"href":219,"dataGaName":220,"dataGaLocation":442},{"text":227,"config":553},{"href":229,"dataGaName":230,"dataGaLocation":442},{"text":235,"config":555},{"href":237,"dataGaName":238,"dataGaLocation":442},{"text":240,"config":557},{"href":242,"dataGaName":243,"dataGaLocation":442},{"text":245,"config":559},{"href":247,"dataGaName":248,"dataGaLocation":442},{"text":250,"config":561},{"href":252,"dataGaName":253,"dataGaLocation":442},{"text":255,"config":563},{"href":257,"dataGaName":258,"dataGaLocation":442},{"title":273,"links":565},[566,568,570,572,574,576,578,582,587,589,591,593],{"text":280,"config":567},{"href":282,"dataGaName":275,"dataGaLocation":442},{"text":285,"config":569},{"href":287,"dataGaName":288,"dataGaLocation":442},{"text":293,"config":571},{"href":295,"dataGaName":296,"dataGaLocation":442},{"text":298,"config":573},{"href":300,"dataGaName":301,"dataGaLocation":442},{"text":303,"config":575},{"href":305,"dataGaName":306,"dataGaLocation":442},{"text":308,"config":577},{"href":310,"dataGaName":311,"dataGaLocation":442},{"text":579,"config":580},"Sustainability",{"href":581,"dataGaName":579,"dataGaLocation":442},"/sustainability/",{"text":583,"config":584},"Vielfalt, Inklusion und Zugehörigkeit",{"href":585,"dataGaName":586,"dataGaLocation":442},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":313,"config":588},{"href":315,"dataGaName":316,"dataGaLocation":442},{"text":323,"config":590},{"href":325,"dataGaName":326,"dataGaLocation":442},{"text":328,"config":592},{"href":330,"dataGaName":331,"dataGaLocation":442},{"text":594,"config":595},"Transparenzerklärung zu moderner Sklaverei",{"href":596,"dataGaName":597,"dataGaLocation":442},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":599,"links":600},"Nimm Kontakt auf",[601,604,609,611,616,621,626],{"text":602,"config":603},"Sprich mit einem Experten/einer Expertin",{"href":35,"dataGaName":36,"dataGaLocation":442},{"text":605,"config":606},"Support",{"href":607,"dataGaName":608,"dataGaLocation":442},"/support/","get help",{"text":347,"config":610},{"href":349,"dataGaName":350,"dataGaLocation":442},{"text":612,"config":613},"Status",{"href":614,"dataGaName":615,"dataGaLocation":442},"https://status.gitlab.com/","status",{"text":617,"config":618},"Nutzungsbedingungen",{"href":619,"dataGaName":620,"dataGaLocation":442},"/terms/","terms of use",{"text":622,"config":623},"Datenschutzerklärung",{"href":624,"dataGaName":625,"dataGaLocation":442},"/de-de/privacy/","privacy statement",{"text":627,"config":628},"Cookie-Einstellungen",{"dataGaName":629,"dataGaLocation":442,"id":630,"isOneTrustButton":13},"cookie preferences","ot-sdk-btn",{"items":632},[633,635,637],{"text":617,"config":634},{"href":619,"dataGaName":620,"dataGaLocation":442},{"text":622,"config":636},{"href":624,"dataGaName":625,"dataGaLocation":442},{"text":627,"config":638},{"dataGaName":629,"dataGaLocation":442,"id":630,"isOneTrustButton":13},[640,654,667,680,693,706,718,731,743,755],{"id":641,"title":642,"body":6,"category":6,"config":643,"content":647,"description":6,"extension":11,"meta":648,"navigation":13,"path":649,"seo":650,"slug":6,"stem":652,"testContent":6,"type":6,"__hash__":653},"blogCategories/de-de/blog/categories/agile-planning.yml","Agile Planning",{"template":644,"slug":645,"hide":646},"BlogCategory","agile-planning",false,{"name":642},{},"/de-de/blog/categories/agile-planning",{"title":642,"description":651},"Browse articles related to Agile Planning on the GitLab Blog","de-de/blog/categories/agile-planning","csUL1d_-y-DPhZetCYXu18e5sQMfbzSl4z0yB282dB4",{"id":655,"title":656,"body":6,"category":6,"config":657,"content":659,"description":6,"extension":11,"meta":661,"navigation":13,"path":662,"seo":663,"slug":6,"stem":665,"testContent":6,"type":6,"__hash__":666},"blogCategories/de-de/blog/categories/ai-ml.yml","Ai Ml",{"template":644,"slug":658,"hide":646},"ai-ml",{"name":660},"KI/ML",{},"/de-de/blog/categories/ai-ml",{"title":660,"description":664},"Browse articles related to KI/ML on the GitLab Blog","de-de/blog/categories/ai-ml","1ZXMYZ95h3sv7hO1jba_Y-UZre4Tax4JM6QlNpoAdE4",{"id":668,"title":669,"body":6,"category":6,"config":670,"content":672,"description":6,"extension":11,"meta":674,"navigation":13,"path":675,"seo":676,"slug":6,"stem":678,"testContent":6,"type":6,"__hash__":679},"blogCategories/de-de/blog/categories/bulletin-board.yml","Bulletin Board",{"template":644,"slug":671,"hide":646},"bulletin-board",{"name":673},"Ankündigungen",{},"/de-de/blog/categories/bulletin-board",{"title":673,"description":677},"Browse articles related to Ankündigungen on the GitLab Blog","de-de/blog/categories/bulletin-board","mkB_SWqSkG9Rs-zMdOGuzpIJZOX0BQ5yNO6o9RfPe2E",{"id":681,"title":682,"body":6,"category":6,"config":683,"content":685,"description":6,"extension":11,"meta":687,"navigation":13,"path":688,"seo":689,"slug":6,"stem":691,"testContent":6,"type":6,"__hash__":692},"blogCategories/de-de/blog/categories/customer-stories.yml","Customer Stories",{"template":644,"slug":684,"hide":646},"customer-stories",{"name":686},"Kundenstories",{},"/de-de/blog/categories/customer-stories",{"title":686,"description":690},"Browse articles related to Kundenstories on the GitLab Blog","de-de/blog/categories/customer-stories","kB5miv8QohUy6kvq6rdK7V4z9za-Uk_aGodu7cUhAho",{"id":694,"title":695,"body":6,"category":6,"config":696,"content":698,"description":6,"extension":11,"meta":700,"navigation":13,"path":701,"seo":702,"slug":6,"stem":704,"testContent":6,"type":6,"__hash__":705},"blogCategories/de-de/blog/categories/devsecops.yml","Devsecops",{"template":644,"slug":697,"hide":646},"devsecops",{"name":699},"DevSecOps",{},"/de-de/blog/categories/devsecops",{"title":699,"description":703},"Browse articles related to DevSecOps on the GitLab Blog","de-de/blog/categories/devsecops","-VYAbxDp8VgKNnix343UzZtmmsJMwVyVWyhmpemBm0U",{"id":707,"title":708,"body":6,"category":6,"config":709,"content":711,"description":6,"extension":11,"meta":712,"navigation":13,"path":713,"seo":714,"slug":6,"stem":716,"testContent":6,"type":6,"__hash__":717},"blogCategories/de-de/blog/categories/engineering.yml","Engineering",{"template":644,"slug":710,"hide":646},"engineering",{"name":708},{},"/de-de/blog/categories/engineering",{"title":708,"description":715},"Browse articles related to Engineering on the GitLab Blog","de-de/blog/categories/engineering","2aDT2ddISb3_jPr0pKFELw8NlkxcUsQZ7Dd93XB3ya8",{"id":719,"title":720,"body":6,"category":6,"config":721,"content":723,"description":6,"extension":11,"meta":725,"navigation":13,"path":726,"seo":727,"slug":6,"stem":729,"testContent":6,"type":6,"__hash__":730},"blogCategories/de-de/blog/categories/news.yml","News",{"template":644,"slug":722,"hide":646},"news",{"name":724},"Neuheiten",{},"/de-de/blog/categories/news",{"title":724,"description":728},"Browse articles related to Neuheiten on the GitLab Blog","de-de/blog/categories/news","R-b1rDs8_JZxM4UVAjnPCwxnTfNaE65Fy_VSqLRW9Zw",{"id":732,"title":733,"body":6,"category":6,"config":734,"content":736,"description":6,"extension":11,"meta":737,"navigation":13,"path":738,"seo":739,"slug":6,"stem":741,"testContent":6,"type":6,"__hash__":742},"blogCategories/de-de/blog/categories/open-source.yml","Open Source",{"template":644,"slug":735,"hide":646},"open-source",{"name":733},{},"/de-de/blog/categories/open-source",{"title":733,"description":740},"Browse articles related to Open Source on the GitLab Blog","de-de/blog/categories/open-source","3lZAO-pA8tPgqw5jdEaCqdzTxqgrM40KjbyHzl6xewQ",{"id":744,"title":745,"body":6,"category":6,"config":746,"content":748,"description":6,"extension":11,"meta":749,"navigation":13,"path":750,"seo":751,"slug":6,"stem":753,"testContent":6,"type":6,"__hash__":754},"blogCategories/de-de/blog/categories/product.yml","Product",{"template":644,"slug":747,"hide":646},"product",{"name":71},{},"/de-de/blog/categories/product",{"title":71,"description":752},"Browse articles related to Produkt on the GitLab Blog","de-de/blog/categories/product","dXdTP3ocECtLG4lIfjjXnSDxd7iiH3ZZhZBwGeVKvzk",{"id":756,"title":757,"body":6,"category":6,"config":758,"content":760,"description":6,"extension":11,"meta":761,"navigation":13,"path":762,"seo":763,"slug":6,"stem":765,"testContent":6,"type":6,"__hash__":766},"blogCategories/de-de/blog/categories/security.yml","Security",{"template":644,"slug":759,"hide":646},"security",{"name":105},{},"/de-de/blog/categories/security",{"title":105,"description":764},"Browse articles related to Sicherheit on the GitLab Blog","de-de/blog/categories/security","RafNa29JNZ4JNGO3MJvpMciY4CG3ivNwFzY265Udobw",[768,816,852,890,933,970,1013,1051,1091,1128],{"category":642,"slug":645,"posts":769},[770,787,804],{"content":771,"config":784},{"title":772,"description":773,"heroImage":774,"date":775,"body":776,"category":645,"tags":777,"authors":781},"Planung ohne Kontext-Wechsel – mit GitLab Duo Planner","KI-Agent für Produktmanager: GitLab Duo Planner strukturiert Anforderungen, analysiert Abhängigkeiten und erstellt Status-Reports ohne Tool-Wechsel.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098354/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%281%29_5XrohmuWBNuqL89BxVUzWm_1750098354056.png","2025-10-28","Software-Entwicklungsteams verwalten viele parallele Aufgaben mit begrenzten Ressourcen. Die Planung erfordert kontinuierliche Arbeit: Anforderungen strukturieren, Backlogs pflegen, Delivery tracken und Status-Updates erstellen.\n\nDer Planungsaufwand reduziert die Zeit für strategische Entscheidungen, die Produkte tatsächlich voranbringen.\n\nFür diese Herausforderung haben wir [GitLab Duo Planner](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/planner/) entwickelt – einen KI-Agent auf Basis der [GitLab Duo Agent Platform](https://about.gitlab.com/gitlab-duo-agent-platform/), der Produktmanager direkt in GitLab unterstützt.\n\nGitLab Duo Planner ist kein generischer KI-Assistent. Die Produkt- und Engineering-Teams bei GitLab haben den Agent gezielt für Planungs-Workflows entwickelt, um Overhead zu reduzieren und gleichzeitig Alignment und Planbarkeit zu verbessern.\n\n## Unterstützung für deine Planung\n\nDrei Herausforderungen in der Planungspraxis:\n\n1. Ungeplante Arbeit – Unkoordinierte Tasks und verwaiste Work Items reduzieren das Vertrauen in die Planung.\n2. Unterbrechungen – Ständige Status-Anfragen unterbrechen den Entwicklungsfluss.\n3. Intransparenz – Risiken werden zu spät sichtbar, um gegenzusteuern.\n\nGitLab Duo Planner unterstützt Teams bei diesen Aufgaben: Der Agent strukturiert vage Ideen in konkrete Anforderungen, identifiziert Backlog-Probleme frühzeitig und wendet Priorisierungs-Frameworks wie RICE und MoSCoW an. Durch die Integration in GitLab hat der Agent Zugriff auf den vollständigen Kontext der Plattform. Die foundational agent architecture ermöglicht GitLab-spezifisches Wissen und Kontext-Awareness.\n\n## Für Teams entwickelt\n\nGitLab Duo Planner arbeitet mit Work Items (Epics, Issues, Tasks) und versteht Work Breakdown Structures, Dependency-Analysen und Aufwandsschätzungen. Dies verbessert Transparenz, Alignment und Planungssicherheit.\n\n**Plattform-Ansatz:** Im Unterschied zu Einzellösungen orchestriert Duo Planner über die gesamte GitLab-Plattform – von der Planung über Development bis Testing. Dies schafft Transparenz über Teams und Workflows hinweg.\n\n**Im Workflow integriert:** Kein Wechsel zwischen Tools oder tiefes Navigieren in GitLab erforderlich. Duo Planner ermöglicht Beiträge, Kollaboration und Transparenz für alle Beteiligten im Software Development Lifecycle.\n\n**Zeitersparnis:** Duo Planner befreit Teams von repetitiver Koordinationsarbeit, verbessert die Planbarkeit von Deliveries und reduziert verpasste Commitments. Der Fokus liegt auf der Arbeit, die tatsächlich Wirkung zeigt.\n\n## Sechs Workflows für Software-Planung\n\nGitLab Duo Planner unterstützt verschiedene Phasen der Software-Planung und arbeitet innerhalb des Planungsbereichs – einer definierten Umgebung mit Projekt-Visibility.\n\nDer Agent deckt sechs Workflows ab:\n\n**Priorisierung:** Frameworks wie RICE, MoSCoW oder WSJF werden angewendet, um Work Items systematisch zu ranken. RICE bewertet nach Reach, Impact, Confidence und Effort. MoSCoW kategorisiert nach Must have, Should have, Could have, Won't have. WSJF (Weighted Shortest Job First) gewichtet nach Business Value, Time Criticality und Risk Reduction.\n\n**Work Breakdown:** Initiativen werden in Epics, Features und User Stories zerlegt, um Anforderungen zu strukturieren. Dies folgt der hierarchischen Work Item-Struktur in GitLab.\n\n**Dependency-Analyse:** Der Agent identifiziert blockierte Arbeit und versteht Beziehungen zwischen Items, um die Velocity aufrechtzuerhalten. Abhängigkeiten werden als Blocker oder \"blocked by\"-Relationen erfasst.\n\n**Planung:** Organisation von Sprints, Milestones oder Quartalsplanungen. Der Agent berücksichtigt dabei die verfügbare Kapazität und bestehende Commitments.\n\n**Status-Reporting:** Generierung von Zusammenfassungen über Projekt-Fortschritt, Risiken und Blocker zum Tracking von Deliveries. Die Reports strukturieren sich nach Overview, Milestone-Status, In-Progress Items, Dependencies und Blockers.\n\n**Backlog Management:** Identifikation veralteter Issues, Duplikate oder Items, die Verfeinerung benötigen. Dies verbessert die Datenhygiene im Backlog.\n\n## Demonstration: Status-Check einer Initiative\n\nHier siehst du, wie GitLab Duo Planner den Status einer Initiative prüft:\n\n\u003Cdiv>\u003Ciframe src=\"https://player.vimeo.com/video/1131065078?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"GitLab Duo Planner Agent\">\u003C/iframe>\u003C/div>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\u003Cp>\u003C/p>\n\nDuo Planner ist als Custom Agent im Duo Chat Side Panel verfügbar und nutzt den aktuellen Seiten-Kontext.\n\n\u003Cp>\u003C/p>\n\n![Duo Planner als Custom Agent im Duo Chat Side Panel](https://res.cloudinary.com/about-gitlab-com/image/upload/v1761323689/ener1mkyj9shg6zvtp4f.png)\n\n\u003Cp>\u003C/p>\n\nWir fragen Duo Planner nach dem Status einer Initiative, indem wir den Epic-Link angeben:\n\n![Abfrage des Initiative-Status durch Angabe des Epic-Links](https://res.cloudinary.com/about-gitlab-com/image/upload/v1761323689/gzv2xudegtjhtesz1oaz.png)\n\n\u003Cp>\u003C/p>\n\nDer Agent liefert eine strukturierte Zusammenfassung mit Overview, aktuellem Status der Milestones, in Bearbeitung befindlichen Items, Dependencies und Blockern sowie umsetzbaren Empfehlungen.\n\n![Strukturierte Zusammenfassung](https://res.cloudinary.com/about-gitlab-com/image/upload/v1761323690/guoyqe1b9bstmbjzunez.png)\n\n\u003Cp>\u003C/p>\n\nAls Nächstes fordern wir eine Executive Summary an, um Stakeholder zu informieren. GitLab Duo Planner reduziert den manuellen Analyseaufwand für Reports und unterstützt schnellere Entscheidungen.\n\n![Anforderung einer Executive Summary](https://res.cloudinary.com/about-gitlab-com/image/upload/v1761323689/xs9zxawqrytfu54ejx2b.png)\n\n\u003Cp>\u003C/p>\n\n![Ausgabe der Executive Summary](https://res.cloudinary.com/about-gitlab-com/image/upload/v1761323690/bsbpvjaqnymobzg4knhu.png)\n\n\u003Cp>\u003C/p>\n\nWeitere Beispiel-Prompts für GitLab Duo Planner:\n\n* \"Welche Bugs mit dem Label 'boards' sollten wir priorisieren, unter Berücksichtigung der User Impact?\"\n* \"Ranke diese Epics nach strategischem Wert für Q1.\"\n* \"Hilf mir, Technical Debt gegen neue Features zu priorisieren.\"\n* \"Welche Tasks sind erforderlich, um diese User Story zu implementieren?\"\n* \"Schlage einen phasenweisen Ansatz für dieses Projekt vor: (URL einfügen).\"\n\n## Agile-Planung mit GitLab\n\nGitLab Duo Planner konzentriert sich gezielt auf Produktmanager und Engineering Manager in Agile-Umgebungen. Diese Spezialisierung ermöglicht verlässliche, umsetzbare Erkenntnisse statt generischer Vorschläge. Der Agent wurde auf GitLabs Planungs-Workflows und Agile Frameworks trainiert.\n\nDie Agent Platform entwickelt sich weiter: Wir arbeiten an einer Familie spezialisierter Agents, die jeweils für spezifische Workflows optimiert sind und zu einer unified intelligence layer beitragen. Der heutige Planner für Software-Teams ist der erste Schritt für KI-gestützte Priorisierung in verschiedenen Team-Kontexten.\n\n**Integration in deutsche Agile-Prozesse:** GitLab Duo Planner lässt sich in bestehende Scrum- und Kanban-Workflows integrieren. Der Agent arbeitet mit der Standard-Work-Item-Hierarchie in GitLab und respektiert definierte Projekt-Boundaries. Beispielsweise können Teams den Agent für Sprint Planning einsetzen, indem sie Backlog-Items nach RICE bewerten lassen und anschließend die Ergebnisse im Sprint Planning Meeting verwenden.\n\n**Technische Voraussetzungen:** Die Nutzung erfordert GitLab mit aktivierter Duo Chat Funktion. Der Agent operiert innerhalb der konfigurierten Projekt-Visibility und hat Zugriff auf Work Items, für die du Leserechte besitzt. Die Dokumentation erklärt Prerequisites, Anwendungsfälle und Konfiguration im Detail.\n\n> Wenn du GitLab-Kunde bist und GitLab Duo Planner mit eigenen Prompts testen möchtest, findest du in unserer [Dokumentation](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/planner/) Prerequisites, Anwendungsfälle und weitere Details.",[778,779,780,747],"AI/ML","agile","features",[782,783],"Aathira Nair","Amanda Rueda",{"featured":13,"template":785,"slug":786},"BlogPost","ace-your-planning-without-the-context-switching",{"content":788,"config":802},{"heroImage":789,"body":790,"authors":791,"updatedDate":795,"date":796,"title":797,"tags":798,"description":801,"category":645},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099072/Blog/Hero%20Images/Blog/Hero%20Images/agile_agile.png_1750099072322.png","Kommt dir das bekannt vor? Du wechselst ständig zwischen Tabs in GitLab, nur um den\nÜberblick zu behalten, was in deinem Projekt passiert? Vielleicht prüfst du\neine Issue, springst dann zu einem Merge Request und dann zu einem Epic, um\nzu sehen, wie alles zusammenhängt. Ehe du dich versiehst, ist dein Browser\nvoller Tabs und du hast den roten Faden verloren.\n\nKeine Sorge, du stehst nicht alleine da. Viele Teams verschwenden Zeit und Energie damit, zwischen verschiedenen Elementen in ihrer Projektverwaltungssoftware hin und her zu springen, nur um den Überblick über ihre Arbeit zu behalten.\n\nDeshalb haben wir [Embedded Views](https://docs.gitlab.com/user/glql/#embedded-views) entwickelt, angetrieben von [GitLab Query Language (GLQL)](https://docs.gitlab.com/user/glql/). Mit Embedded Views, [verfügbar ab 18.3](https://about.gitlab.com/releases/2025/08/21/gitlab-18-3-released/), erhältst du Live-Informationen genau dort, wo du bereits in GitLab arbeitest. Kein endloses Kontextwechseln mehr. Keine veralteten Berichte mehr. Nur die Informationen, die du brauchst, genau dann, wenn du sie brauchst.\n\n## Warum Embedded Views wichtig sind\n\nEmbedded Views sind mehr als nur ein neues Feature – sie stellen eine grundlegende Veränderung dar, wie Teams ihre Arbeit in GitLab verstehen und verfolgen. Mit Embedded Views können Teams den Kontext beibehalten, während sie auf Echtzeitinformationen zugreifen, gemeinsames Verständnis schaffen und die Zusammenarbeit verbessern, ohne ihren aktuellen Workflow zu verlassen. Es geht darum, die Arbeitsverfolgung natürlich und mühelos zu gestalten, damit Sie sich auf das Wesentliche konzentrieren können.\n\n## So funktioniert's: Echtzeitdaten genau dort, wo sie am meisten gebraucht werden\n\nMit Embedded Views kannst du Live-GLQL-Abfragen in Markdown-Codeblöcken in Wiki-Seiten, Epics, Issues und Merge Requests einfügen. Das macht sie so nützlich:\n\n### Immer aktuell\n\nGLQL-Abfragen sind dynamisch und rufen bei jedem Seitenladen frische Daten ab. Deine Embedded Views spiegeln also immer den aktuellen Zustand deiner Arbeit wider, nicht den Zustand beim Einbetten der Ansicht. Wenn Änderungen an Issues, Merge Requests oder Milestones auftreten, zeigt eine Seitenaktualisierung diese Updates in Ihrer Embedded View an.\n\n### Kontextbezogenes Bewusstsein\n\nVerwende Funktionen wie `currentUser()` und `today()`, um Abfragen kontextspezifisch zu machen. Deine Embedded Views passen sich automatisch an, um relevante Informationen für die jeweilige Person anzuzeigen, die sie betrachtet, und schaffen so personalisierte Erlebnisse ohne manuelle Konfiguration.\n\n### Leistungsstarke Filterung\n\nFilter nach Feldern wie Zuweisenden, Autor(inn)en, Label, Milestone, Gesundheitsstatus, Erstellungsdatum und mehr. Verwende logische Ausdrücke, um genau die gewünschten Daten zu erhalten. Wir unterstützen mehr als 30 Felder ab Version 18.3.\n\n### Anpassbare Anzeige\n\nDu kannst deine Daten als Tabelle, Liste oder nummerierte Liste anzeigen. Wähle, welche Felder angezeigt werden sollen, lege ein Limit für die Anzahl der Elemente fest und gib die Sortierreihenfolge an, um deine Ansicht fokussiert und handlungsorientiert zu halten.\n\n### Verfügbarkeit\n\nDu kannst Embedded Views in Gruppen- und Projekt-Wikis, Epic- und Issue-Beschreibungen, Merge Requests und Kommentaren verwenden. GLQL ist in allen GitLab-Stufen verfügbar: Free, Premium und Ultimate, auf GitLab.com, GitLab Self-Managed und GitLab Dedicated. Bestimmte Funktionen wie die Anzeige von Epics, Status, benutzerdefinierten Feldern, Iterationen und Gewichtungen sind in den Stufen Premium und Ultimate verfügbar. Die Anzeige des Gesundheitsstatus ist nur in Ultimate verfügbar.\n\n## Embedded Views in Aktion erleben\n\nDie Syntax einer Embedded View-Quelle ist eine Obermenge von YAML. Sie besteht aus:\n\n* Dem `query`-Parameter: Ausdrücke, die mit einem logischen Operator wie `and` verbunden werden.\n* Parametern für die Präsentationsebene wie `display`, `limit` oder `fields`, `title` und `description`,\n  dargestellt als YAML.\n\nEine View wird in Markdown als Codeblock definiert, ähnlich wie andere Codeblöcke wie Mermaid.\n\nZum Beispiel:\n\n> Zeige eine Tabelle der ersten 5 offenen Issues an, die dem authentifizierten Benutzer in `gitlab-org/gitlab` zugewiesen sind.\n>\n> Zeige die Spalten `title`, `state`, `health`, `description`, `epic`, `milestone`, `weight` und `updated`.\n\n````yaml\n```glql\n\ndisplay: table\n\ntitle: GLQL-Tabelle 🎉\n\ndescription: Diese Ansicht listet meine offenen Issues auf\n\nfields: title, state, health, epic, milestone, weight, updated\n\nlimit: 5\n\nquery: project = \"gitlab-org/gitlab\" AND assignee = currentUser() AND state = opened\n```\n````\nDiese Quelle sollte eine Tabelle wie die folgende rendern:\n\n![](https://res.cloudinary.com/about-gitlab-com/image/upload/v1755193172/ibzfopvpztpglnccwrjj.png)\n\nEine einfache Möglichkeit, erste Embedded View zu erstellen, besteht darin, zum Dropdown-Menü **Weitere Optionen** in der Rich-Text-Editor-Symbolleiste zu navigieren. Wähle dort **Embedded View** aus, wodurch folgende Abfrage in einem Markdown-Codeblock eingefügt wird:\n\n````yaml\n```glql\n\nquery: assignee = currentUser()\n\nfields: title, createdAt, milestone, assignee\n\ntitle: Mir zugewiesene Issues\n```\n````\n\nSpeicher deine Änderungen im Kommentar oder in der Beschreibung, wo der Codeblock erscheint, und schon bist du fertig! Du hast erfolgreich deine erste Embedded View erstellt!\n\n## Wie GitLab Embedded Views nutzt\n\nOb wir Merge Requests für Security-Releases nachverfolgen, Bugs zur Verbesserung der Backlog-Hygiene triagieren oder Team-Onboarding und Milestone-Planung verwalten – wir verlassen uns täglich bei geschäftskritischen Prozessen auf Embedded Views. Dies ist nicht nur ein Feature, das wir entwickelt haben, es ist ein Tool, auf das wir uns verlassen, um unser Geschäft effektiv zu führen. Wenn du Embedded Views einführst, erhältst du eine getestete Lösung, die GitLab-Teams bereits dabei hilft, effizienter zu arbeiten, datengesteuerte Entscheidungen zu treffen und die Transparenz über komplexe Workflows hinweg zu wahren. Einfach ausgedrückt: Embedded Views können verändern, wie dein Team auf die Arbeit zugreift und sie analysiert, die für deinen Erfolg am wichtigsten ist.\n\nUm mehr darüber zu erfahren und zu sehen, wie GitLab Embedded Views intern nutzt, schaue dir [How GitLab measures Red Team impact: The adoption rate metric](https://about.gitlab.com/blog/how-gitlab-measures-red-team-impact-the-adoption-rate-metric/) und Global Search Release Planning Issues für die Milestones [18.1](https://gitlab.com/gitlab-org/search-team/team-tasks/-/issues/239), [18.2](https://gitlab.com/gitlab-org/search-team/team-tasks/-/issues/241) und [18.3](https://gitlab.com/gitlab-org/search-team/team-tasks/-/issues/245) an.\n\n## Was kommt als Nächstes\n\nEmbedded Views sind nur der Anfang der Vision der [Knowledge Group](https://about.gitlab.com/direction/plan/knowledge/) für die Arbeitsverfolgung. Erfahre mehr über unsere nächsten Schwerpunkte im [Embedded Views Post-GA Epic](https://gitlab.com/groups/gitlab-org/-/epics/15249). Während sich Embedded Views weiterentwickeln, wollen wir sie noch leistungsfähiger und [zugänglicher](https://gitlab.com/gitlab-org/gitlab/-/issues/548722) zu machen.\n\n## Teile deine Erfahrungen\n\nTeile uns dein Feedback mit im [Embedded Views GA Feedback Issue](https://gitlab.com/gitlab-org/gitlab/-/issues/509792). Egal ob du innovative Anwendungsfälle entdeckt hast, auf Herausforderungen gestoßen bist oder Verbesserungsideen hast – wir wollen von dir hören.\n",[792,793,794],"Matthew Macfarlane","Himanshu Kapoor","Alex Fracazo","2025-09-11","2025-08-21","Embedded Views: Die Zukunft des Work Tracking in GitLab",[779,799,800],"DevSecOps platform","workflow","So machen Embedded Views Teams effizienter, fördern datengesteuerte Entscheidungen und bieten Transparenz in Workflows. Alles mit GitLab Query Language.",{"featured":646,"template":785,"slug":803},"embedded-views-the-future-of-work-tracking-in-gitlab",{"content":805,"config":814},{"heroImage":806,"body":807,"authors":808,"updatedDate":810,"date":810,"title":811,"tags":812,"description":813,"category":645},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661979/Blog/Hero%20Images/scrum-project-management.jpg","Die User Story ist ein sehr einfaches Konzept. Trotzdem hat sie die Projektplanung entscheidend verändert \\- und das, obwohl User Stories zum Beispiel in [Scrum](https://about.gitlab.com/de-de/blog/scrum-project-management-how-it-works/) nicht einmal vorkommen. \n\nGerade weil User Storys für die Teamarbeit so wichtig sind, stellen sie eine Herausforderung dar. Diskussionen um die richtige Formulierung einer User Story in Scrum oder ihre korrekte Bearbeitung in [Kanban](https://about.gitlab.com/de-de/blog/what-is-kanban/) können wertvolle Zeit verbrauchen. So empfinden viele das Konzept eher als undeutlich, aufwändig und belastend. \n\nWir glauben fest daran, dass eine tiefe Verinnerlichung von User Storys - gerade in der [agilen Methode](https://about.gitlab.com/de-de/solutions/agile-delivery/) - dich wirklich voranbringen kann. In diesem Artikel werden wir deshalb so praxisnah wie möglich demonstrieren, wie du sie nutzen kannst, um zu besseren Entscheidungen, Prozessen und Produkten zu gelangen.\n\n## Inhaltsverzeichnis\n\n- [Was ist eine User Story?](#was-ist-eine-user-story%3F)\n- [Warum sollte ich mit User Stories arbeiten?](#warum-sollte-ich-mit-user-stories-arbeiten%3F)\n- [Kann ich auch ohne User Stories auskommen?](#kann-ich-auch-ohne-user-stories-auskommen%3F)\n- [Welche Rolle spielen User Stories in Agile?](#welche-rolle-spielen-user-stories-in-agile%3F)\n- [User Stories in Scrum](#user-stories-in-scrum)\n- [Wie schreibe ich eine gute User Story?](#wie-schreibe-ich-eine-gute-user-story%3F)\n  - [Das 3C-Modell](#das-3c-modell)\n  - [INVEST](#invest)\n- [Scrum User Story: Aufbau und Beispiel](#scrum-user-story-aufbau-und-beispiel)\n  - [User-Story-Beispiel Schritt 1: 5 Whys](#user-story-beispiel-schritt-1-5-whys)\n  - [User-Story-Beispiel Schritt 2: Connextra-Template](#user-story-beispiel-schritt-2-connextra-template)\n  - [User-Story-Beispiel Schritt 3: Akzeptanzkriterien](#user-story-beispiel-schritt-3-akzeptanzkriterien)\n  - [Das Gherkin-Format](#das-gherkin-format)\n- [Agile Schätzung](#agile-schatzung)\n- [Story Points: Aufwand vs. Arbeitszeit](#story-points-aufwand-vs-arbeitszeit)\n- [Story Points in der Schätzung](#story-points-in-der-schatzung)\n  - [Planning Poker](#planning-poker)\n  - [Affinity Mapping](#affinity-mapping)\n- [Wer schreibt User Stories?](#wer-schreibt-user-stories%3F)\n\nWir werden dabei definieren, was User Stories sind, über das Schreiben und den Aufbau einer User Story informieren, Beispiele geben und dir zeigen, was eine gute User Story ausmacht. Doch fangen wir mit einer grundlegenden Frage an:\n\n## Was ist eine User Story?\n\nManche bezeichnen eine User Story schlicht als die kleinste Einheit (oder auch als ein „[Werkzeug](https://t2informatik.de/wissen-kompakt/user-story/)”) der agilen Methode. Andere, darunter auch die [Agile Scrum Group](https://scrumguide.de/user-story/), als eine „Beschreibung dessen, was ein Benutzer (User) will.” \n\nAus diesen Definitionsversuchen wird deutlich: **Eine User Story ist eigentlich gar keine „Geschichte”. Sie stellt vielmehr einen Ansatz dar, dein Produkt so zu verändern, dass es aus der Sicht der Kund(innen) ein neues, besseres Erlebnis bietet.** \n\nInnerhalb einer User Story ist ein neues Feature somit nur dann eine Verbesserung, wenn es Anwender(innen) einen ganz bestimmten, erfahrbaren Nutzen bietet. Eine Software zu „optimieren”, ohne nach diesem Nutzen zu fragen, wird dabei als nicht zielführend betrachtet. \n\nGute User Stories zu schreiben, bedeutet, dich in der Entwicklung von Kund(innen) leiten zu lassen und auf ihre Bedürfnisse und Wünsche hinzuarbeiten. Es bedeutet, den Fokus auf Features hinter dir zu lassen und dich in Richtung einer Betrachtungweise zu bewegen, bei der echte Wertschöpfung in den Mittelpunkt gestellt wird. \n\nDennoch wurde der Begriff „Story”, wie Jeff Patton, einer der geistigen Väter der modernen User Story betont hat, mit Bedacht gewählt. Wir werden darauf später noch genauer eingehen. \n\n## Warum sollte ich mit User Stories arbeiten?\n\nDiese Frage stellt sich in einigen Teams wohl so manche(r). Denn in der Praxis nimmt sich die Arbeit mit User Stories nicht immer einfach aus. Dennoch lohnt sich die investierte Mühe zweifelsohne. Denn das Konzept der User Story mag auf dem Papier fast schon banal anmuten. In Wahrheit steckt dahinter eine entscheidende Neuausrichtung der Entwicklungsarbeit:\n\n* User Stories legen den Fokus voll und ganz auf die Anwender(innen) \\- also auf diejenigen, die das Produkt nutzen, bewerten und bezahlen.   \n* Sie verlagern den Schwerpunkt von „objektiven” Features auf das „subjektive” Erlebnis, mit diesen Features zu arbeiten. Hier kommt der „Story-Gedanke” zum Tragen: Wie wertvoll dein Produkt aus Sicht der Kund(innen) ist, hängt von der Geschichte ab, die sich User(innen) darüber bilden.   \n* Damit kombinieren diese Stories beide Sichten auf ein Produkt: Die technisch-funktionale sowie die narrativ-emotionale.   \n* Weil User Stories die Betonung auf den Nutzen legen, der für Kund(innen) entsteht, sind sie in ihrer Umsetzung nicht starr festgelegt. Das Ziel ist nicht die Anwendung, sondern die Vorstellung von einer besseren Erfahrung. Der Weg zu dieser Erfahrung lässt sich auf viele verschiedene Weisen erreichen.   \n* User Storys sind Teil eines kontinuierlichen Verbesserungsprozesses wie der [automatisierten Softwarebereitstellung](https://about.gitlab.com/de-de/solutions/delivery-automation/), mit vielen sofort testbaren Zwischenstufen (*minimal viable product*, das kleinste realisierbare Produkt). Dieser Prozess endet theoretisch mit einem Produkt, das aus Sicht der Kund(innen) nicht mehr optimiert werden kann (und welches somit in der Praxis niemals erreicht werden wird). \n\nIn der Regel helfen User Stories auch dabei, sinnvolle Prioritäten zu setzen, die praxisnah und in einem angemessenen Zeitrahmen realisierbar sind. \n\n## Kann ich auch ohne User Stories auskommen? \n\nUser Stories haben sich fest etabliert. Dennoch kommen auch heute noch viele Teams ohne sie aus. Sogar Firmen, die sich eigentlich fest der agilen Methode verschrieben haben, nutzen sie nicht zwangsläufig. \n\nTrotzdem kann man behaupten: Wer wirklich agil arbeiten will, wird zumindest mit Instrumenten und Konzepten arbeiten, die den User Stories sehr nahe kommen. Wie wir im nächsten Abschnitt zeigen werden, bauen beide auf demselben Ansatz auf und sind eng miteinander verflochten.\n\nAndersherum gilt auch: Nicht jedes Team, das auf User Stories setzt, hat die Philosophie voll verinnerlicht. Nur allzu leicht wird eine User Story zu einem einfachen „Requirement” \\- einer Auflistung gewünschter Funktionalitäten, bei der oftmals der Nutzen für Kund(innen) vergessen wird. \n\n## Welche Rolle spielen User Stories in Agile? \n\nAus dem Gesagten wird ersichtlich, warum User Stories in der agilen Entwicklung auf einen fruchtbaren Nährboden gestoßen sind. Beide legen den Fokus auf ständige Verbesserungen, Teamarbeit einschließlich einer engen Zusammenarbeit mit Kund(innen), und die Orientierung der Ergebnisse an klaren Bewertungskriterien. \n\nUser Stories fügen sich nahtlos in eine agile Organisation ein: \n\n* Idealerweise kann eine User Story innerhalb eines einzigen Sprints abgearbeitet werden.   \n* User Stories werden im Team festgelegt, besprochen und umgesetzt.  \n* Ein klar definiertes Bewertungssystem liefert die Daten, die benötigt werden, um ein Projekt abzuschließen.\n\nWillst du User Stories in deinem Team nutzen? Wenn du mit Kanban arbeitest, brauchst du für deine Projektarbeit nichts zu verändern. Du kannst weiterhin mit deinen To-do-Listen arbeiten, richtest die Ziele aber nunmehr auf die Perspektive von Kund(innen) aus. \n\n## User Stories in Scrum\n\nWie gezeigt, sind User Stories sehr eng mit der agilen Methode verbunden. Und Scrum ist eine der zentralen Konzepte zur Umsetzung der agilen Methode. So erscheint es als selbstverständlich, dass User Stories auch in Scrum Anwendung finden.\n\nInteressanterweise aber werden sie im [Scrum User Guide](https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-German.pdf) nicht erwähnt. Stattdessen thematisiert dieser lediglich den „Product Backlog”, also\n\n*„alle Features, Funktionalitäten, Verbesserungen und Fehlerbehebungen, die das Produkt in Zukunft verändern sollen. Ein Product Backlog Item enthält eine Beschreibung, eine Reihenfolge, Schätzung und Bewertung als Attribute.” \\[Übersetzung aus dem Englischen\\]*\n\nAus dem gerade Erwähnten dürfen keine falschen Schlussfolgerungen gezogen werden. \n\nUser Stories sind nicht die einzige Möglichkeit, mit Scrum kundenorientiert zu arbeiten. Trotzdem haben sie in Scrum ganz gewiss ihren Platz\\! Vielmehr möchte sich der Scrum-Guide nur nicht eindeutig auf ihre Verwendung festlegen und Scrum-Mastern maximale Freiheit einräumen.\n\n## Wie schreibe ich eine gute User Story?\n\nDiese Frage stellt sich zu Beginn nahezu jedes neuen Sprints. Wenn User Stories intuitiv erfassbar und ihre Vorteile offensichtlich sind und wenn das Konzept an sich einfach zu erklären ist \\- warum fällt es dann schwer, es in die Praxis umzusetzen?\n\nWenn du dich mit dieser Frage beschäftigst, mache dir deswegen keine Vorwürfe. User Storys gibt es als methodische Idee bereits seit fast 30 Jahren. Innerhalb dieser Zeit hat es immer wieder Bemühungen gegeben, die Umsetzung zu vereinfachen \\- ein eindeutiges Indiz, dass sie nicht einfach ist. \n\nEine gute User Story hat bestimmte Qualitätskriterien. Diese werden wir uns im nächsten Abschnitt ansehen. Trotzdem glauben wir, dass es möglich ist, auf einer etwas allgemeineren Ebene zu erklären, was eine gute User Story ausmacht:\n\nDamit eine User Story wirklich Nutzen für Kund(innen) generiert, muss sie ihrer Erlebniswelt so nahe wie möglich kommen. Deshalb werden viele der besten User Storys de facto von den Anwender(innen) verfasst \\- sei es nach einem intensiven Gespräch oder weil der Kontakt so eng ist, dass du sehr genau abschätzen kannst, was diese sich wünschen. \n\nDas zweite wichtige Kriterium ist, diesen Nutzen so lebendig wie möglich darzustellen. Wir haben zu Anfang erwähnt, dass eine User Story keine Geschichte ist. Wenn wir sie zu Papier bringen, dann solltest du sie dir sehr plastisch vorstellen können: *So dreidimensional wie ein kleiner Film, der vor dem geistigen Auge abläuft, so kurz gefasst wir ein Haiku.* Dabei kannst du die Zufriedenheit bei Anwender(innen) förmlich spüren. \n\nAuf einer formalen Ebene können das 3C-Modell und die INVEST-Methode weitere Hinweise liefern. In den folgenden beiden Abschnitten gehen wir genauer auf sie ein.\n\n### Das 3C-Modell\n\nDas 3C-Modell entstand bereits früh in der User-Story-Geschichte. Es stammt noch aus einer Zeit, in der die Stories noch wortwörtlich „zu Papier” gebracht wurden. Für eine gute Story sollten in diesem Rahmenwerk folgende drei Punkte erfüllt sein:\n\n1. **C**ard: Die User Story sollte so knapp bemessen sein, dass sie auf eine Karteikarte passt, jedoch ausführlich genug, dass sie diese Karte komplett ausfüllt.   \n2. **C**onversation: Die User Story definiert einen Wunsch und Nutzen der Kund(innen). Die Bewertung und Umsetzung dieser Story erfolgt in enger Zusammenarbeit zwischen allen Teammitgliedern und Kund(innen). Intensive Gespräche sind dabei ein zentraler Bestandteil.  \n3. **C**onfirmation: Es muss eine objektivierbare Möglichkeit bestehen, festzustellen, wann das Ziel erreicht ist. \n\nDas 3C-Modell ist angenehm knapp und bringt zur Geltung, was eine gute Story von einer weniger überzeugenden unterscheidet. Gleichzeitig liefert es wenig praktische Hilfe dabei, eine solche User Story zu schreiben.\n\n### INVEST\n\nAuch bei dem Akronym INVEST handelt es sich um einen Katalog von Anforderungen an gutes User-Story-Schreiben. Es gibt Überschneidungen mit 3C, aber auch eigenständige Punkte.\n\nSehen wir uns die sechs Anforderungen von INVEST einzeln an:\n\n1. **I**ndependent: Jede User Story sollte einen eigenständigen Wunsch von Kund(innen) abbilden. Sie sollte nicht von der Umsetzung anderer Wünsche abhängen.   \n2. **N**egotiable: Die Bedürfnisse der Kund(innen) stehen immer im Vordergrund. Aber eine User Story lebt auch vom regen Austausch zwischen verschiedenen Abteilungen und Teams. Wichtiger als ein starres Festhalten an einmal gewählten Formulierungen ist ein ständiges Aushandeln und Neuverhandeln der Ziele sowie der Methoden zu ihrer Umsetzung.   \n3. **V**aluable: Eine gute User Story muss einen echten, spürbaren Nutzen für Kunden liefern.  \n4. **E**stimate: Manche User Storys werden sich schnell und problemlos lösen lassen. Andere sind komplex. Damit für die praktische Arbeit ausreichend Mitarbeiter(innen) mit dem erforderlichen Wissen zur Verfügung gestellt werden, bedarf es einer möglichst genauen Aufwandseinschätzung.  \n5. **S**mall: Eine User Story sollte in einem Sprint beendet werden können. Sobald du mit einem signifikant höheren Aufwand rechnest, solltest du die Story aufteilen oder von Anfang an als Epic planen.  \n6. **T**estable: Zur Bewertung einer User Story solltest du Abnahmekriterien festlegen können. Diese erlauben es dir, später zu bestimmen, ob du das zu Anfang gesteckte Ziel erreicht hast. Mit diesen Akzeptanzkriterien beschäftigen wir uns gleich.\n\nWie du aus dieser Übersicht erkennen kannst, beziehen sich die über das 3C-Modell hinausgehenden Punkte von INVEST vor allem auf die Arbeit in Scrum. Aus diesem Grund ergibt INVEST Sinn für alle Scrum-Master, die sich intensiver mit User Stories auseinandersetzen wollen.\n\n## Scrum User Story: Aufbau und Beispiel\n\nGehen wir nun zu dem Punkt über, der in nahezu allen Artikeln und Übersichten zum Thema fehlt: Einem praktischen Beispiel für eine User Story in Scrum und wie du sie so schreiben kannst, dass sie zu einem wünschenswerten Ergebnis führt. Wir werden in diesem Artikel nicht näher auf ein Epic-Beispiel (lange User Story) eingehen. Denn auch, wenn die Zyklen sich hier über mehrere Sprints erstrecken, bleibt das Grundprinzip identisch. \n\nNehmen wir an, du hast aus Gesprächen mit Kund(innen) ermittelt, dass diese nicht zufrieden mit der Updatefunktion deines Produkts sind. Immer wieder werden sie während der Arbeit von Update-Meldungen gestört und die Durchführung der Updates beeinträchtigt zudem die Rechenkapazität. Sie würden gerne komfortabel bestimmen können, wann Updates installiert werden sollen oder sich gegen bestimmte Updates entscheiden.  \n\nWie verläuft nun der Weg von diesem ersten Wunsch der Kund(innen) hin zum neuen Feature, beziehungsweise zum Befriedigen des Wunsches der Kund(innen)? \n\n### User-Story-Beispiel Schritt 1: 5 Whys\n\nDas Konzept der User Story fußt auf der Schöpfung von Nutzen. Deshalb sollte das genaue Definieren dieses Nutzens höchste Priorität genießen. Wenn du den Nutzen nicht richtig erfasst, wird es deinem Team auch nicht gelingen, die zentrale emotionale Komponente des Prozesses \\- die „Story” \\- zufriedenstellend umzusetzen. \n\nHilfe bietet hier die 5-Why-Technik. \n\nFange damit an, was du erreichen möchtest: ein Update-Prozess, der von Kund(innen) nicht mehr als Belästigung empfunden wird, sondern als Unterstützung und Optimierung. Anschließend stelle dir selbst die Aufgabe, fünf gute Gründe zu finden, warum diese Story einen Nutzen stiftet.\n\nFür diese User Story wäre zum Beispiel aus der Sicht von Kund(innen) denkbar:\n\n* Damit ich bei voller Rechenleistung weiterarbeiten kann.  \n* Damit ich zunächst sicherstellen kann, dass genug Speicherplatz zur Verfügung steht.   \n* Damit ich die Entscheidung über Updates dann treffe, wenn ich mich damit auch wirklich auseinandersetzen kann und möchte.   \n* Damit ich gezielt nur die Updates auswählen kann, die ich brauche.   \n* Damit ich weiß, welche neuen Updates installiert wurden und immer auf dem neuesten Stand bleibe.\n\nJe mehr Details du hier erarbeiten kannst, umso deutlicher wird es für das Team als Ganzes (und manchmal sogar für die Kund(innen) selbst), worin genau die „Story” besteht.\n\n### User-Story-Beispiel Schritt 2: Connextra-Template\n\nWir haben es bereits erwähnt: User Stories sind eher wie Haikus als Geschichten. Und genau wie Haikus hilft es, bei der Formulierung einer User Story einem mehr oder weniger strengen Format zu folgen.   \n\nRachel Davis von der Firma Connextra stellte fest, dass viele Mitarbeiter(innen) mit dem Schreiben einer guten User Story überfordert waren. Die inhärente Freiheit des Konzepts erwies sich als ein Problem. Wie so oft bot eine gezielte Limitierung der Optionen eine passende Lösung.\n\nDavis schlug den folgenden User-Story-Aufbau vor:\n\n*Als \\[Rolle\\] möchte ich \\[Story\\], damit ich \\[Grund\\]*\n\nDas bedeutet in unserem User-Story-Beispiel:\n\n*Als Kundin möchte ich in Ruhe mit der Software arbeiten können, ohne von Updates unterbrochen zu werden. Ich möchte aber auch immer darüber informiert sein, was für Updates genau neu installiert werden und mich gegebenenfalls gegen sie entscheiden. Der Grund ist, dass ich es vorziehe, immer die Kontrolle über die Software zu behalten und immer auf dem neuesten Stand zu sein.* \n\nDies ist leider nicht, wie das Template in der Praxis üblicherweise benutzt wird. Oftmals setzen viele Teams statt einer emotional gelebten „Story” einfach eine rein technische Funktionalität ein. \n\nDabei geht genau der wichtigste Teil verloren. Bei User Stories geht es um eine alternative Möglichkeit, mit dem Produkt zu arbeiten \\- nicht um eine neue Methode, die Arbeit aufzuteilen. Wenn du so vorgehst, nutzt du zwar formal einen passenden User-Story-Aufbau, arbeitest aber mit alten Methoden. \n\nDas Connextra-Template verführt dazu, zu Mustern zurückzukehren, die du hinter dir lassen solltest. Wer es aber in seiner ursprünglichen Form verwendet, kann sehr großen Nutzen daraus ziehen. \n\n### User-Story-Beispiel Schritt 3: Akzeptanzkriterien\n\nJede gute Geschichte hat einen Anfang und ein Ende. Ohne das letzte Kapitel und ein zufriedenstellendes Finale wird selbst ein spannender Anfang und ein packender Mittelteil mit einer Enttäuschung enden. \n\nAus diesem Grund solltest du unbedingt gleich zu Anfang Akzeptanzkriterien für deine User Story festlegen. Diese setzen einen Rahmen dafür, wann eine User Story als beendet („done”) betrachtet werden kann. Zusammen mit dem vierten Schritt, dem Abschätzen, verankern sie User Stories fest im agilen Framework. \n\nDie Agile Scrum Group meint [zum Thema Akzeptanzkriterien](https://agilescrumgroup.de/akzeptanzkriterien/): \n\n*„Akzeptanzkriterien geben einer User Story Details, sodass Sie wissen, wann eine User Story fertig ist. Akzeptanzkriterien entstehen aus Gesprächen zwischen dem Product Owner, den Stakeholdern und den Entwicklern, wenn Sie nach dem Scrum Framework arbeiten.”*\n\nEs empfiehlt sich bei dem Festlegen der Akzeptanzkriterien folgendes zu beachten:\n\n* 4-8 Akzeptanzkriterien pro User Story erscheinen den meisten Experten als eine sinnvolle Menge.  \n* Suche nach objektiven Kriterien, insofern dies innerhalb der subjektiven Grenzen einer User Story möglich ist. Umso präziser sich feststellen lässt, ob ein Kriterium erfüllt wurde, um so besser.  \n* Entscheidend bei User Storys ist die „Story”, die sich Kund(innen) wünschen, nicht, wie diese umgesetzt wird oder welche Features sie beinhaltet. Lege deshalb genau fest, „was” du erreichen möchtest \\- und überlasse das „wie” der Teamarbeit.\n\nWie sehen Akzeptanzkriterien in der Praxis aus? Es gibt hier verschiedene Ansätze. Das beste Beispiel ist das sogenannte Gherkin-Format.\n\n### Das Gherkin-Format\n\nEbenso wie das Connextra-Template für den User-Story-Aufbau packt das Gherkin-Format die Formulierung von Akzeptanzkriterien für diese User Stories in ein fixes Format. Das erleichtert die Arbeit ungemein. \n\nDas Format sieht folgendermaßen aus:\n\n*Gegeben \\\u003CVoraussetzung\\>*  \n*wenn \\\u003CEreignis\\>*  \n*dann \\\u003CErgebnis\\>*\n\nSo kann für viele potenzielle Fälle ein Szenario entworfen werden. Ein hervorragendes User-Story-Beispiel findet sich in einem ausführlichen [PDF-Leitfaden des Bundesinnenministeriums](https://www.digitale-verwaltung.de/SharedDocs/downloads/Webs/DV/DE/servicehandbuch.pdf?__blob=publicationFile&v=3): Hier möchten Anwender(innen) ein „Passbild hochladen\", damit ihre „Antragsdaten vollständig sind”: \n\n*„Szenario: Bilddatei hochladen*  \n*Gegeben ist, dass der Nutzende angemeldet ist und sich auf dem entsprechenden Formular befindet,*  \n*Wenn der Nutzende eine ausgewählte Datei hochlädt und es sich um eine Bilddatei handelt,*  \n*dann wird sie übernommen und dem Nutzenden als hochgeladen angezeigt und die Biometrie-Prüfung*  \n*wird angestoßen.*\n\n*Szenario: Falsches Format hochladen*  \n*Gegeben ist, dass der Nutzende angemeldet ist und sich auf dem entsprechenden Formular befindet,*  \n*Wenn der Nutzende eine ausgewählte Datei hochlädt und es keine Bilddatei ist,*  \n*dann wird sie nicht übernommen und es wird ein Fehler angezeigt.”*\n\n## Agile Schätzung\n\nDie Welt der Softwareentwicklung ist nicht linear. Aufgaben werden nicht bequem der Reihe nach abgearbeitet. In der Regel gilt es, mit einer limitierten Menge an Arbeitszeit die von dir und deinem Team definierten User Stories gleichzeitig oder zeitversetzt umzusetzen. Das stellt die Planung vor anspruchsvolle Aufgaben. \n\nDas Ziel der User-Story-Organisation besteht darin, zu verstehen, wie viel Aufwand jede einzelne Story erfordert. Je genauer du dies weißt, desto genauer wirst du in der Lage sein, die zu erledigenden Aufgaben auf die bestehenden Kapazitäten zu verteilen. Je gröber dein Verständnis, umso höher das Risiko, dass User Stories gar nicht oder nicht in der erforderlichen Qualität erledigt werden. \n\nDieses Risiko kann das Überleben des Unternehmens gefährden. Aus diesem Grund nimmt die agile Schätzung \\- also die Schätzung des Aufwands deiner User Stories \\- eine zentrale Rolle ein. \n\nDu könntest nun meinen, dass es dafür eine einfache Lösung gibt: Du weist schlicht jeder User Story eine geschätzte Bearbeitungsdauer zu und verteilst die Arbeit anschließend so, dass sie innerhalb der geplanten Sprints erledigt werden kann. \n\nIn der Praxis haben sich andere Ansätze als effektiver erwiesen. \n\n## Story Points: Aufwand vs. Arbeitszeit\n\nZeit ist relativ. Was für das Universum als Ganzes gilt, hat auch in der Softwareentwicklung Bestand. Arbeitszeit präziseeinzuschätzen hängt von einer Vielzahl von Faktoren ab und kann sich sogar für erfahrene Personalplaner als äußerst schwierig erweisen. Gerade bei schnellen und zugleich zeitintensiven Branchen können selbst kleine Abweichungen massive Folgewirkungen haben und den gesamten Zeitplan durcheinander bringen.\n\nAus unserer Sicht sind zwei Punkte verantwortlich dafür, dass Zeit in der Planung kein idealer Bewertungsmaßstab ist:\n\n* Die Komplexitäten verschiedener User Stories können sehr weit auseinanderklaffen. Das bedeutet nicht unbedingt, dass komplexe Aufgaben mehr Zeit benötigen. Möglicherweise erfordern sie lediglich, dass sich erfahrene, hochqualifizierte oder auf dieses Thema geschulte Teammitglieder um ihre Bearbeitung kümmern müssen.   \n* Der Aufwand einer Aufgabe hängt ebenfalls von sehr unterschiedlichen Faktoren ab. Manche User Stories müssen ausgiebig im Team diskutiert werden, andere erfordern viel Zeit, um realisiert zu werden, obwohl sie keineswegs „schwierig” sind. Andere können nur in ständiger Rücksprache mit Kund(innen) umgesetzt werden. All das beeinflusst die Arbeitszeit, teilweise auf eine Art und Weise, die nur schwer vorherzusehen ist.\n\nAus diesem Grund hat sich eine andere Einheit zur Einschätzung herauskristallisiert: Story Points. Dabei handelt es sich um ein Maß, das den Aufwand einer User Story auf eine nicht direkt mit der erforderlichen Zeit verbundene Weise zu bestimmen versucht: Je mehr Story Points eine User Story erfordert, umso höher der Aufwand. \n\n## Story Points in der Schätzung\n\nStory Points sind Aufwandspunkte. Sie können in erfahrenen Teams zu sehr genauen Schätzungen führen. Trotzdem stehen sie niemals für absolute Werte und sind im Gesamtkontext aller aktuell anstehenden User Storys zu sehen. \n\nDie beliebtesten Konzepte basieren nahezu alle grob auf der Fibonacci-Folge. In dieser Sequenz entsteht die jeweils nächste Zahl aus der Summe der beiden vorangegangenen. Die ersten 13 Einträge dieser Folge sind demzufolge:\n\n0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144\n\nIn der User-Story-Planung werden diese Zahlen ein wenig geglättet. So entsteht zum Beispiel die folgende Kette:\n\n0, 1, 2, 3, 4, 5, 8, 13, 20, 30, 50, 100\n\nWir haben auch Konzepte gefunden, in der zwischen 0 und 1 noch ein 0,5 eingefügt und statt einer 50 eine 40 gewählt wurde. Das aber sind Feinheiten, die das Konzept als solches nicht wesentlich  tangieren. \n\nAnschließend weist das Team den User Stories einen dieser Zahlenwerte zu. Daraus entsteht eine Reihenfolge der Stories nach Aufwand. Die folgenden Methoden zur Zuweisung von Story Points sind üblich:\n\n### Planning Poker\n\nBeim Planning Poker weisen die Teammitglieder jeder User Story auf einer verdeckt gehaltenen Karte, je nach dem geschätzten Aufwand, Story Points zwischen 0 und 100 zu. Anschließend werden die Karten offen auf den Tisch gelegt und nach Zahl der Story Points auf Stapel verteilt. \n\nDer Stapel mit den meisten Karten ist der „Sieger” und die User Story erhält die damit verbundene Zahl an Punkten, beispielsweise 20\\. \n\nDas Planning Poker ist eine elegante Methode der Aufwandsschätzung, die letzten Endes aber natürlich einer simplen Abstimmung gleichkommt. \n\nDas Konzept der Planung durch T-Shirtgrößen, was sich ebenfalls oft in einschlägigen Artikeln findet, ist aus unserer Sicht keine eigenständige Methode, sondern eine modifizierte Variante des Pokers. Gleiches gilt für das „Bucket System” (ein Eimer, in den die Karten geschmissen werden) oder das „Dot Voting” (mit kleinen Klebepunkten). \n\n### Affinity Mapping\n\nDas Affinity Mapping ist eine der wenigen Alternativen zum Planning Poker. Es besteht aus zwei Phasen:\n\n1. Zunächst gruppieren alle Teammitglieder gemeinschaftlich die Aufgaben, die einen ähnlichen Komplexitätsgrad aufweisen. Die Einteilung erfolgt durch Diskussion innerhalb des Teams.  \n2. Anschließend werden den User Stories innerhalb der Gruppe, entweder durch weitere Gespräche oder Methoden wie Planning Poker, Story Points zugewiesen. So entsteht eine Reihenfolge, bei der die aufwandsintensiven Stories ganz oben, die vermutlich weniger anspruchsvollen weiter unten stehen. \n\n## Wer schreibt User Stories?\n\nIn der Vergangenheit wurde die Planung und Aufgabenzuweisung üblicherweise von einer zentralen Instanz oder einer verantwortlichen Person vorgenommen. Bis heute hat sich diese Arbeitsverteilung in vielen Unternehmen gehalten. Sogar Scrum, ein teamorientiertes Konzept innerhalb der teamorientierten Agile-Management-Philosophie, arbeitet bis heute mit einem Scrum-Master.\n\nDas Schreiben von User Stories unterscheidet sich hier deutlich. Zwar wird die erste Version der User Story oftmals noch von einem erfahrenen Teammitglied verfasst, beispielsweise nach einem ausführlichen Austausch mit Kund(innen). Hier schließt sich direkt die Phase der „Verhandlungen” an, also des Austauschs zwischen allen Beteiligten. \n\nSomit werden User Stories zwar noch sehr oft von Einzelnen vorbereitet, geschrieben werden sie aber von der Gruppe. \n\nGenau das macht sie auch zu einem so großartigen Tool. Denn wie jeder Autor weiß, ist eine Geschichte nur dann gut, wenn man sich mit ihr identifizieren kann. \n\n*Willst Du mehr dazu wissen, wie Deine persönliche User Story in Scrum zum Erfolg wird? Dann empfehlen wir Dir unseren Leitfaden zur [Verwendung von Scrum in GitLab](https://docs.gitlab.com/ee/tutorials/scrum_events/). Oder informiere Dich dazu, warum GitLab ganz allgemein die führende [DevSecOps-Plattform](https://about.gitlab.com/de-de/platform/) ist.*",[809],"GitLab Germany Team","2025-05-20","So schreibst du eine User Story in Scrum",[779],"Der große User-Story-Guide für Scrum: Beispiele, Aufbau, Akzeptanzkriterien, Formulierung. Jetzt hier klicken und durchlesen!",{"slug":815,"featured":646,"template":785},"how-to-write-a-user-story-in-scrum",{"category":660,"slug":658,"posts":817},[818,830,842],{"content":819,"config":828},{"title":820,"description":821,"heroImage":822,"authors":823,"date":825,"body":826,"category":658,"tags":827},"KI erkennt Schwachstellen – aber wer verantwortet das Risiko?","KI-gestützte Schwachstellenerkennung entwickelt sich schnell, doch Durchsetzung, Governance und Supply-Chain-Sicherheit erfordern eine integrierte Plattform.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772195014/ooezwusxjl1f7ijfmbvj.png",[824],"Omer Azaria","2026-02-27","Anthropic hat kürzlich Claude Code Security angekündigt – ein KI-System, das Schwachstellen erkennt und Korrekturen vorschlägt. Die Reaktion der Märkte folgte prompt: Die Aktien von Cybersecurity-Unternehmen gaben nach, als Investoren begannen, die Zukunft klassischer AppSec-Tools in Frage zu stellen. Die Frage, die viele beschäftigt: Wenn KI Code schreiben und absichern kann, wird Anwendungssicherheit dann überflüssig?\n\nWenn Sicherheit nur das Scannen von Code bedeutete, wäre die Antwort vielleicht ja. Aber Enterprise-Sicherheit war noch nie auf Erkennung allein ausgerichtet.\n\nUnternehmen fragen nicht, ob KI Schwachstellen finden kann. Sie stellen drei weitaus schwieriger zu beantwortende Fragen:\n\n* Ist das, was wir ausliefern wollen, sicher?\n* Hat sich unsere Risikolage verändert, während sich Umgebungen, Abhängigkeiten, Drittanbieter-Services, Tools und Infrastruktur kontinuierlich wandeln?\n* Wie lässt sich eine Codebasis steuern, die zunehmend von KI und Drittquellen zusammengestellt wird – für die wir aber weiterhin verantwortlich sind?\n\nDiese Fragen erfordern eine Plattformantwort: Erkennung macht Risiken sichtbar, aber Governance bestimmt, was als nächstes passiert.\n\n[GitLab](https://about.gitlab.com/de-de/) ist die Orchestrierungsschicht, die den Software-Lebenszyklus durchgängig steuert und Teams die Durchsetzung, Transparenz und Nachvollziehbarkeit gibt, die sie brauchen, um mit der Geschwindigkeit KI-gestützter Entwicklung Schritt zu halten.\n\n## KI vertrauen erfordert Governance\n\nKI-Systeme werden zunehmend besser darin, Schwachstellen zu identifizieren und Korrekturen vorzuschlagen. Das ist ein bedeutender Fortschritt – aber Analyse ist keine Verantwortung.\n\nKI kann Unternehmensrichtlinien nicht eigenständig durchsetzen oder akzeptables Risiko definieren. Menschen müssen die Grenzen, Richtlinien und Leitplanken festlegen, innerhalb derer Agenten operieren: Funktionstrennung sicherstellen, Audit-Trails gewährleisten und konsistente Kontrollen über Tausende von Repositories und Teams hinweg aufrechterhalten. Vertrauen in Agenten entsteht nicht durch Autonomie allein, sondern durch klar definierte Governance durch Menschen.\n\nIn einer [agentischen Welt](https://about.gitlab.com/de-de/topics/agentic-ai/), in der Software zunehmend von autonomen Systemen geschrieben und verändert wird, wird Governance wichtiger, nicht unwichtiger. Je mehr Autonomie Unternehmen KI gewähren, desto stärker muss die Governance sein.\n\nGovernance ist keine Bremse. Sie ist das Fundament, das KI-gestützte Entwicklung im Unternehmensmaßstab vertrauenswürdig macht.\n\n## LLMs sehen Code, Plattformen sehen Kontext\n\nEin Large Language Model ([LLM](https://about.gitlab.com/de-de/blog/what-is-a-large-language-model-llm/)) bewertet Code isoliert. Eine Enterprise Application Security-Plattform versteht Kontext. Dieser Unterschied ist entscheidend, weil Risikoentscheidungen kontextabhängig sind:\n\n* Wer hat die Änderung vorgenommen?\n* Wie kritisch ist die Anwendung für das Unternehmen?\n* Wie interagiert sie mit Infrastruktur und Abhängigkeiten?\n* Liegt die Schwachstelle in Code, der tatsächlich in der Produktion erreichbar ist, oder in einer Abhängigkeit, die nie ausgeführt wird?\n* Ist sie in der Produktion tatsächlich ausnutzbar – angesichts der Art, wie die Anwendung läuft, ihrer APIs und der sie umgebenden Umgebung?\n\nSicherheitsentscheidungen hängen von diesem Kontext ab. Fehlt er, produziert Erkennung laute Alarme, die die Entwicklung verlangsamen, anstatt Risiken zu reduzieren. Mit ihm können Unternehmen schnell priorisieren und Risiken gezielt managen. Da sich Kontext mit jeder Softwareänderung weiterentwickelt, kann Governance keine einmalige Entscheidung sein.\n\n## Statische Scans halten mit dynamischem Risiko nicht Schritt\n\nSoftware-Risiko ist dynamisch. Abhängigkeiten ändern sich, Umgebungen entwickeln sich, und Systeme interagieren auf Weisen, die keine einzelne Analyse vollständig vorhersehen kann. Ein sauberer Scan zu einem Zeitpunkt garantiert keine Sicherheit beim Release.\n\nEnterprise-Sicherheit setzt auf kontinuierliche Absicherung: Kontrollen, die direkt in Entwicklungs-Workflows eingebettet sind und Risiken bewerten, während Software entwickelt, getestet und bereitgestellt wird.\n\nErkennung liefert Erkenntnisse. Governance schafft Vertrauen. Kontinuierliche Governance ermöglicht es Unternehmen, im Unternehmensmaßstab sicher auszuliefern.\n\n## Die agentische Zukunft steuern\n\nKI verändert, wie Software entsteht. Die Frage lautet nicht mehr, ob Teams KI einsetzen werden, sondern wie sicher sie dabei skalieren können.\n\nSoftware wird heute ebenso zusammengestellt wie geschrieben – aus KI-generiertem Code, Open-Source-Bibliotheken und Drittanbieter-Abhängigkeiten, die sich über Tausende von Projekten erstrecken. Zu steuern, was über all diese Quellen hinweg ausgeliefert wird, ist der anspruchsvollste Teil der Anwendungssicherheit – und jener, für den kein entwicklerseitiges Tool ausgelegt ist.\n\nAls intelligente Orchestrierungsplattform ist GitLab darauf ausgerichtet, dieses Problem zu lösen. GitLab Ultimate bettet Governance, Richtliniendurchsetzung, Security Scanning und Nachvollziehbarkeit direkt in die Workflows ein, in denen Software geplant, entwickelt und ausgeliefert wird – damit Security-Teams im Tempo von KI steuern können.\n\nKI wird die Entwicklung erheblich beschleunigen. Den größten Nutzen werden nicht die Unternehmen ziehen, die die leistungsfähigsten KI-Assistenten einsetzen, sondern jene, die Vertrauen durch starke Governance aufbauen.\n\n> Wie GitLab Unternehmen dabei hilft, [KI-generierten Code zu steuern und sicher auszuliefern](https://about.gitlab.com/solutions/software-compliance/?utm_medium=blog&utm_campaign=eg_global_x_x_security_en_): [Jetzt mit unserem Team sprechen.](https://about.gitlab.com/sales/?utm_medium=blog&utm_campaign=eg_global_x_x_security_en_)\n\n## Weiterführende Beiträge\n- [KI und DevOps für verbesserte Sicherheit integrieren](https://about.gitlab.com/de-de/topics/devops/ai-enhanced-security/)\n\n- [Das GitLab KI-Sicherheits-Framework für Security-Verantwortliche](https://about.gitlab.com/de-de/blog/the-gitlab-ai-security-framework-for-security-leaders/)\n\n- [KI-Sicherheit in GitLab mit Composite Identities verbessern](https://about.gitlab.com/de-de/blog/improve-ai-security-in-gitlab-with-composite-identities/)\n\n---\n\n## Für deutsche Unternehmen: Governance als regulatorische Anforderung\n\nDie in diesem Beitrag beschriebenen Governance-Prinzipien adressieren Anforderungen, die regulierte Unternehmen in Deutschland unmittelbar betreffen könnten.\n\nDie NIS-2-Richtlinie (umgesetzt durch das NIS2UmsuCG) verpflichtet betroffene Unternehmen zu Maßnahmen im Bereich Risikoanalyse und Informationssicherheit (Artikel 21 Abs. 2 lit. a), Incident-Handling (Artikel 21 Abs. 2 lit. b) sowie zur Sicherheit in der Software-Lieferkette (Artikel 21 Abs. 2 lit. d) und bei der sicheren Entwicklung (Artikel 21 Abs. 2 lit. e). Die hier beschriebene Unterscheidung zwischen Erkennung und Governance spiegelt genau diese regulatorische Logik wider: Schwachstellen zu finden reicht nicht – entscheidend ist, wer die Reaktion darauf steuert, dokumentiert und verantwortet.\n\nISO 27001 adressiert ähnliche Anforderungen: Zugriffskontrolle (A.5.15–18), Logging und Monitoring (A.8.15–16), Schwachstellenmanagement (A.8.8) sowie Änderungsmanagement (A.8.32) setzen voraus, dass Governance-Prozesse in Entwicklungs-Workflows eingebettet sind – nicht nachgelagert.\n\nFür Unternehmen in regulierten Branchen wie Finanzdienstleistungen (BaFin BAIT §6–7), Automotive (TISAX) oder kritischer Infrastruktur (BSI KRITIS) könnten diese Anforderungen besonders relevant sein. Für konkrete Compliance-Anforderungen empfiehlt sich Rücksprache mit entsprechender Fachberatung.",[778,759],{"featured":13,"template":785,"slug":829},"ai-can-detect-vulnerabilities-but-who-governs-risk",{"content":831,"config":840},{"title":832,"description":833,"authors":834,"heroImage":836,"date":837,"body":838,"category":658,"tags":839},"Wie GitLab Duo Agent Platform und Claude Softwareentwicklung beschleunigen","Wie externe KI-Modelle wie Claude von Anthropic Code-Generierung, Code-Reviews und Pipeline-Erstellung direkt in GitLab übernehmen.",[835],"Cesar Saavedra","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058602/epl3sinfezlzxnppxak6.png","2026-02-26","KI-Assistenten steigern die Produktivität einzelner Entwicklungsteams – aber sie arbeiten oft isoliert vom eigentlichen Entwicklungs-Workflow. Das Ergebnis: Kontextwechsel zwischen Tools, manuelle Übertragung von KI-Vorschlägen in ausführbaren Code und Routineaufgaben, die automatisiert werden könnten.\n\nDie [GitLab Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/) schließt diese Lücke: Externe KI-Modelle wie Anthropics Claude oder OpenAIs Codex lassen sich direkt in GitLab einbinden und als Agenten konfigurieren, die den Projektkontext kennen, Coding-Standards einhalten und komplexe Aufgaben eigenständig erledigen.\n\nCesar Saavedra, Developer Advocate bei GitLab, zeigt in seinem Video drei aufeinander aufbauende Anwendungsfälle – vom leeren Projekt bis zum Container-Image in der Registry.\n\n## Von der Idee zum Code\nAusgangspunkt ist ein leeres GitLab-Projekt mit einem Issue, das die Anforderungen an eine Java-Webanwendung beschreibt. Der externe Agent liest den Issue, analysiert die Spezifikationen und generiert eine vollständige Full-Stack-Anwendung: Backend-Java-Klassen, Frontend-Dateien (HTML/CSS/JavaScript) und Build-Konfiguration. Das Ergebnis landet als Merge Request mit vollständigem Code – bereit zur Überprüfung.\n\n## Code-Review durch denselben Agenten\nIm zweiten Schritt übernimmt derselbe Agent die Code-Review des soeben erstellten Merge Requests. Per Erwähnung im MR-Kommentar liefert er eine strukturierte Analyse: Stärken, kritische Probleme, mittlere und kleinere Verbesserungspunkte, Security-Assessment, Testhinweise, Code-Metriken und einen Approval-Status. Senior-Entwicklungsteams werden von Routineprüfungen entlastet und können sich auf Architekturentscheidungen konzentrieren.\n\n## Pipeline und Container-Image auf Anfrage\nDer generierte Code enthält noch keine CI/CD-Pipeline. Eine Anfrage im Merge Request genügt: Der Agent erstellt ein Dockerfile mit passenden Basis-Images für die im pom.xml definierte Java-Version, eine vollständige Pipeline mit Build-, Docker- und Deploy-Stages sowie das fertige Container-Image im integrierten GitLab Container Registry – ohne manuelle Konfiguration.\n\n## Mehr erfahren\nDie vollständige Videodemonstration mit Screenshots aller Schritte ist im [englischen Originalbeitrag](https://about.gitlab.com/blog/gitlab-duo-agent-platform-with-claude-accelerates-development/) verfügbar. Einen Einstieg in die GitLab Duo Agent Platform bietet außerdem der [Getting Started Guide](https://about.gitlab.com/de-de/blog/gitlab-duo-agent-platform-complete-getting-started-guide/).\n\n",[747,778,780],{"featured":646,"template":785,"slug":841},"gitlab-duo-agent-platform-with-claude-accelerates-development",{"content":843,"config":850},{"title":844,"description":845,"heroImage":846,"date":847,"body":848,"category":658,"tags":849},"Agentic SDLC: GitLab und TCS bringen Intelligent Orchestration ins Unternehmen","DevSecOps mit KI-Agenten skalieren, die Entwicklungsteams bei der Automatisierung von Workflows, Compliance und Delivery unterstützen.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771866240/l16gpgupgz8uelyc8jfy.png","2026-02-24","GitLab und TCS geben ihre Partnerschaft bekannt, um Unternehmen bei der\nskalierbaren Beschleunigung ihrer Software-Delivery zu unterstützen.\n\n\nUnternehmen benötigen schnelle, sichere Software-Delivery, kämpfen jedoch häufig mit fragmentierten Toolchains, uneinheitlichen Sicherheitskontrollen und manuellen Compliance-Prozessen. KI-generierter Code und KI-gestützte Bedrohungen erhöhen die Komplexität zusätzlich.\n\n\nDie GitLab- und TCS Center of Excellence (CoE)-Acceleratoren reduzieren gemeinsam Migrationsaufwände, kodifizieren Leitplanken und industrialisieren die DevSecOps-Einführung im Unternehmensmaßstab. Gemeinsam ermöglichen sie einen Weg von der Standardisierung zur Intelligent Orchestration – mit den notwendigen prüfbaren Leitplanken während der Entwicklung.\n\n\n## Für das zukunftsfähige Unternehmen\n\n\nUnternehmen suchen eine DevSecOps-Plattform mit langfristiger Stabilität, die keine regelmäßige Neuarchitektur im großen Maßstab erfordert.     GitLabs einheitliches Datenmodell verbindet den gesamten Software-Lebenszyklus zu einer einzigen Kontextquelle. Das ermöglicht Unternehmen, Pipelines, Kontrollen und Metriken im Unternehmensmaßstab zu standardisieren. GitLabs kontinuierliche Weiterentwicklung KI-gestützter Funktionen ist darauf ausgelegt, die Plattform auch bei der Einführung agentischer Workflows langfristig relevant zu halten.\n\n\nGitLab und TCS synchronisieren Multi-Agent-Orchestrierung, dynamische Planung, konfidenzbasierte Entscheidungsfindung und kontinuierliche Lernzyklen, um Coding, Reviews, Tests, Security und CI/CD-Workflows zu automatisieren.\n\n\nDie [GitLab Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/) stellt Intelligent Orchestration über den gesamten Software-Lebenszyklus bereit – durch kontextbewusste autonome Aktionen, mehrstufiges Reasoning, Code-Modernisierung, Security Scanning und Flow-Automatisierung, gesteuert durch GitLabs KI-native DevSecOps-Kontrollen. Dies ist kompatibel mit TCS' strukturierter Agent-Hierarchie für IT-Operationen: Reasoning-, Planungs- und Domain-Agenten rufen die spezialisierten Agenten der GitLab Duo Platform (z. B. Planner, Security Analyst, Code Review) über MCP-gesteuerte Integrationen und umfangreiche Projektkontextflüsse auf.\n\n\n## DevSecOps mit Platform Engineering skalieren\n\n\nPlatform Engineering verlagert den Fokus vom Management einzelner Pipelines und Toolchains hin zum Aufbau einer Internal Developer Platform (IDP), die standardisiert, wie Software entwickelt, abgesichert, getestet und bereitgestellt wird.\n\n\nUnternehmen skalieren durch die Produktisierung der Developer Experience über Platform Engineering und den Betrieb von IDPs mit Self-Service Golden Paths. Sicherheit, Compliance und Governance sind standardmäßig durch Policy-as-Code eingebettet und standardisieren den Day-2-Betrieb. GitLab übernimmt die Rolle der IDP-Kontrollebene; TCS industrialisiert das Design und rollt Self-Service als Schicht auf der Kontrollebene aus. Als Solution Architects baut TCS Self-Service-Pfade, während die GitLab Duo Agent Platform Agentic AI hinzufügt, um die Entwicklung über den gesamten SDLC zu automatisieren.\n\n\n| Kategorie | Details |\n|---|---|\n| Experience Layer (IDP) | • Developer-Self-Service-Scaffolding \u003Cbr> • One-Click-Umgebungen/Runner/Scans \u003Cbr> • Standardisiertes Onboarding |\n| Platform Control Plane (GitLab) | • Merge Requests als Kontrollpunkt \u003Cbr> • Integriertes CI/CD \u003Cbr> • Security \u003Cbr> • Software Bill of Materials (SBOMs) \u003Cbr> • Approvals \u003Cbr> • Telemetrie |\n| Guardrails und Governance | • Richtlinienbasierte Governance \u003Cbr> • Compliance as Code \u003Cbr> • Risikogestufte Golden Paths \u003Cbr> • Obligatorische Kontrollen ohne manuelle Gates |\n| Infrastructure and Runtime | • Cloud Landing Zones \u003Cbr> • Kubernetes/VM-Laufzeitumgebungen \u003Cbr> • GitOps-gesteuerte Desired-State-Durchsetzung |\n| Golden Paths | • Kontinuierliche Verbesserung und sichere Erweiterbarkeit von Produkten \u003Cbr> • Vermeidung von Pipeline-Drift bei erhaltener Autonomie |\n| Day-2-Betrieb | • Automatisiertes Rollback \u003Cbr> • Laufzeit-SLOs verknüpft mit Release-Richtlinien \u003Cbr> • Schwachstellen-SLAs \u003Cbr> • Kostentransparenz \u003Cbr> • In die Plattform integrierte Operational Excellence |\n\n\n## Von DevSecOps zu Intelligent Orchestration\n\n\nEine einheitliche DevSecOps-Plattform bietet Unternehmen eine solide Grundlage. Wenn KI-Agenten jedoch zu aktiven Teilnehmern im Software-Lebenszyklus werden, muss die Plattform mehr leisten als Code und Pipelines verwalten: Sie muss die Zusammenarbeit von Menschen und KI-Agenten orchestrieren – mit vollständigem Lebenszykluskontext und integrierten Leitplanken. Das ist der Übergang von DevSecOps zu Intelligent Orchestration, den die GitLab Duo Agent Platform ermöglicht.\n\n\n### GitLab Duo Agent Platform\n\n\nDie GitLab Duo Agent Platform integriert KI-Agenten in den Software-Entwicklungslebenszyklus, die Entwicklungsteams als Mitarbeiter unterstützen. Mehrere KI-Agenten bearbeiten Aufgaben parallel – von der Code-Generierung und Tests bis hin zu CI/CD-Korrekturen – und reduzieren dabei Engpässe. Entwicklungsteams steuern diese Agenten über definierte Regeln und behalten die Kontrolle, während Routineaufgaben delegiert werden. Diese Agent-Orchestrierung bewältigt komplexe Workflows (z. B. die automatische Behebung fehlerhafter Pipelines) und gibt Teams Kapazität für höherwertige Aufgaben frei.\n\n\nKI-Agenten arbeiten innerhalb von GitLabs einheitlichem Datenmodell: Sie erstellen Merge Requests, verbessern Code und unterstützen Compliance-Anforderungen. Da jede Agentenaktion über vollständigen Projektkontext verfügt, prüfbar und richtlinienkonform ist, lässt sich KI über tausende von Entwicklungsteams hinweg skalieren – mit durchgehender Sicherheit und regulatorischer Compliance in allen automatisierten Workflows. Dies reduziert den operativen Aufwand für Application Engineers, DevSecOps Engineers, Scrum Master und Product Manager.\n\n\n## Referenzarchitektur\n\n\n![GitLab TCS Referenzarchitektur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1771866349/ynfgc7ugqjasyj1uhew0.png)\n\n\n## GitLab + TCS\n\n\nGitLab stellt eine Intelligent Orchestration-Plattform für DevSecOps bereit, auf der Entwicklungsteams und KI-Agenten über den gesamten Entwicklungslebenszyklus hinweg zusammenarbeiten. TCS bringt industrialisierte Einführungs-Engines, erprobte Referenzarchitekturen, Migrations-Factories im Unternehmensmaßstab, Enterprise-Security-Baselines, Enterprise-KI-Kompetenz, AI Trust- und Risk-Management-Frameworks sowie einen produktorientierten Ansatz für den Plattformbetrieb ein.\n\n\nTCS verfügt über umfangreiche Erfahrung aus der Arbeit mit Kunden unterschiedlichster Branchen, Regionen und regulatorischer Anforderungen. Diese Erfahrung ermöglicht es TCS, GitLab-Funktionen auf konkrete Enterprise-Rahmenbedingungen anzupassen – darunter gewachsene IT-Landschaften, Compliance-Anforderungen, Betriebsmodelle und Skalierungsherausforderungen – anstatt Tooling isoliert einzuführen. Gemeinsam ermöglichen GitLab und TCS eine schnelle, verlässliche Delivery im Unternehmensmaßstab über verschiedene Cloud-Umgebungen hinweg – mit integrierter Compliance.\n\n\n> Um mehr über GitLab + TCSzu erfahren, schicke uns eine Email an: ecosystem@gitlab.com\n",[778,747],{"featured":646,"template":785,"slug":851},"agentic-sdlc-gitlab-and-tcs-deliver-intelligent-orchestration-across-the-enterprise",{"category":673,"slug":671,"posts":853},[854,866,877],{"content":855,"config":864},{"title":856,"description":857,"authors":858,"heroImage":860,"date":861,"body":862,"category":671,"tags":863},"Passkeys jetzt für passwortlosen Login und 2FA bei GitLab verfügbar","Passkey für das eigene Konto registrieren und Zwei-Faktor-Authentifizierung als Phishing-resistente Methode nutzen.",[859],"GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772029801/qk75nu1eezxa6aiefpup.png","2026-02-25","Passkeys sind ab sofort bei GitLab verfügbar und bieten eine sichere Möglichkeit, auf das eigene Konto zuzugreifen. Passkeys können für den passwortlosen Login oder als Phishing-resistente Zwei-Faktor-Authentifizierung (2FA) verwendet werden. Die Authentifizierung erfolgt über den Fingerabdruck, die Gesichtserkennung oder die PIN des Geräts. Bei Konten mit aktivierter 2FA werden Passkeys automatisch als Standard-2FA-Methode eingerichtet.\n\n\u003Cfigure class=\"video_container\">\n\n\u003Ciframe src=\"https://www.youtube.com/embed/LN5MGRdTHR8?si=OOebJZzN3LkSmzNv\" title=\"Passwordless authentication using passkeys\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\n\u003C/figure>\n\nUm einen Passkey zu registrieren, in den Profileinstellungen **Konto > Authentifizierung verwalten** aufrufen.\n\nPasskeys basieren auf WebAuthn-Technologie und Public-Key-Kryptographie, bestehend aus einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel verbleibt sicher auf dem Gerät und verlässt es nie, während der öffentliche Schlüssel bei GitLab gespeichert wird. Selbst bei einer Kompromittierung von GitLab können Angreifer die gespeicherten Zugangsdaten nicht nutzen, um auf das Konto zuzugreifen. Passkeys funktionieren in Desktop-Browsern (Chrome, Firefox, Safari, Edge), auf Mobilgeräten (iOS 16+, Android 9+) und mit FIDO2-Hardware-Sicherheitsschlüsseln. Mehrere Passkeys lassen sich geräteübergreifend registrieren.\n\n![Passkeys-Anmeldung mit Zwei-Faktor-Authentifizierung](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767807931/n652nkgvna1rsymlfzpi.png)\n\nGitLab hat das [CISA Secure by Design Pledge](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) unterzeichnet und sich damit verpflichtet, die eigene Sicherheitslage zu verbessern und Kunden bei der Entwicklung sicherer Software zu unterstützen. Ein zentrales Ziel des Pledges ist die verstärkte Nutzung von [Multi-Faktor-Authentifizierung (MFA)](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) in den eigenen Produkten. Passkeys sind ein wesentlicher Bestandteil dieses Ziels und bieten eine Phishing-resistente MFA-Methode, die die Anmeldung bei GitLab sicherer macht.\n\nBei Fragen, Erfahrungsberichten oder Verbesserungsvorschlägen steht das [Feedback-Issue](https://gitlab.com/gitlab-org/gitlab/-/work_items/366758) zur Verfügung.\n",[759,747],{"featured":646,"template":785,"slug":865},"passkeys-now-available-for-passwordless-sign-in-and-2fa-on-gitlab",{"content":867,"config":875},{"title":868,"description":869,"heroImage":870,"authors":871,"date":847,"body":873,"category":671,"tags":874},"GPG-Schlüssel zur Signierung der GitLab-Paket-Repository-Metadaten wurde verlängert","Der GPG-Schlüssel zur Signierung von Repository-Metadaten auf GitLabs Packagecloud-Instanz unter packages.gitlab.com wurde verlängert – das ist zu beachten.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771934335/c4f7zzdelhwcihaqwxym.png",[872],"Denis Afonso","GitLab verwendet einen GPG-Schlüssel, um die Metadaten der verschiedenen apt- und yum-Repositories zu signieren, über die die offiziellen omnibus-gitlab- und gitlab-runner-Pakete verteilt werden. Dies dient der Sicherstellung der Paketintegrität; die Pakete selbst werden zusätzlich durch einen separaten Schlüssel signiert.\n\nDer aktuell für die Metadaten-Signierung verwendete Schlüssel mit dem Fingerabdruck `F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F` läuft am 27. Feb. 2026 ab und wurde bis zum 6. Feb. 2028 verlängert.\n\n## Warum wird die Laufzeit verlängert?\n\nDie Laufzeit des Repository-Metadaten-Signierungsschlüssels wird regelmäßig verlängert, um den GitLab-Sicherheitsrichtlinien zu entsprechen und das Risiko im Falle einer Kompromittierung des Schlüssels zu begrenzen. Statt einer Rotation auf einen neuen Schlüssel wird die Laufzeit verlängert, um den Aufwand für Nutzende zu minimieren – eine Rotation würde erfordern, dass alle Nutzenden ihren vertrauenswürdigen Schlüssel ersetzen.\n\n## Was ist zu tun?\n\nWer GitLab-Repositories bereits vor dem 17. Feb. 2026 auf dem eigenen System konfiguriert hat, findet in der offiziellen Dokumentation Hinweise dazu, [wie der neue Schlüssel abgerufen und hinzugefügt werden kann](https://docs.gitlab.com/omnibus/update/package_signatures/#package-repository-metadata-signing-keys). Für neue Nutzende ist keine weitere Aktion erforderlich – es genügt, der [GitLab-Installationsseite](https://about.gitlab.com/install/) oder der [Installationsdokumentation für gitlab-runner](https://docs.gitlab.com/runner/install/linux-repository.html) zu folgen. Weitere Informationen zur [Überprüfung der Repository-Metadaten-Signaturen](https://docs.gitlab.com/omnibus/update/package_signatures/#package-repository-metadata-signing-keys) sind in der Omnibus-Dokumentation verfügbar. Den öffentlichen Schlüssel lässt sich auf jedem GPG-Keyserver über die Suche nach support@gitlab.com oder die Schlüssel-ID `F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F` finden.\n\nAlternativ kann der Schlüssel direkt von packages.gitlab.com unter folgender URL heruntergeladen werden: `https://packages.gitlab.com/gpg.key`.\n\n## Weitere Unterstützung benötigt?   \n\n**Eine Issue im [omnibus-gitlab Issue Tracker](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/new?issue&issuable_template=Bug) öffnen.**",[747],{"featured":646,"template":785,"slug":876},"gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended",{"content":878,"config":888},{"title":879,"description":880,"authors":881,"heroImage":883,"date":884,"body":885,"category":671,"tags":886,"updatedDate":887},"Welche Auswirkungen die Ratenbegrenzungen für Docker Hub auf GitLab CI/CD haben","Erfahre, wie sich die bevorstehenden Ratenbegrenzungen für Pulls von Docker Hub auf GitLab-Pipelines auswirken und was du tun kannst, um Störungen zu vermeiden.",[882],"Tim Rizzi","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png","2025-03-24","Am 1. April 2025 hat Docker neue [Ratenbegrenzungen für Pulls](https://docs.docker.com/docker-hub/usage/) für Docker Hub eingeführt, die sich erheblich auf CI/CD-Pipelines in der gesamten Branche auswirken können, einschließlich derer, die auf GitLab ausgeführt werden. Die gravierendste Änderung ist die Begrenzung auf 10 Pulls pro Stunde für nicht angemeldete Benutzer(innen).\n\n> **12x kürzere Bereitstellungszeit: Dank GitLabs vollständiger Integration lebt Hilti Effizienz.** GitLab bringt vollständige Transparenz, eine umfassende Codeverwaltung und umfangreiche Sicherheitsscans mit, um Hilti neue Softwarefähigkeiten zu ermöglichen. Erfahre, wie Hilti seine Softwareentwicklung revolutioniert hat. **[Erfolgsstory lesen](https://about.gitlab.com/de-de/customers/hilti/)**\n\n## Was ändert sich?\n\nAb dem 1. April 2025 hat Docker die folgenden Ratenbegrenzungen für Pulls durchgesetzt:\n\n| Benutzertyp | Ratenbegrenzung für Pulls pro Stunde | Anzahl der öffentlichen Repositories | Anzahl der privaten Repositories |\n|-----------|--------------------------|-------------------------------|--------------------------------|\n| Business, Team, Pro (authentifiziert) | Unbegrenzt (angemessene Nutzung) | Unbegrenzt | Unbegrenzt |\n| Persönlich (authentifiziert) | 100 | Unbegrenzt | Maximal 1 |\n| Nicht angemeldete Benutzer(innen) | 10 pro IPv4-Adresse oder IPv6/64-Subnetz | Nicht zutreffend | Nicht zutreffend |\n\n\u003Cp>\u003C/p>\nDies ist besonders wichtig, weil:\n\n* Der Abhängigkeits-Proxy von GitLab pullt derzeit als nicht angemeldeter Benutzer von Docker Hub.\n* Die meisten CI/CD-Pipelines, die den Abhängigkeits-Proxy nicht verwenden, pullen als nicht angemeldete Benutzer direkt von Docker Hub.\n* Auf gehosteten Runnern für GitLab.com kann es vorkommen, dass sich mehrere Benutzer(innen) die gleiche IP-Adresse oder das gleiche Subnetz teilen. Somit unterliegen sie gemeinsam dieser Begrenzung.\n\n## Wie sich dies auf GitLab-Benutzer(innen) auswirkt\n\n**Auswirkungen auf direkte Pulls von Docker Hub**\n\nWenn deine CI/CD-Pipelines Images direkt und ohne Authentifizierung von Docker Hub pullen, ist die Anzahl auf 10 Pulls pro Stunde und IP-Adresse begrenzt. Bei Pipelines, die häufig oder projektübergreifend mit derselben Runner-Infrastruktur ausgeführt werden, wird dieser Grenzwert schnell erreicht und es kommt zu Pipeline-Fehlern.\n\n**Auswirkungen auf den Abhängigkeits-Proxy von GitLab**\n\nMit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images in GitLab zwischenspeichern, um Pipelines zu beschleunigen und externe Abhängigkeiten zu reduzieren. Die aktuelle Implementierung pullt allerdings als nicht angemeldeter Benutzer von Docker Hub. Das bedeutet, dass auch hier der Grenzwert von 10 Pulls pro Stunde gilt.\n\n**Auswirkungen auf gehostete Runner**\n\nGehostete Runner auf GitLab.com verwenden den [Pull-Through-Cache von Google Cloud](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=de). Dieser spiegelt häufig gepullte Images, sodass Ratenbegrenzungen vermieden werden. Images von Jobs, die in deiner `.gitlab-ci.yml`-Datei als `image:` oder `services:` definiert sind, sind von Ratenbegrenzungen nicht betroffen.\n\nEtwas schwieriger wird es, wenn Images innerhalb der Runner-Umgebung gepullt werden. Der häufigste Anwendungsfall für das Pullen von Images während der Laufzeit eines Runners ist die Erstellung eines Images mit Docker-in-Docker oder Kaniko. In diesem Szenario wird das in deiner `Dockerfile` definierte Docker-Hub-Image direkt aus dem Docker Hub gepullt und ist wahrscheinlich von den Ratenbegrenzungen betroffen.\n\n## Wie GitLab reagiert\n\nWir arbeiten aktiv an Lösungen, um diese Herausforderungen zu bewältigen:\n\n* **Authentifizierung des Abhängigkeits-Proxy:** Wir haben die Unterstützung für die Docker-Hub-Authentifizierung im [GitLab-Abhängigkeits-Proxy](https://gitlab.com/gitlab-org/gitlab/-/issues/331741) hinzugefügt. Dadurch kann der Abhängigkeits-Proxy Images als angemeldeter Benutzer von Docker Hub pullen, wodurch die Grenzwerte erheblich erhöht werden.\n* **Aktualisierung der Dokumentation:** Wir haben unsere [Dokumentation (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials) aktualisiert. Sie stellt jetzt eine klare Anleitung zur Konfiguration der Pipeline-Authentifizierung für Docker Hub zur Verfügung.\n* **Vorbereitung der internen Infrastruktur:** Wir bereiten unsere interne Infrastruktur vor, um die Auswirkungen auf gehostete Runner für GitLab.com zu minimieren.\n\n## So kannst du dich vorbereiten\n\n**Option 1: Konfiguriere die Docker-Hub-Authentifizierung in deinen Pipelines**\n\nFür Pipelines, die direkt von Docker Hub pullen, kannst du die Authentifizierung so konfigurieren, dass deine Ratenbegrenzung auf 100 Pulls pro Stunde erhöht wird (mit einem kostenpflichtigen Docker-Hub-Abo ist sie sogar unbegrenzt).\n\nFüge die Docker-Hub-Anmeldedaten zu den CI/CD-Variablen deines Projekts oder deiner Gruppe hinzu (nicht in deiner `.gitlab-ci.yml`-Datei). Ausführliche Anweisungen zur korrekten Einrichtung der CI/CD-Variable `DOCKER_AUTH_CONFIG` findest du in unserer [Dokumentation zur Verwendung von Docker-Images (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/ci/docker/using_docker_images/#use-statically-defined-credentials).\n\n**Option 2: Verwende die GitLab-Container-Registry**\n\nDu kannst deine häufig verwendeten Docker-Images in deine [GitLab-Container-Registry (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/container_registry/) übertragen. So musst du während der CI/CD-Ausführung nicht mehr von Docker Hub pullen:\n\n1. Pulle das Image von Docker Hub.\n2. Kennzeichne es für deine GitLab-Container-Registry.\n3. Pushe es in deine GitLab-Container-Registry.\n4. Aktualisiere deine Pipelines, dass sie das Image von der GitLab-Container-Registry abrufen.\n\n```shell\ndocker pull busybox:latest\ndocker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest\ndocker push $CI_REGISTRY_IMAGE/busybox:latest\n```\n\nIn deiner `.gitlab-ci.yml`-Datei fügst du dann folgende Zeile hinzu:\n\n`image: $CI_REGISTRY_IMAGE/busybox:latest`\n\n**Option 3: Verwende den GitLab-Abhängigkeits-Proxy**\n\nMit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images zwischenspeichern und übertragen. Dies reduziert externe Abhängigkeiten und somit Probleme mit der Ratenbegrenzung.\n\nAktuelle Authentifizierungsoptionen:\n* GitLab 17.10: Konfiguriere die Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy mit der [GraphQL API (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials-using-the-graphql-api)\n* GitLab 17.11: Verwende die neue UI-basierte Konfiguration in den Einstellungen deiner Gruppe (bereits auf GitLab.com verfügbar)\n\nSobald die Authentifizierung ordnungsgemäß konfiguriert ist, kannst du Folgendes tun:\n\n1. Konfiguriere die Docker-Hub-Anmeldeinformationen in den Einstellungen des Abhängigkeits-Proxys deiner Gruppe:\n  - Für GitLab 17.11+ (oder die aktuelle Version von GitLab.com): Navigiere zu den Einstellungen deiner Gruppe > Pakete und Registries > Abhängigkeits-Proxy.\n  - Für GitLab 17.10: Verwende die GraphQL-API, um die Authentifizierung zu konfigurieren.\n2. Aktualisiere deine Pipelines, sodass sie die Dependency-Proxy-URLs in deiner CI/CD-Konfiguration verwenden:\n`image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/busybox:latest`\n\n**Option 4: Überlege dir, ein kostenpflichtiges Docker-Hub-Abonnement abzuschließen**\n\nUnternehmen, die Docker Hub intensiv nutzen, ist das Upgrade auf ein kostenpflichtiges Docker-Abonnement (Team oder Business) möglicherweise die einfachste Lösung, da es unbegrenzt viele Pulls ermöglicht.\n\n## Best Practices zur Reduzierung der Auswirkungen der Docker-Hub-Ratenbegrenzung\n\nUnabhängig davon, welche Option du wählst, helfen dir diese Best Practices dabei, die Auswirkungen der Docker-Hub-Ratenbegrenzung zu minimieren:\n\n* Verwende eindeutige Image-Tags anstelle von `latest`, um unnötige Pulls zu vermeiden.\n* Konsolidiere deine Docker-Dateien, sodass sie projektübergreifend dieselben Basis-Images verwenden.\n* Plane weniger kritische Pipelines so, dass sie außerhalb der Stoßzeiten ausgeführt werden.\n* Verwende Caching effektiv, um zu vermeiden, dass dieselben Images wiederholt gepullt werden.\n\n**Hinweis:** Gemäß der [Dokumentation](https://docs.docker.com/docker-hub/usage/pulls/#pull-definition) von Docker Hub wird der Counter für die Anzahl der Pulls erhöht, wenn das Image-Manifest gepullt wird, und nicht basierend auf der Image-Größe oder der Anzahl der Ebenen.\n\n## Zeitplan und nächste Schritte\n\n**Jetzt**\n  * Implementiere die Authentifizierung für direkte Pulls von Docker Hub.\n  * Als Benutzer(in) von GitLab.com kannst du die Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy bereits konfigurieren, indem du entweder:\n    * die GraphQL-API oder\n    * die Benutzeroberfläche in den Gruppeneinstellungen verwendest\n  * Benutzer(innen) von GitLab Self-Managed 17.10 können die Abhängigkeits-Proxy-Authentifizierung über die GraphQL-API konfigurieren.\n\n**1. April 2025**\n  * Die Ratenbegrenzungen für Docker Hub treten in Kraft.\n\n**17. April 2025**\n  * GitLab 17.11 wird mit UI-basierter Unterstützung für die Authentifizierung des Abhängigkeits-Proxy für Self-Managed-Instanzen veröffentlicht.\nDu solltest rechtzeitig vor Ablauf der Frist am 1. April Maßnahmen ergreifen, um unerwartete Pipeline-Fehler zu vermeiden. Für die meisten Benutzer(innen) ist die Konfiguration des Abhängigkeits-Proxys mit der Docker-Hub-Authentifizierung die effizienteste Langzeitlösung.\n\n> Hast du Fragen oder benötigst du Hilfe bei der Implementierung? Sieh dir [dieses Ticket an](https://gitlab.com/gitlab-org/gitlab/-/issues/526605), wo unser Team aktiv Unterstützung bietet.",[89,722,799],"2025-04-21",{"slug":889,"featured":13,"template":785},"prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",{"category":686,"slug":684,"posts":891},[892,907,922],{"content":893,"config":905},{"title":894,"description":895,"authors":896,"heroImage":899,"date":900,"category":684,"tags":901,"body":904},"Warum Finanzdienstleister auf Single-Tenant-SaaS setzen","So hilft GitLab Dedicated Finanzorganisationen dabei, konforme DevSecOps ohne Performance-Einbußen zu erreichen.",[897,898],"George Kichukov","Allie Holland","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662023/Blog/Hero%20Images/display-dedicated-for-government-article-image-0679-1800x945-fy26.png","2025-08-14",[536,902,903],"DevOps platform","customers","Betrete die Filiale einer beliebigen Finanzinstitution und eins wird sofort deutlich. Vorbei an bewaffneten Sicherheitskräften, durch biometrische Scanner, hinter dicken Wänden und mehreren Sicherheitskontrollen findest du Entwickler(innen), welche die Algorithmen erstellen, die das globale Finanzwesen antreiben – auf gemeinsamer Infrastruktur mit Millionen Unbekannten.\n\nDie Software, welche die heutige Finanzwelt antreibt, ist hoch komplex. Sie umfasst Kreditrisikomodelle, die Milliarden an Vermögenswerten schützen, Zahlungsverarbeitungsalgorithmen, die Millionen von Transaktionen abwickeln, Customer-Intelligence-Plattformen, die die Geschäftsstrategie vorantreiben, und Regulierungssysteme, die operative Compliance sicherstellen – alles angetrieben von Quellcode, der sowohl operativer Kern als auch strategisches Asset ist.\n\n## Wenn geteilte Infrastruktur zum systemischen Risiko wird\n\nDer Aufstieg von Software-as-a-Service-Plattformen hat für Finanzinstitute eine unbequeme Realität geschaffen. Jeder geteilte Mandant wird zu einem nicht verwalteten Drittparteirisiko und verwandelt plattformweite Vorfälle in branchenweite Störungen. Dies ist genau die Art von Konzentrationsrisiko, welches zunehmend die Aufmerksamkeit der Regulierungsbehörden auf sich zieht.\n\nPatrick Opet, Chief Information Security Officer von JPMorgan Chase, richtete kürzlich in einem [offenen Brief](https://www.jpmorgan.com/technology/technology-blog/open-letter-to-our-suppliers) an Drittanbieter eine deutliche Warnung an die Branche. Er hob hervor, wie die SaaS-Adoption „eine erhebliche Verwundbarkeit schafft, die das globale Wirtschaftssystem schwächt\", indem sie „Konzentrationsrisiko in die globale kritische Infrastruktur einbettet\". Der Brief betont, dass sich „ein Angriff auf einen großen SaaS- oder PaaS-Anbieter sofort auf dessen Kunden auswirken kann\" und genau das systemische Risiko schafft, das Multi-Tenant-Cloud-Plattformen für Quellcode-Management, CI-Builds, CD-Deployments und Sicherheitsscans einführen.\n\nBedenke die regulatorische Komplexität, die dies schafft. In gemeinsamen Umgebungen wird deine Compliance-Position zur Geisel potenzieller Vorfälle, die andere Mandanten betreffen, sowie der Konzentrationsrisiken von Anbietern mit großer Angriffsfläche. Eine Fehlkonfiguration, die eine Organisation auf der Plattform betrifft, kann breitere Auswirkungen auf das gesamte Ökosystem auslösen.\n\nDatensouveränitäts-Herausforderungen verstärken dieses Risiko. Gemeinsame Plattformen verteilen Workloads über mehrere Regionen und Rechtsräume, oft ohne granulare Kontrolle darüber, wo dein Quellcode ausgeführt wird. Für Institutionen, die unter strengen regulatorischen Anforderungen arbeiten, kann diese geografische Verteilung Compliance-Lücken schaffen, die schwer zu beheben sind.\n\nDann gibt es den Verstärkungseffekt. Jeder geteilte Mandant wird effektiv zu einem indirekten Drittparteirisiko für deine Operationen. Ihre Schwachstellen vergrößern deine Angriffsfläche. Ihre Vorfälle können deine Verfügbarkeit beeinträchtigen. Ihre Kompromittierungen können deine Umgebung beeinflussen.\n\n## Speziell entwickelt für das, was am wichtigsten ist\n\nGitLab erkennt an, dass der Quellcode deiner Organisation dieselbe Sicherheitsstufe verdient wie deine sensibelsten Kundendaten. Anstatt dich zu zwingen, zwischen Cloud-Skalierungseffizienz und Enterprise-Grade-Sicherheit zu wählen, liefert GitLab beides durch [GitLab Dedicated](https://about.gitlab.com/dedicated/) – speziell entwickelte Infrastruktur, die vollständige Isolation aufrechterhält.\n\nDeine Entwicklungsworkflows, Quellcode-[Repositories](https://docs.gitlab.com/user/project/repository/) und [CI/CD-Pipelines](https://docs.gitlab.com/ci/pipelines/) laufen in einer Umgebung, die ausschließlich deiner Organisation gewidmet ist. Die [Hosted Runners](https://docs.gitlab.com/administration/dedicated/hosted_runners/) für GitLab Dedicated veranschaulichen diesen Ansatz. Diese Runner verbinden sich sicher über ausgehende Private Links mit deinem Rechenzentrum und ermöglichen den Zugriff auf deine privaten Dienste, ohne Datenverkehr dem öffentlichen Internet auszusetzen. Die [Auto-Scaling-Architektur](https://docs.gitlab.com/runner/runner_autoscale/) bietet die benötigte Performance, ohne Sicherheit oder Kontrolle zu gefährden.\n\n## Kontrolle neu gedacht\n\nFür Finanzinstitute ist die Minimierung geteilter Risiken nur ein Teil der Gleichung – wahre Resilienz erfordert präzise Kontrolle darüber, wie Systeme arbeiten, skalieren und regulatorische Frameworks einhalten. GitLab Dedicated ermöglicht umfassende Datensouveränität durch mehrere Ebenen der Kundenkontrolle. Sie behalten die vollständige Autorität über [Verschlüsselungsschlüssel](https://docs.gitlab.com/administration/dedicated/encryption/#encrypted-data-at-rest) durch [Bring-Your-Own-Key (BYOK)](https://docs.gitlab.com/administration/dedicated/encryption/#bring-your-own-key-byok)-Funktionen und stellen sicher, dass sensible Quellcodes und Konfigurationsdaten nur für deine Organisation zugänglich bleiben. Selbst GitLab kann ohne deine Schlüssel nicht auf deine verschlüsselten Daten zugreifen.\n\n[Datenresidenz](https://docs.gitlab.com/subscriptions/gitlab_dedicated/data_residency_and_high_availability/) wird zur bewussten Entscheidung. Du wählst deine bevorzugte AWS-Region, um regulatorische Anforderungen und organisatorische Daten-Governance-Richtlinien zu erfüllen, und behältst die volle Kontrolle darüber, wo dein sensibler Quellcode und geistiges Eigentum gespeichert werden.\n\nDiese Kontrolle erstreckt sich auf [Compliance-Frameworks](https://docs.gitlab.com/user/compliance/compliance_frameworks/), die Finanzinstitute benötigen. Die Plattform bietet [umfassende Audit-Trails](https://docs.gitlab.com/user/compliance/audit_events/) und Protokollierungsfunktionen, die Compliance-Bemühungen für Finanzdienstleistungsvorschriften wie [Sarbanes-Oxley](https://about.gitlab.com/compliance/sox-compliance/) und [GLBA Safeguards Rule](https://www.ftc.gov/business-guidance/privacy-security/gramm-leach-bliley-act) unterstützen.\n\nWenn Compliance-Fragen auftreten, arbeitest du direkt mit GitLabs dediziertem Support-Team zusammen – erfahrene Fachleute, welche die regulatorischen Herausforderungen verstehen, denen Organisationen in hochregulierten Branchen gegenüberstehen.\n\n## Operative Exzellenz ohne operativen Overhead\n\nGitLab Dedicated gewährleistet [Hochverfügbarkeit](https://docs.gitlab.com/subscriptions/gitlab_dedicated/data_residency_and_high_availability/) mit [integrierter Disaster Recovery](https://docs.gitlab.com/subscriptions/gitlab_dedicated/), sodass deine Entwicklungsoperationen auch bei Infrastrukturausfällen resilient bleiben. Die dedizierten Ressourcen skalieren mit den Bedürfnissen deiner Organisation ohne die Performance-Variabilität, die gemeinsame Umgebungen einführen.\n\nDer [Zero-Maintenance-Ansatz](https://docs.gitlab.com/subscriptions/gitlab_dedicated/maintenance/) für CI/CD-Infrastruktur eliminiert eine erhebliche operative Belastung. Deine Teams konzentrieren sich auf die Entwicklung, während GitLab die zugrunde liegende Infrastruktur, Auto-Scaling und Wartung verwaltet – einschließlich schneller Sicherheitspatches zum Schutz deines kritischen geistigen Eigentums vor aufkommenden Bedrohungen. Diese operative Effizienz geht nicht auf Kosten der Sicherheit: Die dedizierte Infrastruktur bietet Enterprise-Grade-Kontrollen und liefert gleichzeitig Cloud-Skalierungs-Performance.\n\n## Die Wettbewerbsrealität\n\nWährend einige Institutionen über Infrastrukturstrategien debattieren, ergreifen Branchenführer entscheidende Maßnahmen. [NatWest Group](https://about.gitlab.com/press/releases/2022-11-30-gitlab-dedicated-launches-to-meet-complex-compliance-requirements/), eine der größten Finanzinstitutionen Großbritanniens, wählte GitLab Dedicated zur Transformation ihrer Engineering-Fähigkeiten:\n\n> *\"Die NatWest Group setzt GitLab Dedicated ein, um unseren Ingenieuren die Nutzung einer gemeinsamen Cloud-Engineering-Plattform zu ermöglichen; neue Kundenergebnisse schnell, häufig und sicher mit hoher Qualität, automatisierten Tests, On-Demand-Infrastruktur und durchgängigem Deployment zu liefern. Dies wird die Zusammenarbeit erheblich verbessern, die Entwicklerproduktivität steigern und Kreativität durch eine 'Single-Pane-of-Glass' für die Softwareentwicklung freisetzen.\"*\n>\n> **Adam Leggett**, Platform Lead - Engineering Platforms, NatWest\n\n## Die strategische Entscheidung\n\nDie erfolgreichsten Finanzinstitute stehen vor einer einzigartigen Herausforderung: Sie haben am meisten durch geteilte Infrastrukturrisiken zu verlieren, aber auch die Ressourcen, um bessere Lösungen zu entwickeln.\n\n**Die Frage, die wirkliche Branchenführer von anderen unterscheidet:** Werden sie geteilte Infrastrukturrisiken als Preis der digitalen Transformation akzeptieren, oder in Infrastruktur investieren, welche den Quellcode mit der strategischen Bedeutung behandelt, die er verdient?\n\nDeine Algorithmen werden nicht geteilt. Deine Risikomodelle werden nicht geteilt. Deine Kundendaten werden nicht geteilt.\n\n**Warum wird deine Entwicklungsplattform geteilt?**\n\n*Bereit, deinen Quellcode wie das strategische Asset zu behandeln, das er ist? [Sprich mit uns](https://about.gitlab.com/solutions/finance/) darüber, wie dir GitLab Dedicated die Sicherheit, Compliance und Performance bietet, die Finanzinstitute fordern – ohne die Kompromisse geteilter Infrastruktur.*",{"featured":646,"template":785,"slug":906},"why-financial-services-choose-single-tenant-saas",{"content":908,"config":920},{"heroImage":909,"body":910,"authors":911,"updatedDate":913,"date":914,"title":915,"tags":916,"description":919,"category":684},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png","Im vergangenen Jahr haben über 800 Community-Mitglieder mehr als 3 000 Beiträge zu GitLab geleistet. Darunter sind auch Teammitglieder aus globalen Unternehmen wie Thales und Scania, die im Rahmen des [Co-Create-Programms (nur in englischer Sprache verfügbar)](https://about.gitlab.com/community/co-create/) die Zukunft von GitLab mitgestalten. Bei diesem Programm arbeiten Kund(inn)en direkt mit GitLab-Entwickler(inne)n zusammen, um sinnvolle Funktionen zur Plattform beizutragen.\n\nDurch Workshops, Paarprogrammierungssitzungen und kontinuierlichen Support erhalten die Programmteilnehmenden praktische Erfahrungen mit der Architektur und der Codebase von GitLab, während sie Probleme lösen oder bestehende Funktionen verbessern.\n\n„Unsere Erfahrungen mit dem Co-Create-Programm waren unglaublich“, erklärt Sébastien Lejeune, Open-Source-Beauftragter bei Thales. „Es hat nur zwei Monate gedauert, bis wir unseren Beitrag mit einem GitLab Contributor Success Engineer besprochen haben und er in die GitLab-Release aufgenommen wurde.“\n\nIn diesem Beitrag zeigen wir, wie Kund(inn)en das Co-Create-Programm genutzt haben, um ihre Ideen in Code zu verwandeln und dabei zu lernen und mitzuwirken.\n\n## Die Co-Create-Erfahrung\n[Das GitLab Development Kit (GDK) (Dokumentation nur in englischer Sprache verfügbar)](https://gitlab.com/gitlab-org/gitlab-development-kit) hilft Mitwirkenden, mit der Entwicklung von GitLab zu beginnen. „Mein Rat für neue Mitwirkende lautet, dass man mit dem GDK nichts kaputt machen kann“, sagt Hook. „Wenn du eine Änderung vornimmst und sie nicht funktioniert, kannst du sie rückgängig machen oder von vorne beginnen. Das Schöne am GDK ist, dass man tüfteln, testen und lernen kann, ohne sich Gedanken über die Umgebung machen zu müssen.“\n\nJedes Unternehmen, das am Co-Create-Programm teilnimmt, erhält während seiner gesamten Beitragsphase Unterstützung:\n\n- __Technischer Onboarding-Workshop __: Eine spezielle Sitzung, um das GitLab Development Kit einzurichten und die Architektur von GitLab zu verstehen\n- __Persönlicher Engineering-Support__: Kontakt zu GitLab-Entwickler(inne)n für Paarprogrammierung und technische Beratung\n- __Vertiefende Einblicke in die Architektur__: Spezialisierte Sitzungen zu bestimmten GitLab-Komponenten, die für das Thema, zu dem das Unternehmen beiträgt, relevant sind\n- __Code-Review-Support__: Detailliertes Feedback und Anleitung für den Merge-Request-Prozess\n- __Regelmäßige Rückmeldungen__: Laufende Zusammenarbeit, um den Fortschritt zu sichern und Herausforderungen zu bewältigen\n\nDiese Struktur sorgt dafür, dass Teams unabhängig von ihrer Erfahrung mit der Codebase von GitLab oder der Programmiersprache Ruby/Go effektiv mitarbeiten können. John Parent von Kitware erklärt: „Wenn du GitLab noch nie gesehen oder damit gearbeitet hast, siehst du dich mit einer ausgeklügelten Architektur und so viel Code in verschiedenen Projekten konfrontiert. Mithilfe des Co-Create-Programms lässt sich das, was wochenlange interne Schulungen erfordern würde, in einen gezielten Crashkurs umwandeln.“\n\nDas Ergebnis ist ein Programm, das nicht nur dabei hilft, neue Funktionen zu entwickeln, sondern auch dauerhafte Beziehungen zwischen GitLab und seiner Benutzer-Community aufzubauen. „Für unsere Entwickler(innen) ist es inspirierend zu sehen, mit welcher Leidenschaft unsere Kund(inn)en an GitLab mitarbeiten und es gemeinsam weiterentwickeln“, sagt Shekhar Patnaik, Principal Engineer bei GitLab. Die Kund(inn)en erleben den „GitLab-Weg“ und die Entwickler(innen) sehen, wie sie die Zukunft von GitLab mitgestalten.“\n\n> **Von 18 auf 3 Monate: So beschleunigt die Deutsche Telekom ihre Releases mit GitLab** 13.000 Entwickler(innen) arbeiten effizienter zusammen und bringen Produkte 6x schneller auf den Markt – erfahre, wie GitLab Ultimate die DevSecOps-Transformation vorantreibt, Silos aufbricht und Sicherheit in den Entwicklungsprozess bringt. [Erfolgsstory lesen](https://about.gitlab.com/de-de/customers/deutsche-telekom/)\n\n## Verbesserung der Projekt-Benutzeroberfläche mit Thales\nAls Thales Verbesserungsmöglichkeiten für die leere Projektoberfläche von GitLab erkannte, reichten sie nicht nur eine Feature-Anfrage ein, sondern entwickelten die Lösung gleich selbst. Ihre Beiträge konzentrierten sich auf die Vereinfachung der Einrichtung neuer Projekte, indem sie die SSH-/HTTPS-Konfiguration mit einer Registerkarten-Oberfläche vereinfachten und eine Kopier-/Einfügefunktion für die Code-Schnipsel hinzufügten. Diese Änderungen hatten einen erheblichen Einfluss auf den Workflow der Entwickler(innen).\n\nDas Team hat aber nicht nur die Benutzeroberfläche verbessert. Quentin Michaud, PhD Fellow für Cloud Applications on the Edge bei Thales, trug zur Verbesserung des GitLab Development Kit (GDK) bei. Als Paketbetreuer für Arch Linux hat Michaud mit seinem Fachwissen die Dokumentation des GDK verbessert und die Containerisierung unterstützt, um zukünftigen Mitwirkenden den Einstieg zu erleichtern.\n\n„Meine Erfahrung mit Open Source half mir bei der Problembehebung der GDK-Unterstützung für Linux-Distributionen“, sagt Michaud. „Während ich die Dokumentation zur Paketversionierung verbesserte, sah ich, dass das Contributor-Success-Team von GitLab ebenfalls daran arbeitete, GDK in einem Container einzurichten. Zu sehen, wie unsere Bemühungen zusammenlaufen, war ein großartiger Moment für mich – er zeigte, wie Open-Source-Zusammenarbeit zu besseren Lösungen führen kann.“\n\nDie positive Erfahrung für das Thales-Team bedeutet, dass Lejeune das Co-Create-Programm jetzt als „ein überzeugendes Beispiel dafür nutzt, unseren Manager(inne)n die Rentabilität von Beiträgen zu Open-Source-Software zu zeigen.“\n\n## Verbesserung der Paketunterstützung mit Scania\nAls Scania erweiterte Paketunterstützung in GitLab benötigte, sah das Unternehmen die Möglichkeit, selbst dazu beizutragen und sie zu entwickeln.\n\n„Wir sind langjährige GitLab-Benutzer(innen) und fördern Open Source aktiv in unserem Unternehmen. Das Co-Create-Programm bot uns eine sinnvolle Möglichkeit, direkt zu Open Source beizutragen“, sagt Puttaraju Venugopal Hassan, Solution Architect bei Scania.\n\nDas Team begann mit kleineren Änderungen, um sich mit der Codebase und dem Review-Prozess vertraut zu machen, und ging dann zu größeren Funktionen über. „Einer der lohnendsten Aspekte des Co-Create-Programms war es, auf den gesamten Prozess zurückzublicken und zu sehen, wie weit wir gekommen sind“, sagt Océane Legrand, Softwareentwicklerin bei Scania. „Wir haben mit der Erkundung und kleineren Änderungen angefangen, aber mit der Zeit haben wir größere Aufgaben übernommen. Es ist toll, diese Entwicklung zu sehen.“\n\nZu den Beiträgen von Scania gehören Fehlerkorrekturen für die Paket-Registry und Bemühungen, die Conan-Paket-Registry zu verbessern, um sie der allgemeinen Verfügbarkeit (GA) näher zu bringen und gleichzeitig die Unterstützung für Conan Version 2 zu implementieren. Ihre Arbeit und die Zusammenarbeit mit GitLab zeigt, wie das Co-Create-Programm die Funktionen der Paket-Registry von GitLab erheblich verbessern kann.\n\n„Unsere Erfahrungen mit dem Co-Create-Programm waren von Anfang an sehr gut organisiert. Wir hatten Schulungen, die uns durch alles führten, was wir für unseren Beitrag brauchten. In Einzelgesprächen mit jemandem aus dem Entwicklungsteam von GitLab erhielten wir außerdem einen detaillierten Einblick in die Paketarchitektur von GitLab, was den Beitragsprozess deutlich vereinfachte“, sagt Juan Pablo Gonzalez, Softwareentwickler bei Scania.\n\nDas Programm wirkt sich nicht nur auf die Programmierung aus – Teilnehmende erwerben durch ihre Beiträge auch wertvolle Fähigkeiten. Bei der Veröffentlichung von GitLab 17.8 wurden sowohl [Legrand als auch Gonzalez als GitLab MVPs (nur in englischer Sprache verfügbar)](https://about.gitlab.com/releases/2025/01/16/gitlab-17-8-released/#mvp) ausgezeichnet. Legrand sprach darüber, wie sich ihre Arbeit im Open-Source-Bereich sowohl auf GitLab als auch auf Scania auswirkt und wie sie und ihr Team neue Fähigkeiten erwerben: „Durch die Mitarbeit im Co-Create-Programm habe ich neue Fähigkeiten erworben, z. B. Erfahrungen mit Ruby und Hintergrundmigrationen. Als mein Team bei Scania während eines Upgrades mit einem Problem konfrontiert wurde, konnte ich bei der Problembehebung helfen, weil ich das Problem bereits aus dem Co-Create-Programm kannte.“\n\n## Optimierung der Authentifizierung für High-Performance-Computing mit Kitware\nKitware brachte sein Fachwissen aus der Zusammenarbeit mit nationalen Laboratorien ein, um das Authentifizierungsframework von GitLab zu verbessern. Kitware unterstützte den OAuth2 Flow zur Erteilung von Geräteautorisierungen in GitLab und implementierte neue Datenbanktabellen, Controller, Ansichten und Dokumentationen. Dieser Beitrag erweitert die Authentifizierungsoptionen von GitLab und macht es vielseitiger für Geräte ohne Browser oder mit begrenzten Eingabemöglichkeiten.\n\n„Das Co-Create-Programm ist der effizienteste und effektivste Weg, um als Externe(r) zu GitLab beizutragen“, sagt John Parent, Entwicklungsingenieur bei Kitware. „Durch die Pairing-Sitzungen mit den Entwickler(inne)n haben wir bessere Implementierungen gefunden, die wir im Alleingang vielleicht übersehen hätten.“\n\nAls langjähriger Mitwirkender im Open-Source-Bereich schätzt Kitware besonders den Entwicklungsansatz von GitLab. „Ich bin davon ausgegangen, dass GitLab bei seiner Größe nicht auf vorgefertigte Lösungen zurückgreifen würde, aber es war großartig zu sehen, dass sie eine Ruby-Abhängigkeit eingebaut haben, anstatt eine eigene Lösung zu entwickeln“, sagt Parent. „Da ich aus der C++-Welt komme, wo Paketmanager selten sind, war es erfrischend zu sehen, wie einfach dieser Ansatz sein kann.“\n\n## Gemeinsam besser entwickeln: Vorteile des Co-Create-Programms\nDas Co-Create-Programm schafft Werte für beide Seiten. „Das Programm überbrückt die Kluft zwischen uns als GitLab-Entwickler(innen) und unseren Kund(inn)en“, erklärt Imre Farkas, Staff Backend Engineer bei GitLab. „Während der Zusammenarbeit erfahren wir, welche Herausforderungen sie tagtäglich haben, auf welche Teile von GitLab sie sich verlassen und wo Verbesserungen möglich sind. Es ist toll zu sehen, mit welcher Begeisterung sie sich an der Entwicklung von GitLab beteiligen.“\n\nDieser kollaborative Ansatz beschleunigt auch die Entwicklung von GitLab. Shekhar Patnaik, leitender Ingenieur bei GitLab, bemerkt dazu: „Durch das Co-Create-Programm helfen uns unsere Kund(inn)en, unsere Roadmap voranzutreiben. Ihre Beiträge ermöglichen es uns, wichtige Funktionen schneller bereitzustellen, wovon unsere gesamte Nutzerbasis profitiert. Wenn wir das Programm erweitern, haben wir das Potenzial, die Entwicklung unserer wichtigsten Funktionen zu beschleunigen, indem wir mit den Menschen zusammenarbeiten, die sich auf sie verlassen.“\n\n## Erste Schritte mit dem Co-Create-Programm\nBist du bereit, deine Feature-Anfragen in die Realität umzusetzen? Ganz gleich, ob du wie Thales die Benutzeroberfläche von GitLab verbessern, wie Scania die Paketunterstützung verbessern oder wie Kitware die Authentifizierung optimieren möchtest – das Co-Create-Programm heißt alle Unternehmen willkommen, die die Zukunft von GitLab aktiv mitgestalten und gleichzeitig wertvolle Open-Source-Erfahrungen sammeln möchten.\n\nEin(e) GitLab-Vertreter(in) kann dir sagen, wie du am Co-Create-Programm teilnehmen kannst. Weitere Informationen findest du auch auf der [Seite des Co-Create-Programms](https://about.gitlab.com/community/co-create/).\n",[912],"Fatima Sarah Khalid","2025-02-07","2025-01-30","Das Co-Create-Programm: Wie Kund(inn)en zusammenarbeiten, um GitLab zu entwickeln",[917,918,903],"contributors","open source","Erfahre, wie Unternehmen wie Thales, Scania und Kitware mit GitLab-Entwickler(inne)n zusammenarbeiten, um sinnvolle Funktionen beizusteuern, von denen die gesamte Community profitiert.",{"slug":921,"featured":13,"template":785},"the-co-create-program-how-customers-are-collaborating-to-build-gitlab",{"content":923,"config":931},{"title":924,"description":925,"authors":926,"heroImage":909,"date":928,"body":929,"category":684,"tags":930},"Kingfisher transformiert die Entwicklererfahrung mit GitLab","Erfahre, wie das internationale Unternehmen auf DevSecOps setzt, einschließlich Automatisierung, um die Komplexität in Workflows zu reduzieren und die Effizienz zu steigern.",[927],"Sharon Gaudin","2024-11-12","Kingfisher plc, ein internationales Unternehmen für Heimwerkerbedarf, nutzt GitLabs End-to-End-Plattform, um eine DevSecOps-Basis aufzubauen, die die Developer Experience grundlegend verbessert. Das Unternehmen plant, diese Verbesserung fortzusetzen – mit erweiterter Nutzung der Plattform-Features, Fokus auf Security, vereinfachter Toolchain und verstärkter Automatisierung.\n\n> \u003Cimg align=\"left\" width=\"200\" height=\"200\" hspace=\"5\" vspace=\"5\" alt=\"Chintan Parmar\" src=\"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752176076/Blog/ro7u8p695zw9fllbk4j5.png\" style=\"float: left; margin-right: 25px;\"> „Darum geht es: Reibungsverluste für unsere Engineers reduzieren – viel Komplexität aus dem Workflow rausnehmen und Best Practices und Governance reinbringen\", sagt Chintan Parmar, Site Reliability Engineering Manager bei Kingfisher. „Was wir gemacht haben und gerade machen, ist im Grunde: eine CI/CD-Basis aufbauen und unsere Deployment-Art ändern – damit wir Konsistenz reinbringen und die Developer Experience verbessern.\"\n\nParmar sprach über sein Team und dessen Arbeit während der [GitLab DevSecOps World Tour](https://about.gitlab.com/events/epic-conference/) in London im vergangenen Monat. In einem Bühnengespräch mit Sherrod Patching, Vice President of Customer Success Management bei GitLab, erläuterte er Kingfishers Weg mit der Plattform. Diese ermöglicht den Teams, Software-Updates und neue Projekte schneller und einfacher von der Idee bis zum Deployment zu bringen.\n\n[Kingfisher](https://www.kingfisher.com/en/index.html) ist ein Mutterkonzern mit über 2.000 Geschäften in acht europäischen Ländern. Das an der Londoner Börse notierte und im Financial Times Stock Exchange (FTSE) 100 Index gelistete Unternehmen verzeichnete im Geschäftsjahr 2023/24 einen Gesamtumsatz von 13 Milliarden Pfund. Zu den Marken gehören B&Q, Screwfix, Castorama und Brico Depot.\n\nDas Unternehmen führte GitLab erstmals 2016 mit einer kostenlosen Starter-Lizenz ein und wechselte 2020 zu Premium. In dieser Zeit migrierte es von On-Premise zu einer Cloud-Umgebung, startete den Einsatz von Shared GitLab Runners und Source Code Management und baute eine CI/CD-Bibliothek auf, die Teammitgliedern einfachen Zugriff auf standardisierte und wiederverwendbare Komponenten für typische Pipeline-Stages wie Build, Deploy und Test bietet.\n\n## Metriken verfolgen, die für Führungskräfte relevant sind\n\nKingfisher verfolgt mit GitLab Metriken wie Deployment-Frequenz, Lead Time to Change und Change Failure Rates. Die Teams analysieren Value Streams, mappen Workflows und identifizieren Engpässe. Das Unternehmen macht diese Metriken für die Unternehmensführung nutzbar.\n\n„Führungskräfte interessiert vielleicht nicht, ob ein Merge Request 15 oder 20 Minuten wartet – aber sehr wohl, wie wir diesen Zeitwert in Dollar oder Pfund umrechnen\", sagt Parmar, der GitLab bereits bei [Dunelm Group, plc](https://about.gitlab.com/customers/dunelm/), einem weiteren großen britischen Einzelhändler, einsetzte. „Kingfisher ist ein sehr datengetriebenes Unternehmen. Wir schauen uns diese Metriken genau an, um zu sehen, wo wir die Developer Experience weiter verbessern können – Verlangsamungen und manuelle Aufgaben rausnehmen und gleichzeitig mehr Automatisierung reinbringen.\"\n\nAuf der Bühne machte Parmar deutlich, dass alle Änderungen auf die Verbesserung von Software-Entwicklung und Deployment abzielen. Genauso wichtig ist es aber, den Teammitgliedern ihre Arbeit zu erleichtern und ihnen mehr Zeit und Autonomie für die Arbeit zu geben, die sie gerne machen – statt einer scheinbar endlosen Folge repetitiver, manueller Aufgaben. Er erwähnte, dass das Team so stark auf die Vereinfachung von Workflows und mehr Innovationszeit für Engineers fokussiert ist, dass es ein „Developer Experience Squad\" gegründet hat.\n\n## Menschen in den Mittelpunkt stellen und Prioritäten festlegen\n\nWas kommt als Nächstes für Kingfisher und seine Engineering-Teams mit rund 600 Praktikern?\n\nLaut Parmar hat Kingfisher seine Prioritäten bereits definiert. Ganz oben auf der Liste: Security Left verschieben. Die Gruppe konzentriert sich außerdem darauf, die Toolchain weiter zu reduzieren und durch Automatisierung die Produktivität zu steigern. Er erwartet, dass die Teams Anfang 2025 mit den KI-Funktionen von [GitLab Duo](https://about.gitlab.com/gitlab-duo/) „experimentieren\" werden – einer Suite KI-gestützter Features in der Plattform, die helfen, die Geschwindigkeit zu erhöhen und zentrale Problempunkte im Software-Development-Lifecycle zu lösen. Kingfisher wird sich darauf konzentrieren, wie dies Effizienz und Produktivität weiter steigern kann.\n\nUm all das zu erreichen, sagt Parmar, ist der erste Schritt sicherzustellen, dass Menschen an erster Stelle stehen.\n\n„Wir setzen auf Herz und Verstand unserer Leute, denn wir wissen, dass Menschen an ihrer Arbeitsweise mit Pipelines hängen können\", fügt er hinzu. „Menschen haben unterschiedliche Wege, ihre Pipelines zu bauen. Wir müssen verstehen, was sie brauchen, wie ihre Workflows aussehen, und dann mit ihnen zusammen die richtige Lösung finden. Danach zeigen wir ihnen mit Daten, dass die Verbesserungen funktioniert haben. Wir sagen ihnen also nicht, was sie brauchen – wir finden raus, was das ist, und fixen, was sie verlangsamt. So bauen wir eine wirklich gute Beziehung zu unseren Engineers auf.\"\n\nWie ein Team Software erstellt und deployed zu ändern, ist eine Reise. Parmar empfiehlt, Entwickler und Security-Teams kollaborativ auf diese Reise mitzunehmen, statt sie mitzuziehen. Das macht einen großen Unterschied – sowohl bei der Migration als auch bei der User Experience der Teammitglieder.\n\n> Mehr erfahren: [Wie andere GitLab-Kunden die DevSecOps-Plattform nutzen](https://about.gitlab.com/customers/), um Ergebnisse für ihre Kunden zu erzielen.\n",[903,799,699,800],{"slug":932,"featured":13,"template":785},"kingfisher-transforming-the-developer-experience-with-gitlab",{"category":699,"slug":697,"posts":934},[935,947,958],{"content":936,"config":945},{"description":937,"authors":938,"heroImage":940,"date":941,"title":942,"body":943,"category":697,"tags":944},"Komm am 10. Februar 2026 auf die GitLab Transcend in München oder sei online live dabei. Finde heraus, wie du Produktivitätsgewinne mit Qualität, Zuverlässigkeit und Sicherheit in Einklang bringst.",[939],"Manav Khurana","https://res.cloudinary.com/about-gitlab-com/image/upload/v1767982271/e9ogyosmuummq7j65zqg.png","2026-01-12","KI verändert DevSecOps: Triff GitLab und erfahre, was als Nächstes kommt","**KI verspricht einen Quantensprung bei der Innovationsgeschwindigkeit, doch die meisten Software-Teams stoßen an ihre Grenzen.**\n\nLaut unserem brandneuen [Global DevSecOps Report mit Zahlen für Deutschland](https://learn.gitlab.com/de-developer-survey/report-de-de-de-devsecops-report-practitioner) macht KI-generierter Code mittlerweile 32 Prozent aller Entwicklungsarbeit aus. Dennoch berichten 75 Prozent der deutschen DevSecOps-Expert(inn)en, dass KI das Compliance-Management erschwert, und 78 Prozent sagen, dass agentische KI beispiellose Sicherheitsherausforderungen schaffen wird.\n\nDas ist das **KI-Paradoxon:** KI beschleunigt das Programmieren, aber die Software-Auslieferung verlangsamt sich, weil Teams damit kämpfen, den Code zu testen, abzusichern und zu deployen.\n\n> **[Lade dir unseren DevSecOps Report für Deutschland *kostenlos* herunter!](https://learn.gitlab.com/de-developer-survey/report-de-de-de-devsecops-report-practitioner)**\n\n## Produktivitätsgewinne treffen auf Workflow-Engpässe\n\nDas Problem ist nicht die KI selbst. Es liegt daran, wie Software heute entwickelt wird. Der traditionelle DevSecOps-Lebenszyklus enthält Hunderte kleiner Aufgaben, die Entwickler(innen) manuell bewältigen müssen: Tickets aktualisieren, Tests ausführen, Reviews anfordern, auf Freigaben warten, Merge-Konflikte beheben, Sicherheitsprobleme angehen. Diese Aufgaben kosten laut unserer Forschung jedes Teammitglied durchschnittlich sieben Stunden pro Woche.\n\nEntwicklungsteams produzieren Code schneller als je zuvor, aber dieser Code kriecht immer noch durch fragmentierte Toolchains, manuelle Übergaben und unverbundene Prozesse. Tatsächlich verwenden nahezu 60 Prozent der deutschen DevSecOps-Teams mehr als fünf Tools für die Softwareentwicklung insgesamt, und 45 Prozent nutzen mehr als fünf KI-Tools. Diese Fragmentierung schafft Kollaborationsbarrieren – 97 Prozent der deutschen DevSecOps-Fachleute erleben Faktoren, die die Zusammenarbeit im Software-Entwicklungszyklus einschränken.\n\nDie Antwort sind nicht noch mehr Tools. Es ist intelligente Orchestrierung, die Software-Teams und ihre KI-Agenten über Projekte und Release-Zyklen hinweg zusammenbringt – mit eingebauter Sicherheit, Governance und Compliance auf Enterprise-Niveau.\n\n## Auf der Suche nach tieferen Mensch-KI-Partnerschaften\n\nDevSecOps-Profis wollen nicht, dass KI übernimmt – sie wollen verlässliche Partnerschaften. Die große Mehrheit (81 Prozent) sagt, dass die Nutzung agentischer KI ihre Arbeitszufriedenheit erhöhen würde, und 38 Prozent stellen sich eine ideale Zukunft mit einer 50/50-Aufteilung zwischen menschlichen und KI-Beiträgen vor. Sie sind bereit, KI rund ein Drittel ihrer täglichen Aufgaben ohne menschliche Überprüfung anzuvertrauen, besonders bei Dokumentation, Test-Erstellung und Code-Reviews.\n\nWas wir deutlich von deutschen DevSecOps-Expert(inn)en gehört haben, ist, dass KI sie nicht ersetzen wird; vielmehr wird sie ihre Rollen grundlegend verändern. 80 Prozent der DevSecOps-Fachleute glauben, dass KI ihre Arbeit innerhalb von fünf Jahren erheblich verändern wird, und bemerkenswert ist, dass drei Viertel denken, dies wird mehr Engineering-Jobs schaffen, nicht weniger. Da das Programmieren mit KI einfacher wird, werden Ingenieur(inn)en, die Systeme entwerfen, Qualität sicherstellen und geschäftlichen Kontext anwenden können, sehr gefragt sein.\n\nEntscheidend ist, dass 84 Prozent zustimmen, dass es wesentliche menschliche Qualitäten gibt, die KI niemals vollständig ersetzen wird, einschließlich Kreativität, Innovation, Zusammenarbeit und strategische Vision.\n\nWie können Organisationen also die Lücke zwischen dem Versprechen der KI und der Realität fragmentierter Workflows überbrücken?\n\n## Komm zur GitLab Transcend: Erfahre, wie du mit agentischer KI echten Wert schaffst\n\nAm 10. Februar 2026 veranstaltet GitLab Transcend, wo wir zeigen werden, wie intelligente Orchestrierung die KI-gestützte Softwareentwicklung transformiert. Du erhältst einen ersten Blick auf GitLabs kommende Produkt-Roadmap und erfährst, wie Teams reale Herausforderungen lösen, indem sie Entwicklungs-Workflows mit KI modernisieren.\n\nOrganisationen, die in dieser neuen Ära gewinnen, balancieren KI-Einführung mit Sicherheit, Compliance und Plattform-Konsolidierung. KI bietet echte Produktivitätsgewinne, wenn sie durchdacht implementiert wird – nicht indem sie menschliche Entwickler(innen) ersetzt, sondern indem sie DevSecOps-Profis befreit, sich auf strategisches Denken und kreative Innovation zu konzentrieren.\n\n> ## **Registriere dich jetzt für unser Event in München oder die Online-Konferenz**\n>\n> [Hier geht's zur digitalen Transcend](https://about.gitlab.com/events/transcend/virtual/) und [hier zum Live-Event in München](https://about.gitlab.com/events/transcend/munich/). Sichere dir deinen Platz und erfahre, wie intelligente Orchestrierung deinen Software-Teams helfen kann, im Flow zu bleiben.\n> *Die Transcend in München wird auf Englisch stattfinden.*",[778,902,759],{"featured":13,"template":785,"slug":946},"ai-is-reshaping-devsecops-attend-gitlab-transcend-to-see-whats-next",{"content":948,"config":956},{"title":949,"category":697,"tags":950,"authors":951,"heroImage":952,"body":953,"description":954,"date":955},"Shift Left Security: DevSecOps richtig umsetzen – ein Praxisleitfaden",[902],[809],"https://res.cloudinary.com/about-gitlab-com/image/upload/v1765222301/czfqu7ajwcwyyn4beg6k.jpg","Traditionelle Sicherheitsmodelle geraten in modernen [DevOps-Umgebungen](https://about.gitlab.com/de-de/topics/devops/) schnell an ihre Grenzen. Sicherheitsprüfungen, die erst spät im Entwicklungsprozess erfolgen, verursachen hohe Kosten, lange Reaktionszeiten und unterbrechen agile Workflows. Der Shift Left Security-Ansatz begegnet diesen Herausforderungen, indem er Sicherheitsmaßnahmen frühzeitig integriert. Statt reaktiv auf Sicherheitslücken zu reagieren, werden Risiken bereits in der Entwicklungsphase erkannt und adressiert. Wir zeigen dir, wie dieser Ansatz funktioniert, welche Vorteile er bietet und wie du Shift Left Security umsetzt.\n\n## **Was ist Shift Left Security?**\n\nShift Left Security bezeichnet einen Ansatz in der Softwareentwicklung, bei dem Sicherheitsmaßnahmen möglichst früh im Entwicklungsprozess integriert werden.\n\nTraditionell wurden Sicherheitstests erst am Ende des Softwareentwicklungszyklus (SDLC) durchgeführt, zum Beispiel in der Test- oder Produktionsphase. Dieses Vorgehen führt oft zu höheren Kosten und längeren Entwicklungszeiten, wenn kritische Sicherheitslücken spät entdeckt werden.\n\nMit dem Shift Left Ansatz wird das Thema Sicherheit nun auf der Zeitachse der Anwendungsentwicklung nach links verschoben, sodass anfälliger Code früh entdeckt werden kann. Ziel ist es, Schwachstellen schon in den frühen Phasen wie Planung, Design oder Codierung zu erkennen und zu beheben, statt sie erst im späteren Verlauf oder nach dem Deployment zu adressieren.\n\n![Infografik So funktioniert Shift Left](https://res.cloudinary.com/about-gitlab-com/image/upload/v1765222295/lx0qqnnyse2ginovcnxb.jpg \"Schaubild: Shift Left Security, Sicherheitsmaßnahmen werden möglichst früh im Entwicklungsprozess integriert.\")\n\n## **Der Shift Left Ansatz**\n\nShift Left Security ist eine strategische Herangehensweise, bei der Sicherheit möglichst früh in den Entwicklungsprozess integriert wird – nicht durch ein einzelnes Tool, sondern durch eine Kombination verschiedener Maßnahmen.\n\nTypischerweise werden dafür Sicherheitstools entlang des Entwicklungszyklus eingesetzt, darunter:\n\n* **SCA (Software Composition Analysis)**: SCA erkennt Schwachstellen und Lizenzrisiken in Open-Source-Komponenten, indem es Paketverwaltung, Manifestdateien, Binärdateien und Container-Images analysiert. Die Ergebnisse werden in einer Software-Stückliste (sog.[ Software Bill of Materials](https://about.gitlab.com/de-de/blog/the-ultimate-guide-to-sboms/)) zusammengeführt und mit Schwachstellen- und Lizenzdatenbanken abgeglichen. So lassen sich Sicherheits- und Compliance-Probleme systematisch aufspüren und schnell adressieren.\n* **SAST (Static Application Security Testing)**: SAST ist ein White-Box-Verfahren, das den Quellcode analysiert, ohne die Anwendung auszuführen. Es spiegelt die Sichtweise von Entwickler(innen) wider und erkennt Schwachstellen früh im Softwareentwicklungszyklus, z. B. fehlende Eingabevalidierung oder unsichere Codemuster. Dadurch ist es besonders kosteneffizient. Laufzeit- oder umgebungsbezogene Probleme kann SAST allerdings nicht erfassen.\n* **DAST (Dynamic Application Security Testing)**: DAST ist ein Black-Box-Verfahren, das laufende Web-Anwendungen testet und sich an der Methodik potenzieller Angreifer(innen) orientiert. Es erkennt Schwachstellen wie XSS, fehlerhafte Authentifizierung oder Konfigurationsfehler zur Laufzeit – ohne Kenntnis des zugrundeliegenden Codes. DAST wird typischerweise in späten Phasen der Entwicklung oder in Testumgebungen eingesetzt und eignet sich ausschließlich für Web-Anwendungen und -Services.\n* **Secret Scanning:** Shift Left Security umfasst auch das Scannen von Container-Images und serverlosen Funktionen, da moderne Anwendungen zunehmend in Containern ausgeführt oder über serverlose Architekturen bereitgestellt werden. Beim Scannen eines [Container-Images](https://about.gitlab.com/de-de/topics/devsecops/beginners-guide-to-container-security/) wird der Inhalt auf Sicherheitslücken, Schwachstellen im Build-Prozess und fehlerhafte Konfigurationen geprüft. Ziel ist es, Probleme zu erkennen, bevor das Image in der Produktion verwendet wird. Das Scannen serverloser Funktionen erfordert spezielle Überwachungslösungen, die cloud-native Umgebungen abdecken und auch ohne klassische Serverinfrastruktur funktionieren.\n\nDiese Tools können einzeln oder kombiniert verwendet werden. Effektiver ist jedoch eine [automatisierte Sicherheitsplattform](https://about.gitlab.com/de-de/blog/why-are-organizations-moving-to-a-unified-devsecops-platform/), die Risiken in allen Phasen des Entwicklungszyklus erkennt – von der Codierung bis zur Bereitstellung. So können DevOps-Teams Schwachstellen frühzeitig und systematisch beheben.\n\n**Lesetipp:** [SAST vs. DAST - Die Unterschiede erklärt](https://about.gitlab.com/de-de/topics/devsecops/sast-vs-dast/)\n\n## **Vorteile der Shift Left Security**\n\nDie Linksverschiebung sicherheitsrelevanter Maßnahmen führt zu einer Reihe von Vorteilen für Unternehmen und Entwickler(innen).\n\n* **Frühzeitiges Erkennen von Sicherheitsrisiken:** Durch Sicherheitsanalysen direkt im Code oder bei der Integration von Abhängigkeiten lassen sich Schwachstellen erkennen, bevor sie in produktive Systeme gelangen. Dies verschafft Entwickler(innen) mehr Zeit für die Reaktion und reduziert die potenzielle Bedrohung (beispielsweise durch Exploits oder Datenlecks) erheblich.\n* **Geringere Kosten für Fehlerbehebung:** Je später ein Sicherheitsfehler entdeckt wird, desto teurer ist seine Behebung. Wird eine Schwachstelle bereits vor dem Build entdeckt, reicht oft eine einfache Codeänderung – ohne zusätzlichen Aufwand für Tests oder Deployments. Wird das Problem erst in der Produktion bemerkt, ist der Aufwand deutlich höher und der gesamte Prozess kann Wochen dauern. Frühes Eingreifen spart Zeit, senkt die Kosten und ermöglicht es Entwickler(innen), sich stärker auf neue Funktionen statt auf Notfallpatches zu konzentrieren.\n* **Schnellere Entwicklungszyklen:** Sicherheitsprobleme lassen sich schneller beheben, solange sie nur im Quellcode bestehen. Wird ein Problem erst kurz vor dem Release oder in der Produktion entdeckt, verlängert sich der Behebungsprozess deutlich – mit der Gefahr, gesetzte Fristen zu verpassen und die Time-to-Market zu verlangsamen.\n* **Bessere Codequalität:** Sicherheitsüberprüfungen fördern eine saubere Code-Architektur, konsistente Implementierung und verständlichen Code. So entstehen robuste und wartbare Anwendungen.\n* **Bessere Zusammenarbeit:** Shift Left Security fördert die Zusammenarbeitzwischen Entwickler(innen) und Security-Teams. Wird ein Sicherheitsproblem früh im Quellcode erkannt, können beide Seiten gemeinsam daran arbeiten, ohne Schuldzuweisungen oder Zeitdruck. Das verbessert die Kommunikation und stärkt das gegenseitige Verständnis.\n* **Reduziertes Risiko im Live-Betrieb:** Wird eine Schwachstelle erst im laufenden Betrieb entdeckt, sind schnelle und oft drastische Maßnahmen nötig – etwa das Abschalten der App. Wird die Schwachstelle hingegen bereits während der Entwicklung identifiziert, lässt sie sich mit geringem Aufwand und ohne größere Auswirkungen auf Nutzer(innen) beheben.\n\n***[Wie Dunelm, der britische Marktführer für Haushaltswaren, die Sicherheit \"nach links\" geschoben hat, steht in dieser ausführlichen Case Study.](https://about.gitlab.com/de-de/customers/dunelm/)***\n\n## **Best Practices für deinen Shift Left Security Ansatz**\n\nShift Left Security erfordert die frühzeitige und umfassende Integration von Sicherheitsmaßnahmen in den Entwicklungsprozess – idealerweise ab dem ersten Moment, in dem Entwickler(innen) mit dem Programmieren beginnen. Die Sicherheitsprüfung soll nicht nachgelagert, sondern integraler Bestandteil der täglichen Entwicklungsarbeit sein. Damit das gelingt, solltest du auf Best Practices zurückgreifen.\n\n### **\\#1 Integration von Sicherheitsmaßnahmen in die CI/CD-Pipeline**\n\nSicherheits-Scans sind ein zentrales Element des Shift-Left-Ansatzes. Ihre volle Wirkung entfalten sie aber nur, wenn die Ergebnisse unmittelbar in die[ DevOps-Toolkette](https://about.gitlab.com/de-de/topics/ci-cd/shift-left-devops/) eingebunden sind. Reports sollten direkt im CI/CD-Pipeline-Bericht angezeigt werden, sodass Entwickler(innen) sie ohne Umwege nutzen können. Zusätzlich sollte die Erstellung einer Software Bill of Materials (SBOM) automatisiert werden, um alle verwendeten Abhängigkeiten, Container-Images und serverlosen Funktionen transparent zu erfassen und systematisch auf bekannte Schwachstellen zu prüfen.\n\n### **\\#2 Anwendung von Security-Tools in der Entwicklungsumgebung**\n\nSicherheitsfunktionen sollten direkt in die Entwicklungsumgebung eingebunden werden, damit Schwachstellen bereits vor Übertragung in den Main Branch erkannt werden. Durch die Integration in die vertrauten Toolsets der Entwickler(innen) wird eine kontinuierliche Zusammenarbeit mit dem Security-Team ermöglicht und der Aufwand für nachträgliche Korrekturen deutlich reduziert.\n\n### **\\#3 Schulung von Entwickler(innen)**\n\nDamit Entwickler(innen) die Anwendungssicherheit bereits frühzeitig im Prozess berücksichtigen, ist eine intensive Schulung notwendig. Entwicklerteams müssen verstehen, warum sie Sicherheitsprüfungen frühzeitig durchführen – und welchen Beitrag das zur Gesamtqualität und Stabilität der Anwendung leistet. Dazu eignen sich praxisnahe und rollenbezogene Schulungsformate wie z. B. Code Labs, Code Guidelines oder Hands-on-Training.\n\n### **\\#4 Integration von Security Reviews in Code Reviews und Pull Requests**\n\nSicherheit sollte auch Teil von [Code Reviews](https://about.gitlab.com/de-de/topics/version-control/what-is-code-review/) sein. Teams können z. B. Checklisten mit sicherheitsrelevanten Aspekten verwenden. Pair Programming bietet zusätzlich die Möglichkeit, Sicherheit direkt beim Schreiben des Codes mitzudenken – vor allem in frühen Projektphasen.\n\n## **HackerOne + GitLab: Setze Shift Left Security einfach und kostengünstig um**\n\nEine der größten Herausforderungen für die Umsetzung der Shift Left Sicherheit für Entwicklerteams ist eine aufgeblähte Toolchain. Der Wechsel zwischen Tools und unklare Rollenverteilungen können die frühzeitige Integration von Sicherheitsüberprüfungen behindern.\n\nGitLab bietet mit HackerOne eine integrierte Lösung, die Security-Teams und Entwickler(innen) effektiv verbindet. Sicherheitslücken, die über HackerOne gemeldet und validiert werden, werden automatisch in GitLab als Tickets angelegt. Diese enthalten unter anderem:\n\n* Synchronisation von Kommentaren\n* Statusänderungen\n* Zuständigkeiten\n* Belohnungen\n* Fälligkeitsdaten\n\nDie Kommunikation erfolgt dabei bidirektional zwischen beiden Plattformen. Die Integration ermöglicht es somit Entwickler(innen), im gewohnten Workflow zu bleiben und Sicherheitslücken direkt zu bearbeiten.\n\n### **Auswirkungen der automatisierten Sicherheitsintegration**\n\nDie Integration von HackerOne und GitLab führt in der Praxis zu:\n\n* Bis zu 70 Prozent Zeitersparnis von der Entdeckung bis zur Behebung von Schwachstellen\n* Erhöhte Transparenz über den Sicherheitsstatus im gesamten Unternehmen\n* Effektivere Nutzung der Ressourcen im Security-Team\n* Gesteigerte Zufriedenheit der Entwickler(innen), da sie im bevorzugten Workflow bleiben können\n\n## **Keine Kompromisse bei der Shift Left Security**\n\nShift Left Security verschiebt das Thema Sicherheit weg von der Endkontrolle hin zur kontinuierlichen Begleitung des Entwicklungsprozesses. Durch Tools wie SAST, DAST, SCA und Container-Scanning lassen sich Schwachstellen frühzeitig identifizieren – noch bevor sie produktiv wirksam werden. Das senkt Kosten, reduziert Risiken und beschleunigt Entwicklungszyklen.\n\nErfolgreich ist dieser Ansatz jedoch nur, wenn Sicherheitsprüfungen eng in die[ CI/CD-Pipeline](https://about.gitlab.com/de-de/topics/ci-cd/cicd-pipeline/) und Entwicklungsumgebungen integriert werden und Entwickler(innen) durch gezielte Schulungen und klare Prozesse unterstützt werden. Die Fallstudie zu GitLab und HackerOne zeigt zudem, dass integrierte Plattformen Kontextwechsel vermeiden und die Effizienz deutlich steigern können. Entscheidend für eine nachhaltige Umsetzung ist eine Sicherheitskultur, in der Entwicklung und Security partnerschaftlich und auf Augenhöhe zusammenarbeiten.","Erkenne und behebe Sicherheitslücken früh mit Shift-Left-Security. Lerne aus HackerOnes GitLab-Story und erhalte praxisnahe DevSecOps-Tipps.","2025-12-08",{"featured":646,"template":785,"slug":957},"devsecops-shift-left-guide",{"content":959,"config":968},{"title":960,"description":961,"authors":962,"date":963,"body":964,"category":697,"tags":965,"heroImage":967},"Cloud-Kosten systematisch steuern – mit FinOps","FinOps verbindet Finance und IT, macht Cloud-Kosten transparent und wandelt reaktive Rechnungszahlung in proaktive Wert-Optimierung um.",[809],"2025-11-19","**FinOps** ist die Disziplin, die Cloud-Kosten-Management transformiert – von reaktiver Rechnungszahlung zu proaktiver Wert-Optimierung. Sie vereint Finance-, Technical- und Business-Teams um eine gemeinsame Sprache.\n\nWährend Cloud-Nutzung intensiviert wird, kämpfen Organisationen mit Ausgaben-Kontrolle. Ein Gartner-Report zeigt: **[69% der Organisationen überschritten 2023 ihr Cloud-Budget](https://www.gartner.com/peer-community/oneminuteinsights/omi-keeping-cloud-costs-check-it-leader-perspectives-rfz)**.\n\nDiese Unvorhersagbarkeit schwächt Finance-Vertrauen und erhöht Druck auf IT-Teams. FinOps bietet strukturierte Antwort: Kosten in Echtzeit sichtbar machen, Kultur gemeinsamer Verantwortung etablieren und jede Ausgabe an generiertem Business-Wert ausrichten.\n\nMehr als reine Kostenreduktions-Strategie ist FinOps ein operativer und kultureller Rahmen. Er ermöglicht Organisationen, Kontrolle über Cloud-Budgets zurückzugewinnen ohne Agilität oder Innovation zu opfern. Dieser Ansatz wird besonders relevant, wenn er direkt in [DevOps](https://about.gitlab.com/de-de/topics/devops/)- und [CI/CD](https://about.gitlab.com/de-de/topics/ci-cd/)-Praktiken integriert wird, die auf der [GitLab-Plattform](https://about.gitlab.com/de-de/why-gitlab/) verfügbar sind.\n\n> **[&rarr; GitLab Ultimate und GitLab Duo Enterprise kostenlos testen.](https://about.gitlab.com/de-de/free-trial/devsecops/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_de_blog_de)**\n\n## FinOps: Definition\n\nDer Begriff **FinOps**, Kurzform von *Financial Operations*, bezeichnet eine Disziplin, geboren aus einfacher Erkenntnis: explodierende Cloud-Nutzung erfordert neue finanzielle Governance. Klassische Budget-Methoden reichen nicht mehr, da sie Cloud-spezifische Schwankungen und Komplexität nicht berücksichtigen.\n\nFinOps geht weit über **Kostenreduktion** hinaus. Es geht nicht nur darum, Verschwendung zu tracken oder Rabatte mit Providern zu verhandeln. Es ist ein **kultureller und organisatorischer Ansatz**, der Finance-, Technology- und Business-Teams vereint. Sein Ziel: Innovation kanalisieren ohne zu bremsen, indem allen klare Sicht auf finanzielle Impacts ihrer **Infrastruktur**- und **Operations**-Entscheidungen gegeben wird.\n\nEine FinOps-Organisation sucht nicht, weniger auszugeben, sondern **besser auszugeben**: in die richtigen Ressourcen investieren, zum richtigen Zeitpunkt, mit messbarem Business-Return.\n\n## Warum wurde FinOps unverzichtbar?\n\nMulticloud setzt sich in den meisten Organisationen durch. AWS, Azure, Google Cloud und Private-Lösungen koexistieren, jeder mit eigenen Pricing-Modellen und Rabatten. Diese Diversität macht Budget-Tracking fragmentiert und verstärkt Governance-Komplexität.\n\nZu dieser Diversität kommen **Kosten-Schwankungen**. In selbst-gehosteten (On-Premise) Systemen war Budget im Voraus fixiert. In der Cloud kann jeder Load-Spike, Test-Projekt oder beschleunigtes Deployment die Rechnung über Nacht erhöhen. Diese Unvorhersagbarkeit unterminiert klassische Finance-Methoden und schafft dringenden Bedarf nach neuen Management-Praktiken.\n\nFinance-Services verlangen inzwischen mehr als unverständliche monatliche Cloud-Rechnungen. Sie erwarten verlässliche Prognosen, klare Ausgaben-Aufschlüsselung und Management-Logik vergleichbar mit anderen Unternehmens-Investitionen.\n\nDaher wurde Abstimmung zwischen Kosten und Business-Wert zentral. Jede Ausgabe muss mit einem Produkt oder Customer-Experience verknüpfbar sein. FinOps bringt diese gemeinsame Sprache, die technische Rechnung in Business-Dashboard transformiert.\n\nIn diesem Kontext entstand FinOps als strukturierter Rahmen zur Komplexitäts-Beherrschung.\n\n## Fundamentale FinOps-Prinzipien\n\nFinOps basiert auf geteilter Kultur, strukturiert um mehrere Schlüsselprinzipien:\n\n* **Team-übergreifende Kollaboration**: Kein Akteur kann allein steuern. Finance bringt Budget-Kontrolle, Engineering technische Realität, und Business-Teams Wert-Perspektive. Gemeinsam bauen sie eine **Organisation** fähig zu ausgewogenen Entscheidungen, aber diese Sharing-Logik allein reicht nicht.\n* **Verteilte Verantwortung und Governance**: Jedes Team übernimmt Kosten seiner technischen Entscheidungen (*you build it, you run it, you pay it*), aber zentrale Funktion definiert Standards, setzt KPIs und liefert Tools zur globalen Konsistenz-Aufrechterhaltung. Diese Governance beschränkt sich nicht auf Kosten – sie betrifft auch **Management** von Umgebungen und Ressourcen.\n* **Business-Wert als Kompass**: Cloud-Ausgabe macht nur Sinn, wenn sie zu Produkt, Service oder Customer-Experience beiträgt. FinOps misst diese direkte Verknüpfung zwischen Kosten und ROI.\n* **Transparenz und Reaktivität durch Daten**: Kosten müssen in Echtzeit sichtbar sein mit klarem, actionable Reporting – idealerweise in Workflows, wo Teams bereits arbeiten. Dies ist Bedingung für schnelle Korrektur und Vertrauensaufbau.\n* **Dezentralisierte Entscheidungsfindung mit zentraler Governance**: Teams treffen Echtzeit-Entscheidungen über ihre Ressourcen im Rahmen etablierter Leitplanken statt auf Approval-Chains zu warten.\n* **Variables Cloud-Modell**: Statt Schwankungen zu erleiden, macht FinOps sie zum Asset. Ressourcen an Bedarf anpassen, Skalierung automatisieren und via Reservierungen antizipieren transformiert Flexibilität in strategischen Hebel.\n* **Kontinuierliche Optimierungs-Kultur**: FinOps ist permanente Praxis, kein punktuelles Projekt. Teams identifizieren kontinuierlich Verschwendung, optimieren Ressourcen und verfeinern Prozesse während Cloud-Nutzung evolviert.\n\nDiese Prinzipien bilden das kulturelle Fundament. Für Umsetzung braucht es klaren Rahmen und definierten Lifecycle, fähig Organisationen über Zeit zu begleiten.\n\n## FinOps-Framework und Lifecycle\n\nZur Transformation dieser Prinzipien in nachhaltige Praktiken bietet die FinOps Foundation ein anerkanntes **Framework**. Es beschreibt Action-Domänen, involvierte Rollen und Reife-Stufen.\n\n### Die drei Framework-Domänen\n\nDas FinOps Foundation Framework basiert auf drei permanenten Domänen:\n\n* **Informieren**: Kosten sichtbar und verständlich machen durch Echtzeit-Finance-Daten-Sharing.\n* **Optimieren**: Ineffizienzen identifizieren, Ressourcen anpassen und kontinuierliche Optimierungs-Logik einführen.\n* **Operieren**: Nachhaltige Governance installieren und langfristig steuern.\n\nDiese Domänen sind nicht sequenziell – sie bilden kontinuierlichen Zyklus. Je besser informiert wird, desto besser optimiert wird, und desto mehr verankert sich Governance in der Organisation.\n\n### Rollen und Organisations-Reife\n\nJede Domäne mobilisiert spezifische Akteure: Finance für Budget-Kontrolle, Engineering für technische Übersetzung, Business-Teams für Business-Wert und Governance für gemeinsame Standards.\n\nFinOps-Einführung misst sich auch an Reife-Stufen (*crawl, walk, run*), die schrittweisen Weg einer Organisation zu vollständig beherrschtem Cloud-Management abbilden.\n\n### Die \"Crawl, Walk, Run\"-Stufen\n\nDas **Crawl-Walk-Run**-Modell beschreibt Organisations-Reife:\n\n* **Crawl**: Erste Schritte, Basic-Reporting, wenige nachverfolgte KPIs.\n* **Walk**: Praktiken-Integration, regelmäßige Optimierung, erste Rituale und Automatisierungen.\n* **Run**: Fortgeschrittene Reife, komplette Automatisierung, robuste Governance, FinOps in Unternehmensstrategie integriert.\n\nDieser Rahmen gibt Organisationen einen Kompass: er ermöglicht zu wissen, wo sie stehen und wie sie zu nachhaltiger Cloud-Ausgaben-Beherrschung fortschreiten.\n\n## Warum und wie FinOps-Modell einführen?\n\nFinOps-Ansatz umzusetzen bedeutet, diese Herausforderungen zu adressieren: Kosten-Schwankungen, Budget-Druck, Transparenz-Bedarf und Effizienz-Suche. Für Erfolg muss Deployment schrittweise sein und in realen Use Cases verankert.\n\n### Cloud-Kosten-Schwankungen und -Unvorhersagbarkeit beherrschen\n\nCloud funktioniert nach Nutzung, was Kosten natürlich schwanken lässt. Um zu vermeiden, dass diese Instabilität zu Budget-Risiko wird, erfordert FinOps: Consumption-Spikes zu kartieren, Budget-Steuerungs-Regeln zu setzen und Infrastruktur-Szenarien zu modellieren. Ziel: unvorhersagbare Ausgabe in kontrollierte Ausgabe transformieren.\n\n### Kosten und Business-Wert abstimmen\n\nSobald Transparenz erreicht ist, wird die Frage: *Schafft jede Ausgabe wirklich Wert?* FinOps verknüpft Kosten mit Produkten und Services und misst sie via Unit-Indikatoren wie Kosten pro User oder pro Transaktion. Dieser Ansatz ermöglicht Investment-Priorisierung nach Business-ROI und gibt Cloud-Kosten Bedeutung.\n\n### Governance und geteilte Regeln etablieren\n\nDamit diese Logik über Zeit hält, ist klare Governance notwendig. Tagging-Standards, Ressourcen-Owner-Definition und Budget-Attribution pro Team garantieren Nachvollziehbarkeit. Arbitrage-Prozesse ergänzen diesen Rahmen, validiert auf höchster Unternehmensebene. Governance wird dann Rückgrat des Modells.\n\n### Auf dedizierte Tools und Metriken setzen\n\nGovernance funktioniert nicht ohne verlässliche Daten. Cloud-Provider bieten eigene Tracking-Tools, aber diese bleiben oft fragmentiert und schwer vergleichbar. Die Herausforderung: Information zentralisieren und in derselben Umgebung umsetzbar machen. Einfache KPIs wie Kosten pro Workload, pro User oder Effizienz pro Team zeigen bereits die Verknüpfung zwischen Nutzung und Wert. Direkt in existierende Workflows integriert werden sie konkrete tägliche Steuerungs-Hebel.\n\n### Schrittweisen Ansatz verfolgen\n\nFinOps erfordert keine Komplettumstellung. Erfolg kommt durch schrittweise Einführung: FinOps-MVP starten wie ein [DevOps-Projekt](https://about.gitlab.com/de-de/solutions/devops-platform/), schnelle Gewinne einfahren und Umfang schrittweise erweitern. Ziel ist nicht sofortige Perfektion, sondern Aufbau nachhaltiger Dynamik, die sich in Kultur verankert.\n\n### Beispiele schneller Aktionen für FinOps-Strategie-Entwicklung\n\nEine FinOps-Strategie muss Wert schnell demonstrieren. Drei einfache Aktionen reichen oft, sichtbare Einsparungen zu generieren und den Ansatz zu validieren:\n\n* **Orphan-Ressourcen eliminieren**: Vergessene Storage-Volumes, ungenutzte IPs oder inaktive Test-Umgebungen. Diese diskreten Leaks repräsentieren oft mehrere Prozent der monatlichen Rechnung.\n* **Überbereitgestellte Instances rightsizen**: Viele Ressourcen laufen auf Bruchteil ihrer Kapazität. Größen-Anpassung reduziert Kosten sofort ohne Infrastruktur-Performance-Verlust.\n* **Nicht-kritische Umgebungen automatisch stoppen**: Nachts und Wochenenden abschalten, was nicht kontinuierlich laufen muss, generiert wiederkehrende, einfache, nachhaltige Einsparungen.\n\nDiese schnellen Gesten geben klares Signal: FinOps produziert sofortige Ergebnisse und bereitet Boden für nachhaltige Einführung.\n\n> **Die FinOps Foundation**: Gegründet 2019 und an Linux Foundation angegliedert, definiert die FinOps Foundation Disziplin-Standards und föderiert globale Community. Sie verbreitet anerkanntes Framework (Inform, Optimize, Operate), bietet Trainings und Zertifizierungen und organisiert Practitioner-Austausch. Sie ist heute die Referenz zur Strukturierung und Weiterentwicklung von FinOps-Praktiken.\n\n## FinOps-Herausforderungen und -Limitationen\n\nFinOps-Ansatz zu übernehmen ist kein ruhiger Fluss. Während die Disziplin durch Transparenz- und Kontroll-Versprechen überzeugt, konfrontiert Implementierung Organisationen mit mehreren wiederkehrenden Hindernissen.\n\n### Schwieriger Kultur-Wandel\n\nDie erste Herausforderung ist kulturell. FinOps reduziert sich nicht auf Tool- oder Dashboard-Deployment – es ist primär eine **neue Art zusammenzuarbeiten**. Finance-, Technology- und Business-Teams müssen Verantwortungen teilen, was Gewohnheiten durcheinanderbringt. Wie bei jeder Transformation ist **Widerstands gegen Veränderung** oft das erste Hindernis.\n\nDiese kulturelle Schwierigkeit führt zu einer weiteren.\n\n### Organisatorische Silos bremsen Kollaboration\n\nIn vielen Organisationen bleiben Teams in Silos eingeschlossen: Finance auf einer Seite, IT auf der anderen, Business-Teams separat. Ohne reibungslose Kommunikation ist Abstimmung zwischen Kosten und Business-Wert unmöglich. FinOps-Governance zielt präzise darauf ab, diese Trennwände zu durchbrechen, aber dies erfordert **starken Management-Support** zur Änderung organisatorischer Reflexe.\n\nUnd selbst wenn Teams kooperieren, tritt ein weiteres Hindernis auf: die Daten selbst.\n\n### Partielle Sichtbarkeit und komplexe Daten-Nutzung\n\nCloud-Kosten sind notorisch schwer zu lesen, besonders in Multicloud-Umgebungen. Daten existieren, bleiben aber oft **verstreut, roh und schwer zu interpretieren**. Teams haben nicht immer die richtigen Tools zur Zentralisierung und Umsetzbarkeit. FinOps-versprochene Transparenz kann daher auf technische und analytische Grenzen stoßen.\n\nDieser Klarheits-Mangel paart sich mit Kompetenz-Mangel.\n\n### Mangel an Kompetenzen und passenden Tools\n\nFinOps ist noch junge Disziplin, und erfahrene Profile sind rar. Viele Organisationen müssen Teams intern schulen, was Einführung schrittweise aber manchmal langsam macht. Diese Kompetenz-Entwicklung ist essenziell, da Erfolg gleichermaßen auf Kultur und Technik basiert.\n\nTools repräsentieren eine weitere Herausforderung. Organisationen haben zahlreiche Tools zur Cloud-Kosten-Analyse, aber diese Lösungen sind oft verstreut und schwer in einheitliche Vision zu integrieren. Das Ergebnis ist paradox: mehr Daten, aber nicht notwendigerweise mehr Klarheit.\n\nDie wahre Herausforderung ist daher, einen Tool-Ansatz zu bauen, der einfach bleibt und auf Organisations-Reife abgestimmt ist. Schrittweise vorgehen, Lesbarkeit und Effizienz priorisieren, verhindert Transformation eines Governance-Problems in Tool-Problem.\n\n### Inhärent instabiles Cloud-Budget\n\nSelbst mit solider Governance und performanten Tools bleiben Cloud-Kosten naturgemäß instabil. Load-Spikes, Hybrid-Umgebungen oder KI-Workloads schaffen schwer vorhersagbare Schwankungen. Budget-Prognosen müssen daher permanent revidiert werden, da unerwarteter Verbrauch selbst strengste Schätzungen entgleisen lassen kann.\n\nDiese Hindernisse machen FinOps nicht ungültig – sie zeigen, warum die Disziplin weiter evolvieren muss.\n\n## FinOps-Trends und Perspektiven\n\nDer FinOps-Ansatz steht erst am Anfang seiner Geschichte. Die Disziplin evolviert kontinuierlich zur Adressierung neuer Herausforderungen, die weit über reine Kosten-Fragen hinausgehen.\n\nDer erste Trend ist **Nachhaltigkeit**. Mehr und mehr Organisationen wollen Cloud-Ausgaben optimieren und gleichzeitig Carbon-Footprint reduzieren. FinOps öffnet sich zu **GreenOps**, wo ökonomische Performance und Umwelt-Verantwortung Hand in Hand gehen.\n\nDie zweite Evolution ist **Automatisierung**. Wachsende Cloud-Komplexität macht manuelle Steuerung unmöglich. FinOps-as-Code-Praktiken und KI-Nutzung zur Verbrauchs-Analyse oder automatischen Ressourcen-Anpassung werden zur Norm.\n\nDritte Transformation: Impact von **KI-Workloads**. Diese massiven, unvorhersagbaren Loads redefinieren Cloud-Finance-Governance. Sie erzwingen neue Prognose-Methoden, neue Indikatoren und noch engere Kollaboration zwischen Finance und Engineering.\n\nDie vierte Änderung ist **Konvergenz mit Platform Engineering**. Während Organisationen interne Development-Plattformen zur Standardisierung und Beschleunigung von Software-Delivery bauen, findet FinOps seinen effizientesten Umsetzungs-Kanal. Platform-Teams integrieren Kosten-Intelligence direkt in die Struktur, wie Software gebaut und deployed wird. Durch Self-Service-Portale, \"Golden Paths\" und Infrastruktur-Templates machen sie Kosten-Optimierung zu Standard-Verhalten statt Nachgedanke. Teams erhalten Echtzeit-Kosten-Feedback in Workflows, Ressourcen-Limits werden via Policy as Code durchgesetzt, und finanzielle Guardrails werden unsichtbare Plattform-Features. Es geht nicht nur darum, Kosten-Dashboards hinzuzufügen – es geht darum, fundamental zu überdenken, wie FinOps in großem Maßstab funktioniert.\n\nSchließlich bleibt Reife noch niedrig. Viele Organisationen machen erste Schritte, oft im \"Crawl\"-Stadium. Die Herausforderung kommender Jahre: **gemeinsam Reife steigern**, damit FinOps nicht punktuelle Initiative, sondern integrierte organisatorische Kompetenz wird.\n\nFinOps ist daher kein Selbstzweck, sondern schrittweiser Ansatz. Er ermöglicht, Cloud von unvorhersagbarem Kosten-Center in strategischen Hebel zu transformieren. Direkt in DevSecOps- und CI/CD-Praktiken integriert, bringt er Finance-, Technology- und Business-Teams noch enger um gemeinsame Ziele zusammen.\n\nDieser Weg beginnt mit Integration von FinOps-Praktiken direkt in existierende Development-Workflows. Hier kommen Plattformen wie GitLab ins Spiel.\n\n## GitLab und FinOps-Ansatz\n\nGitLab trägt zum FinOps-Ansatz bei durch Sichtbarkeit auf Development-Ressourcen-Nutzung. Die Plattform ermöglicht Tracking von Compute-Minuten-Verbrauch pro Projekt und Namespace, erleichtert damit Kosten-Zuordnung zu Teams. Zudem können Admins Nutzungs-Quotas konfigurieren und Verbrauchs-Trends via Usage-Dashboards überwachen. Dieser Ansatz hilft Organisationen, ihre [CI/CD-Pipeline](https://about.gitlab.com/de-de/topics/ci-cd/cicd-pipeline/)-bezogenen Ausgaben besser zu verstehen und Runner-Nutzung zu optimieren. Durch Integration dieser Metriken in Development-Workflows sensibilisiert GitLab Technical-Teams für Impact ihrer Praktiken auf operative Kosten.\n\n> **[&rarr; GitLab Ultimate und GitLab Duo Enterprise kostenlos testen.](https://about.gitlab.com/de-de/free-trial/devsecops/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_de_blog_de)**",[966,89],"DevOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1760520341/suhp5cpbgzqikafvl7p1.jpg",{"featured":646,"template":785,"slug":969},"what-is-finops",{"category":708,"slug":710,"posts":971},[972,987,1000],{"content":973,"config":985},{"category":710,"tags":974,"body":977,"date":978,"heroImage":979,"authors":980,"title":983,"description":984},[975,976,89],"tutorial","git","Enterprise-Migrationen in regulierten Branchen wie Finanzwesen und Automobilindustrie erfordern systematisches Risikomanagement gemäß NIS2-Richtlinie Artikel 21. Die mehrstufige Migrationsstruktur mit Testläufen vor Produktions-Wellen und kontrollierten Change-Freezes demonstriert Business-Continuity-Management in der Praxis. GitLab Professional Services organisiert Migrationen in Wellen von 200-300 Projekten, um Komplexität zu managen und API-Rate-Limits zu respektieren.\n\n## Überblick\n\nGitLab bietet [Congregate](https://gitlab.com/gitlab-org/professional-services-automation/tools/migration/congregate/) (maintained by GitLab Professional Services) und [eingebauten Git-Repository-Import](https://docs.gitlab.com/user/project/import/repo_by_url/) für Migrationen von Azure DevOps (ADO). Beide Optionen unterstützen Repository-basierte oder Bulk-Migration und erhalten Git-Commit-History, Branches und Tags. Mit Congregate werden zusätzliche Assets wie Wikis, Work Items, CI/CD-Variablen, Container-Images, Packages und Pipelines migriert (siehe [Feature-Matrix](https://gitlab.com/gitlab-org/professional-services-automation/tools/migration/congregate/-/blob/master/customer/ado-migration-features-matrix.md)).\n\nEnterprises folgen typischerweise einem mehrstufigen Ansatz:\n\n- Repositories von ADO zu GitLab migrieren (Congregate oder eingebauter Import)\n- Pipelines von Azure Pipelines zu GitLab CI/CD migrieren\n- Verbleibende Assets wie Boards, Work Items und Artifacts zu GitLab Issues, Epics und Package/Container Registries migrieren\n\nMehrstufige Migrationsphasen (siehe [Diagramm](https://about.gitlab.com/blog/migration-from-azure-devops-to-gitlab/#overview)):\n\n- Prerequisites (IdP, Runners, Change Management)\n- Migration Phase (Source Code, History, Work Items)\n- Post-Migration (Pipelines, Assets, Security)\n\n## Migration planen\n\n**Zentrale Planungsfragen:**\n\n- Wie schnell muss die Migration abgeschlossen werden?\n- Was genau wird migriert?\n- Wer führt die Migration durch?\n- Welche Organisationsstruktur wird in GitLab benötigt?\n- Welche Einschränkungen, Limitierungen oder Fallstricke müssen berücksichtigt werden?\n\nDie Timeline bestimmt weitgehend den Migrationsansatz. Identifizierung von Champions oder Teams mit ADO- und GitLab-Erfahrung unterstützt Adoption und Guidance.\n\n**Inventar erstellen:**\n\nDas GitLab Professional Services [Evaluate](https://gitlab.com/gitlab-org/professional-services-automation/tools/utilities/evaluate#beta-azure-devops)-Tool produziert ein vollständiges Inventar der Azure DevOps Organisation: Repositories, PR-Counts, Contributors, Pipelines, Work Items, CI/CD-Variablen. Bei Professional Services Engagements wird dieser Report mit Engagement Manager oder Technical Architect geteilt für Migrationsplanung.\n\nMigrations-Timing wird primär bestimmt durch Pull-Request-Count, Repository-Größe und Contribution-Menge. Beispiel: 1.000 kleine Repositories mit wenigen PRs migrieren schneller als wenige Repositories mit Zehntausenden PRs. Inventar-Daten ermöglichen Aufwands-Schätzung und Test-Run-Planung.\n\nIn Professional Services Engagements werden Migrationen in Wellen von 200-300 Projekten organisiert, um Komplexität zu managen und API-Rate-Limits zu respektieren (sowohl [GitLab](https://docs.gitlab.com/security/rate_limits/) als auch [ADO](https://learn.microsoft.com/en-us/azure/devops/integrate/concepts/rate-limits?view=azure-devops)).\n\n**Tool-Auswahl:**\n\nGitLabs [eingebauter Repository-Importer](https://docs.gitlab.com/user/project/import/repo_by_url/) migriert Git-Repositories (Commits, Branches, Tags) einzeln. Congregate erhält Pull Requests (in GitLab: Merge Requests), Kommentare und Metadata; der eingebaute Import fokussiert auf Git-Daten (History, Branches, Tags).\n\nAssets die typischerweise separate Migration oder manuelle Neuerstellung erfordern:\n\n- Azure Pipelines → GitLab CI/CD Pipelines (siehe [CI/CD YAML](https://docs.gitlab.com/ci/yaml/) oder [CI/CD Components](https://docs.gitlab.com/ci/components/)). Alternativ: AI-basierte Pipeline-Konvertierung in Congregate.\n- Work Items und Boards → GitLab Issues, Epics, Issue Boards\n- Artifacts, Container-Images (ACR) → GitLab Package/Container Registry\n- Service Hooks, externe Integrationen → in GitLab neu erstellen\n\n[Permissions-Modelle](https://docs.gitlab.com/user/permissions/) unterscheiden sich zwischen ADO und GitLab. Permissions-Mapping planen statt exakter Preservation zu erwarten.\n\n**Organisationsstruktur in GitLab:**\n\nEmpfohlener Ansatz: ADO-Organisationen auf GitLab-Groups mappen (nicht viele kleine Groups). Migration als Gelegenheit nutzen, GitLab-Struktur zu rationalisieren (siehe [Struktur-Diagramm](https://about.gitlab.com/blog/migration-from-azure-devops-to-gitlab/#planning-your-migration)):\n\n- **ADO Organization** → GitLab Top-level Group\n- **ADO Project** → GitLab Subgroup (optional)\n- **ADO Repository** → GitLab Project\n\nWeitere Empfehlungen:\n\n- Subgroups und Project-Level-Permissions für verwandte Repositories nutzen\n- Zugriff über GitLab Groups und Group-Membership managen\n- GitLab [Permissions](https://docs.gitlab.com/ee/user/permissions.html) und [SAML Group Links](https://docs.gitlab.com/user/group/saml_sso/group_sync/) für Enterprise-RBAC-Modell evaluieren\n\n**ADO Work Items Migration:**\n\nADO Boards und Work Items mappen zu GitLab Issues, Epics und Issue Boards. ADO Epics und Features werden GitLab Epics. Andere Work-Item-Typen (User Stories, Tasks, Bugs) werden project-scoped Issues. Standard-Felder bleiben erhalten; ausgewählte Custom Fields können migriert werden. Parent-Child-Relationships bleiben erhalten. Links zu Pull Requests werden zu Merge-Request-Links konvertiert.\n\n![Migration eines Work Items zu GitLab Issue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1764769188/ztesjnxxfbwmfmtckyga.png)\n\n**Pipelines-Migration:**\n\nCongregate bietet [AI-basierte Konvertierung](https://gitlab.com/gitlab-org/professional-services-automation/tools/migration/congregate/-/merge_requests/1298) für multi-stage YAML-Pipelines von Azure DevOps zu GitLab CI/CD. Die automatisierte Konvertierung funktioniert optimal für einfache Single-File-Pipelines und liefert einen funktionalen Ausgangspunkt, nicht ein produktionsreifes `.gitlab-ci.yml`-File. Das Tool generiert funktional äquivalente GitLab-Pipelines zur weiteren Optimierung.\n\n- Konvertiert Azure Pipelines YAML zu `.gitlab-ci.yml` automatisch\n- Geeignet für straightforward Single-File-Pipeline-Konfigurationen\n- Liefert Boilerplate zur Migrations-Beschleunigung, nicht finales Production-Artifact\n- Erfordert Review und Anpassung für komplexe Szenarien, Custom Tasks oder Enterprise-Requirements\n- Unterstützt keine Azure DevOps Classic Release Pipelines\n\nRepository-Owner sollten [GitLab CI/CD Dokumentation](https://docs.gitlab.com/ci/) konsultieren für weitere Pipeline-Optimierung nach initialer Konvertierung.\n\n## Migrationen durchführen\n\nNach der Planung werden Migrationen in Stages durchgeführt, beginnend mit Trial Runs. Trial Migrations identifizieren organisations-spezifische Issues frühzeitig und ermöglichen Duration-Messung, Outcome-Validierung und Approach-Finetuning vor Production.\n\n**Was Trial Migrations validieren:**\n\n- Ob Repository und Assets erfolgreich migrieren (History, Branches, Tags; plus MRs/Comments bei Congregate)\n- Ob Destination sofort nutzbar ist (Permissions, Runners, CI/CD-Variablen, Integrationen)\n- Wie lange jeder Batch benötigt für Schedule- und Stakeholder-Expectations\n\n**Downtime-Guidance:**\n\nGitLabs eingebauter Git-Import und Congregate erfordern inhärent keine Downtime. Für Production-Wellen: Changes in ADO freezen (Branch-Protections oder Read-only), um verpasste Commits, PR-Updates oder mid-migration Work Items zu vermeiden. Trial Runs erfordern keine Freezes.\n\n**Batching-Guidance:**\n\nTrial-Batches back-to-back durchführen für kürzere elapsed Time. Teams validieren Results asynchron. Geplante Group/Subgroup-Struktur für Batch-Definition nutzen und API-Rate-Limits respektieren.\n\n**Empfohlene Schritte:**\n\n1. Test-Destination in GitLab erstellen (GitLab.com: dedicated Group/Namespace; Self-managed: Top-level Group)\n2. Authentication vorbereiten (Azure DevOps PAT, GitLab Personal Access Token mit api und read_repository Scopes)\n3. Trial Migrations durchführen (Repos only: eingebauter Import; Repos + PRs/MRs: Congregate)\n4. Post-Trial Follow-up (Repo-History, Branches, Tags, Merge Requests, Issues/Epics, Labels, Relationships verifizieren)\n5. Permissions/Roles, Protected Branches, Runners/Tags, Variables/Secrets, Integrations/Webhooks prüfen\n6. Pipelines (`.gitlab-ci.yml`) oder konvertierte Pipelines validieren\n7. User-Validierung für Functionality und Data-Fidelity\n8. Production-Migrationen in Waves durchführen (Change-Freezes in ADO erzwingen, Progress und Logs monitoren)\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/ibIXGfrVbi4?si=ZxOVnXjCF-h4Ne0N\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\u003C/figure>\n\n## Zentrale ADO-zu-GitLab-Mappings\n\nWichtigste Struktur-Mappings für Migrationsplanung:\n\n- **ADO Organization** → GitLab Group (Top-level Namespace)\n- **ADO Project** → GitLab Group oder Subgroup (Permissions-Boundary)\n- **ADO Repository** → GitLab Project (Git-Repo plus Issues, CI/CD, Wiki)\n- **Pull Request** → Merge Request (Code Review, Approvals)\n- **Azure Pipelines** → GitLab CI/CD (`.gitlab-ci.yml`)\n- **Agent Pools** → GitLab Runners (Job-Execution)\n- **Work Items** → GitLab Issues/Epics (Planning-Funktionalität)\n- **Variable Groups** → CI/CD Variables (Project/Group/Instance Level)\n\nFür vollständige Terminologie-Referenztabelle mit allen Mappings siehe [englische Originalversion](https://about.gitlab.com/blog/migration-from-azure-devops-to-gitlab/).\n\n## Professional Services Migrationsmuster\n\nGitLab Professional Services nutzt bewährte Muster für Enterprise-Migrationen:\n\n**Systematische Planung:** Evaluate-Tool liefert vollständiges Inventar (Repositories, PRs, Contributors, Pipelines, Work Items). Klassifikation nach Komplexität (Work Items = Planning-Team-Involvement; Pipelines = Conversion-Requirements) ermöglicht Timeline-Schätzung und Batch-Definition.\n\n**Controlled Execution:** Wellen von 200-300 Projekten managen Komplexität und respektieren API-Rate-Limits. Trial-Migrationen vor Production-Waves identifizieren Issues frühzeitig. Change-Freezes in ADO während Production-Wellen vermeiden mid-migration Updates.\n\n**Risikominimierung:** Multi-Phase-Ansatz (Prerequisites → Migration → Post-migration) mit Validierungs-Checkpoints an jeder Phase. Trial-Runs ermöglichen asynchrone Team-Validierung ohne Production-Impact.\n\n## Praktische Implementierung\n\nFür vollständige Implementierungsdetails, Konfigurationsbeispiele, Pipeline-Konvertierungs-Patterns und detaillierte Post-Migration-Checklisten siehe [englische Originalversion](https://about.gitlab.com/blog/migration-from-azure-devops-to-gitlab/).\n\nWeitere Professional Services Ressourcen:\n\n- [Professional Services Full Catalog](https://about.gitlab.com/professional-services/catalog/)\n- [Congregate Migration Tool](https://gitlab.com/gitlab-org/professional-services-automation/tools/migration/congregate/)\n- [Evaluate Inventory Tool](https://gitlab.com/gitlab-org/professional-services-automation/tools/utilities/evaluate)\n","2025-12-03","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658924/Blog/Hero%20Images/securitylifecycle-light.png",[981,982],"Evgeny Rudinsky","Michael Leopard","Migration von Azure DevOps zu GitLab systematisch planen","Professional Services Migrationsansatz mit mehrstufiger Struktur, 200-300 Projekt-Wellen und systematischem Risikomanagement für Enterprise-Migrationen.",{"featured":13,"template":785,"slug":986},"migration-from-azure-devops-to-gitlab",{"content":988,"config":998},{"heroImage":989,"title":990,"description":991,"authors":992,"date":994,"category":710,"tags":995,"body":997},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1764108112/tyntnsy3xotlmehtnfkb.png","Wie wir die größte GitLab-Instanz 12-mal täglich bereitstellen","Systematische Deployment-Pipeline mit mehrstufigen Rollouts, Canary-Strategie (5% Traffic) und Datenbank-Migrationen für Millionen Entwickler(innen) weltweit.",[993],"John Skarbek","2025-12-01",[747,996],"inside GitLab","GitLab führt täglich bis zu 12 Code-Bereitstellungen auf der weltweit größten GitLab-Instanz – GitLab.com – ohne Ausfallzeiten durch. Diese Bereitstellungen nutzen GitLabs eigene CI/CD-Plattform und betreffen Millionen Entwickler(innen) weltweit. Die hohe Bereitstellungsfrequenz dient als primäres Qualitätstor und Belastungstest. Organisationen, die auf GitLab für ihre DevOps-Workflows setzen, nutzen eine auf der eigenen Infrastruktur im Enterprise-Maßstab bewährte Plattform.\n\nIn regulierten Branchen wie dem Finanzwesen und der Automobilproduktion sind Zero-Downtime-Bereitstellungen keine Option, sondern Voraussetzung. Die NIS2-Richtlinie fordert in Artikel 21 systematische Risikoanalyse und Business-Continuity-Management – genau das, was GitLab.coms progressive Rollout-Strategie in der Praxis demonstriert. Durch mehrstufige Validierung mit isoliertem Canary-Traffic (5% aller Anfragen) werden potenzielle Probleme erkannt, bevor Millionen Nutzer(innen) betroffen sind.\n\n## Die Herausforderung: Frequenz trifft Skalierung\n\n**Für GitLab:** Bereitstellungsfrequenz ist geschäftskritisch. Schnelle Deployment-Zyklen ermöglichen Reaktion auf Kundenfeedback innerhalb von Stunden, sofortige Security-Patches und Validierung neuer Features in Production vor Skalierung.\n\n**Für Kund(inn)en:** Jede Bereitstellung auf GitLab.com validiert die Deployment-Praktiken, die GitLab seinen Nutzer(inne)n empfiehlt. Features werden auf der weltweit größten GitLab-Instanz getestet, bevor sie Kundenumgebungen erreichen. Dies liefert:\n\n* Neueste Features sofort verfügbar (Stunden statt Wochen)\n* Bewährte Zuverlässigkeit im Maßstab\n* Zero-Downtime-Bereitstellungen garantieren durchgängigen Zugriff\n* Dokumentation basiert auf tatsächlichen Production-Praktiken\n\n## Code-to-Production-Architektur\n\nDie Deployment-Pipeline durchläuft strukturierte Phasen, wobei jede Phase als Checkpoint auf dem Weg zur Production-Bereitstellung fungiert:\n\n```mermaid\n    graph TD\n        A[Code Proposed] --> B[Merge Request Created]\n        B --> C[Pipeline Triggered]\n        C --> D[Build & Test]\n        D --> E{Spec/Integration/QA Tests Pass?}\n        E -->|No| F[Feedback Loop]\n        F --> B\n        E -->|Yes| G[Merge to default branch]\n        G -->|Periodically| H[Auto-Deploy Branch]\n\n        subgraph \"Deployment Pipeline\"\n            H --> I[Package Creation]\n            I --> K[Canary Environment]\n            K --> L[QA Validation]\n            L --> M[Main Environment]\n\n        end\n```\n\n## Progressive Rollout-Strategie\n\n### Build und Paket-Erstellung\n\nGitLab erstellt sowohl Omnibus-Pakete als auch Cloud Native GitLab (CNG) Images. Omnibus-Pakete werden auf der Gitaly-Flotte bereitgestellt (Git-Storage-Layer), während CNG-Images alle anderen Komponenten als containerisierte Workloads ausführen. Eine geplante Pipeline sucht regelmäßig nach dem jüngsten Commit mit erfolgreicher Pipeline und erstellt daraus einen Auto-Deploy-Branch.\n\n```mermaid\n    graph LR\n        A[Create branch] --> B[Build]\n        B --> C[Choose Built package]\n        C --> D[Start Deploy Pipeline]\n```\n\n### Canary-Strategie und mehrstufige Validierung\n\nGitLabs QA-Prozess arbeitet Hand in Hand mit der Canary-Strategie durch umgebungsbasierte Validierung. [Etwa 5% des gesamten Traffics durchlaufen die Canary-Stage](https://handbook.gitlab.com/handbook/engineering/infrastructure/environments/canary-stage/#environments-canary-stage). Dieser Ansatz erhöht die Komplexität von Datenbankmigrationen, gewährleistet aber nahtlose Bereitstellung eines zuverlässigen Produkts.\n\n**Progressive Rollout-Phasen:**\n\n1. **Staging Canary:** Initiale Validierungsumgebung\n2. **Production Canary:** Limitierter Production-Traffic\n3. **Staging Main:** Vollständige Staging-Umgebung\n4. **Production Main:** Vollständiger Production-Rollout\n\n```mermaid\n    graph TD\n        C[Staging Canary Deploy]\n        C --> D[QA Smoke Main Stage Tests]\n        C --> E[QA Smoke Canary Stage Tests]\n        D --> F\n        E --> F{Tests Pass?}\n        F -->|Yes| G[Production Canary Deploy]\n        G --> S[QA Smoke Main Stage Tests]\n        G --> T[QA Smoke Canary Stage Tests]\n        F -->|No| H[Issue Creation]\n        H --> K[Fix & Backport]\n        K --> C\n\n        S --> M[Canary Traffic Monitoring]\n        T --> M[Canary Traffic Monitoring baking period]\n        M --> U[Production Safety Checks]\n        U --> N[Staging Main]\n        N --> V[Production Main]\n```\n\nQA-Validierung erfolgt an mehreren Checkpoints: nach jeder Canary-Bereitstellung und nach Post-Deploy-Migrationen. Weitere Details zur [GitLab-Teststrategie](https://handbook.gitlab.com/handbook/engineering/testing/) finden sich im Handbook.\n\n## Deployment-Pipeline-Stages\n\nGitLab.com repräsentiert reale Deployment-Komplexität im Maßstab. Als größte bekannte GitLab-Instanz nutzen Bereitstellungen denselben offiziellen GitLab Helm Chart und dasselbe Linux-Paket wie Kund(inn)en. Mehr zur [GitLab.com-Architektur](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/architecture/#gitlab-com-architecture) im Handbook.\n\n**Dogfooding im Maßstab:** GitLab nutzt dieselben Verfahren, die für [Zero-Downtime-Upgrades](https://docs.gitlab.com/update/zero_downtime/) dokumentiert sind. Was bei GitLab nicht reibungslos funktioniert, wird Kund(inn)en nicht empfohlen.\n\nFolgende Stages laufen für alle Environment- und Stage-Upgrades:\n\n```mermaid\n    graph LR\n        a[prep] --> c[Regular Migrations - Canary stage only]\n        a --> f[Assets - Canary stage only]\n        c --> d[Gitaly]\n        d --> k8s\n\n        subgraph subGraph0[\"VM workloads\"]\n          d[\"Gitaly\"]\n        end\n\n        subgraph subGraph1[\"Kubernetes workloads\"]\n          k8s[\"k8s\"]\n        end\n\n        subgraph fleet[\"fleet\"]\n          subGraph0\n          subGraph1\n        end\n```\n\n**Stage-Details:**\n\n* **Prep:** Validiert Deployment-Bereitschaft und führt Pre-Deployment-Checks durch\n* **Migrations:** Führt reguläre Datenbankmigrationen aus (nur Canary-Stage)\n* **Assets:** Lädt statische Assets in GCS-Bucket hoch (nur Canary-Stage)\n* **Gitaly:** Aktualisiert Gitaly-VM-Storage-Layer via Omnibus-Paket\n* **Kubernetes:** Deployed containerisierte GitLab-Komponenten via Helm Chart\n\n### Multi-Version-Kompatibilität: Die versteckte Herausforderung\n\nWährend der Bereitstellung existiert eine Zeitspanne, in der das Datenbankschema dem Code voraus ist, den die Main-Stage kennt. Dies geschieht, weil die Canary-Stage bereits neuen Code deployed und reguläre Datenbankmigrationen ausführt, während die Main-Stage noch die vorherige Code-Version ausführt.\n\n**Beispiel:** Bei Hinzufügen eines neuen `merge_readiness`-Felds zu Merge Requests laufen manche Server mit Code, der dieses Feld erwartet, während andere nichts davon wissen. Schlechte Handhabung würde GitLab.com für Millionen Nutzer(innen) unterbrechen. Gute Handhabung bleibt unbemerkt.\n\nMit wenigen Ausnahmen läuft die Mehrheit der Services für eine gewisse Zeit in leicht neuerer Version in Canary. Diese Szenarien sind transiente Zustände, können aber mehrere Stunden oder Tage in Live-Production-Umgebung persistieren. Daher müssen sie mit derselben Sorgfalt wie permanente Zustände behandelt werden.\n\n## Datenbank-Operationen\n\nDatenbankmigrationen stellen eine besondere Herausforderung im Canary-Deployment-Modell dar. Schemaänderungen müssen neue Features unterstützen und gleichzeitig Rollback-Fähigkeit bewahren:\n\n* **Regular Migrations:** Laufen während Canary-Stage, rückwärtskompatibel, nur reversible Änderungen\n* **Post-Deploy-Migrations:** \"Point of no Return\"-Migrationen, die erst nach mehreren erfolgreichen Bereitstellungen laufen\n\n```mermaid\n    graph LR\n        A[Regular Migrations] --> B[Canary Stage Deploy]\n        B --> C[Main Stage Deploy]\n        C --> D[Post Deploy Migrations]\n```\n\nPost-Deploy-Migrationen enthalten oft Änderungen, die nicht einfach rückgängig gemacht werden können – Datentransformationen, Column-Drops oder strukturelle Änderungen, die ältere Code-Versionen unterbrechen würden. Durch Ausführung nach Erlangung von Vertrauen durch mehrere erfolgreiche Bereitstellungen wird sichergestellt:\n\n1. Neuer Code ist stabil, Rollback unwahrscheinlich\n2. Performance-Charakteristiken in Production verstanden\n3. Edge Cases erkannt und adressiert\n4. Blast Radius minimiert, falls etwas schiefgeht\n\nDieser Ansatz bietet optimale Balance: schnelle Feature-Bereitstellung durch Canary-Releases bei gleichzeitiger Rollback-Fähigkeit bis Vertrauen in Deployment-Stabilität besteht.\n\n**Expand-Migrate-Contract-Pattern:** Datenbank-, Frontend- und Anwendungskompatibilitäts-Änderungen folgen einem sorgfältig orchestrierten dreiphasigen Ansatz:\n\n1. **Expand:** Neue Strukturen hinzufügen, alte funktional belassen\n2. **Migrate:** Neuen Application-Code deployen, der neue Strukturen nutzt\n3. **Contract:** Alte Strukturen in Post-Deploy-Migrationen entfernen\n\n**Beispiel für `merge_readiness`-Column:**\n\n1. **Expand:** Neue Column mit Default-Value hinzufügen; bestehender Code ignoriert sie\n2. **Migrate:** Code deployen, der neue Column liest und schreibt, alten Ansatz weiter unterstützt\n3. **Contract:** Nach mehreren erfolgreichen Bereitstellungen alte Column in Post-Deploy-Migration entfernen\n\nAlle Datenbank-Operationen, Application-Code und Frontend-Code unterliegen Guidelines, dokumentiert in der [Multi-Version-Compatibility-Dokumentation](https://docs.gitlab.com/development/multi_version_compatibility/).\n\n## Ergebnisse und Auswirkungen\n\n**Für GitLab:**\n\n* Bis zu 12 Bereitstellungen täglich auf GitLab.com\n* Zero-Downtime-Bereitstellungen für Millionen Entwickler(innen)\n* Security-Patches erreichen Production innerhalb von Stunden\n* Neue Features in Production im Maßstab validiert vor General Availability\n\n**Für Kunden:**\n\n* Bewährte Deployment-Patterns für eigene Anwendungen\n* Features auf weltweit größter GitLab-Instanz getestet vor Erreichen der Kundenumgebung\n* Dokumentation reflektiert tatsächliche Production-Praktiken\n* Vertrauen, dass GitLabs empfohlene Upgrade-Prozeduren in jedem Maßstab funktionieren\n\n## Erkenntnisse für Engineering-Teams\n\nDie hier beschriebenen Muster – von Expand-Migrate-Contract für Datenbankmigrationen bis zur Multi-Version-Kompatibilität – sind auf kleinere Deployments übertragbar. Nicht jede Organisation benötigt 12 Bereitstellungen täglich, aber die systematische Herangehensweise an Rollback-Fähigkeit und Validierungspunkte gilt unabhängig von der Skalierung.\n\nGitLabs Deployment-Pipeline repräsentiert ein ausgereiftes System, das Deployment-Geschwindigkeit mit operationaler Zuverlässigkeit ausbalanciert. Das progressive Deployment-Modell, umfassende Testing-Integration und robuste Rollback-Fähigkeiten bieten Grundlage für zuverlässige Software-Auslieferung im Maßstab.\n\n**Zentrale Überlegungen für Engineering-Teams:**\n\n* **Automatisiertes Testing:** Umfassende Test-Coverage durch Deployment-Pipeline\n* **Progressive Rollouts:** Gestufte Bereitstellungen zur Risikominimierung und schnellen Wiederherstellung\n* **Monitoring-Integration:** Umfassende Observability über alle Deployment-Stages\n* **Incident Response:** Schnelle Erkennungs- und Lösungsfähigkeiten für Deployment-Probleme\n\nGitLabs Architektur demonstriert, wie moderne CI/CD-Systeme Komplexität großskaliger Bereitstellungen managen und gleichzeitig Geschwindigkeit für wettbewerbsfähige Software-Entwicklung bewahren.\n\n## Vollständige technische Dokumentation\n\nDieser Artikel beschreibt die Deployment-Patterns und systematische Herangehensweise für GitLab.com. Für vollständige Implementierungsdetails, spezifische Konfigurationsbeispiele und tiefergehende technische Architekturbeschreibungen siehe die [englische Originalversion](https://about.gitlab.com/blog/continuously-deploying-the-largest-gitlab-instance/).\n\nWeitere Dokumentation zu Auto-Deploy und Verfahren:\n\n* [Engineering Deployments](https://handbook.gitlab.com/handbook/engineering/deployments-and-releases/deployments/)\n* [Release Procedural Documentation](https://gitlab-org.gitlab.io/release/docs/)\n* [GitLab Environment Toolkit](https://gitlab.com/gitlab-org/gitlab-environment-toolkit)\n\n## Weitere Ressourcen\n\n* [How we decreased GitLab repo backup times from 48 hours to 41 minutes](https://about.gitlab.com/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/)\n* [How we supercharged GitLab CI statuses with WebSockets](https://about.gitlab.com/blog/how-we-supercharged-gitlab-ci-statuses-with-websockets/)\n* [How we reduced MR review time with Value Stream Management](https://about.gitlab.com/blog/how-we-reduced-mr-review-time-with-value-stream-management/)",{"featured":13,"template":785,"slug":999},"continuously-deploying-the-largest-gitlab-instance",{"content":1001,"config":1011},{"title":1002,"description":1003,"authors":1004,"heroImage":1006,"date":1007,"category":710,"tags":1008,"body":1010},"MR-Review-Zeit mit Value Stream Management reduzieren","GitLab Engineering nutzt VSM zur Identifikation von Engpässen im MR-Review-Prozess. Systematische Analyse mit Custom Stages.",[1005],"Haim Snir","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097876/Blog/Hero%20Images/Blog/Hero%20Images/REFERENCE%20-%20display%20preview%20for%20blog%20images%20%282%29_2pKf8RsKzAaThmQfqHIaa7_1750097875817.png","2025-10-30",[747,780,799,800,1009],"solutions architecture","Das GitLab Engineering-Team nutzt die eigenen Produkte intern – eine Praxis, die im Englischen als \"Dogfooding\" bezeichnet wird. Diese Selbstnutzung hat zu Verbesserungen bei der Beschleunigung der Software-Delivery-Zyklen für Kunden geführt. Dieser Artikel beleuchtet einen spezifischen Anwendungsfall, bei dem [GitLab Value Stream Management (VSM)](https://about.gitlab.com/solutions/value-stream-management/) Verbesserungen für unser Engineering-Team ermöglicht hat. Es wird gezeigt, wie VSM dabei half, zwei zentrale Herausforderungen anzugehen: die Messung des Wegs von der Idee bis zur Fertigstellung eines Merge Requests und die Optimierung der Deployment-Workflows.\n\nValue Stream Management ist in der deutschen Industrie als Wertstromanalyse etabliert – insbesondere in der Fertigung und Automobilbranche wird diese Lean-Methode zur Identifikation von Verschwendung eingesetzt. GitLabs VSM-Funktionen übertragen diesen systematischen Ansatz auf Software-Entwicklungsprozesse und ermöglichen die Unterscheidung zwischen wertschöpfenden und nicht-wertschöpfenden Aktivitäten im Entwicklungsworkflow.\n\n## Die Herausforderung: Engpässe in MR-Reviews identifizieren\n\nTrotz gut definierter Workflows stellte ein Team fest, dass Merge Requests länger als erwartet brauchten, um geprüft und gemerged zu werden. Die Herausforderung bestand nicht nur in den Verzögerungen selbst, sondern darin zu verstehen, wo im Review-Prozess diese Verzögerungen auftraten und warum.\n\nDas Ziel des Teams war klar:\n\n- Identifizieren, wo Zeit vom initialen Konzept bis zum finalen Merge eines MR verbracht wurde\n- Spezifische Engpässe im Review-Prozess lokalisieren\n- Verstehen, wie MR-Größe, Komplexität oder Dokumentationsqualität die Review-Zeit beeinflussen\n\n## Der Ansatz: MR-Review-Zeit in GitLab Value Stream Analytics messen\n\nValue Stream Analytics (VSA) ermöglicht es Organisationen, ihren gesamten Workflow von der Idee bis zur Auslieferung abzubilden und dabei zwischen wertschöpfenden Aktivitäten (VA) und nicht-wertschöpfenden Aktivitäten (NVA) im Prozessfluss zu unterscheiden. Durch die Berechnung des Verhältnisses von wertschöpfender Zeit zur gesamten Lead Time kann das Team verschwenderische Aktivitäten identifizieren, die zu Verzögerungen bei MR-Reviews führen.\n\nUm die notwendigen Metriken zu erhalten, passte das Team GitLab VSA an, um bessere Sichtbarkeit in den MR-Review-Prozess zu erhalten.\n\n### 1. Custom Stage für MR-Review einrichten\n\nDas Team fügte eine [neue Custom Stage](https://docs.gitlab.com/ee/user/group/value_stream_analytics/#value-stream-stage-events) in VSA mit dem Namen **Review Time to Merge** hinzu, um spezifisch die Zeit vom ersten Zuweisen eines Reviewers bis zum Merge des MR zu tracken.\n\n- Start-Event: MR first reviewer assigned\n- End-Event: MR merged\n\nDurch die Definition dieser Stage begann VSA, die Dauer des MR-Review-Prozesses zu messen und lieferte präzise Daten darüber, wo Zeit verbracht wurde.\n\n![Defining stage of VSA](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097884/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097883929.png)\n\n### 2. Total Time Chart für Klarheit nutzen\n\nMit der Custom Stage eingerichtet, nutzte das Team das [**Total Time Chart** auf der VSA Overview-Seite](https://about.gitlab.com/blog/value-stream-total-time-chart/) (**Analyze > Value Stream**), um zu visualisieren, wie viel Zeit während der neuen MR-Review-Stage verbracht wurde. Durch den Vergleich der Werte, die durch jeden Bereich im Chart dargestellt wurden, konnte das Team schnell identifizieren, wie diese Stage zur gesamten Software-Delivery-Lifecycle-Zeit (SDLC) beitrug.\n\n![total time chart for VSA](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097884/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097883930.png)\n\n### 3. Für tiefere Erkenntnisse detailliert analysieren\n\nUm spezifische Verzögerungen zu untersuchen, nutzte das Team die **Stage Navigation Bar**, um tiefer in die MR-Review-Stage einzutauchen. Diese Ansicht ermöglichte:\n\n- MRs nach Review-Zeit sortieren: Die Stage-Tabelle zeigte alle zugehörigen MRs sortiert nach Review-Dauer, sodass langsame MRs leicht erkennbar waren\n- Individuelle MRs analysieren: Für jeden MR konnte das Team Faktoren wie Verzögerungen bei der Reviewer-Zuweisung, mehrere Feedback-Runden, Leerlaufzeit nach Approval und MR-Größe/Komplexität untersuchen\n\n## Das Ergebnis: Umsetzbare Erkenntnisse und Verbesserungen\n\nDurch die Anpassung von VSA zur Verfolgung der [MR-Review-Zeit](https://docs.gitlab.com/user/project/merge_requests/reviews/) deckte das Team mehrere zentrale Erkenntnisse auf:\n\n- **Verzögerungen bei Reviewer-Zuweisung:** Einige MRs erfuhren Verzögerungen, weil Reviewer spät zugewiesen wurden oder Reviewer zu viele MRs in ihrer Queue hatten\n- **Langsame Review-Start-Zeiten:** Selbst nach Zuweisung lagen bestimmte MRs untätig, bevor Reviews begannen – oft aufgrund von Kontextwechseln oder konkurrierenden Prioritäten\n- **Mehrere Feedback-Schleifen:** Größere MRs erforderten oft mehrere Feedback-Runden, was die Review-Zeit erheblich verlängerte\n- **Leerlaufzeit nach Approval:** Einige MRs wurden approved, aber nicht zeitnah gemerged – oft aufgrund von Deployment-Koordinationsproblemen\n\nFür den Engineering Manager im Team erwies sich VSA als wertvoll für die Verwaltung des Team-Workflows: \"Ich habe VSA genutzt, um zu begründen, wo wir Zeit bei der MR-Fertigstellung verbrachten. Wir haben VSA auf unsere Bedürfnisse angepasst, und es war sehr hilfreich für unsere Untersuchungen nach Verbesserungsmöglichkeiten.\"\n\nAus dieser Dogfooding-Erfahrung entwickeln wir nun eine wichtige Erweiterung zur Verbesserung der Sichtbarkeit in den Review-Prozess. Wir fügen ein neues Event zu VSA hinzu – [Merge request last approved at](https://gitlab.com/gitlab-org/gitlab/-/issues/503754) – das eine Stage erzeugt, die MR-Review-Schritte noch granularer aufschlüsselt.\n\n## Die Kraft datengestützter Entscheidungen\n\nDurch die Nutzung von GitLabs VSA haben wir nicht nur Engpässe identifiziert – wir erhielten umsetzbare Erkenntnisse, die zu Verbesserungen bei der MR-Review-Zeit und der allgemeinen Entwickler-Produktivität führten. Wir optimierten Merge-Request-Review-Zyklen und erhöhten den Entwickler-Durchsatz, was unser Commitment zu kontinuierlicher Verbesserung durch Messung bestätigt.\n\n> Möchtest du erfahren, wie VSA deinem Team helfen kann? [Starte eine kostenlose GitLab Ultimate-Testversion](https://about.gitlab.com/free-trial/), passe deine Value Streams an und sieh, wie du Verbesserungen im gesamten SDLC für deine Teams erreichen kannst. [Teile dann dein Feedback und deine Erfahrungen in diesem Issue](https://gitlab.com/gitlab-org/gitlab/-/issues/520962).\n\n## Weiterführende Informationen\n\n- [Optimize value stream efficiency to do more with less, faster](https://about.gitlab.com/the-source/platform/optimize-value-stream-efficiency-to-do-more-with-less-faster/)\n- [New Scheduled Reports Generation tool simplifies value stream management](https://about.gitlab.com/blog/new-scheduled-reports-generation-tool-simplifies-value-stream-management/)\n- [Value stream analytics documentation](https://docs.gitlab.com/user/group/value_stream_analytics/)\n- [Value stream management: Total Time Chart simplifies top-down optimization flow](https://about.gitlab.com/blog/value-stream-total-time-chart/)\n",{"slug":1012,"featured":646,"template":785},"how-we-reduced-mr-review-time-with-value-stream-management",{"category":724,"slug":722,"posts":1014},[1015,1026,1040],{"content":1016,"config":1024},{"title":1017,"description":1018,"authors":1019,"heroImage":1021,"date":837,"body":1022,"category":722,"tags":1023},"Das GitLab Managed Service Provider (MSP) Partner-Programm","Mit GitLab ein rentables, serviceorientiertes DevSecOps-Angebot aufbauen.",[1020],"Karishma Kumar","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772047747/ntihfmnu2fepamqemaas.png","*Dieser Beitrag richtet sich an Managed Service Provider (MSPs), die ein GitLab-Serviceangebot aufbauen möchten. Für Entwicklungsteams und Engineering-Leads gilt: Dies ist das Programm, das Partner stärkt, welche Teams wie deines beim Skalieren unterstützen.*\n\nViele Unternehmen wissen, dass sie eine moderne DevSecOps-Plattform benötigen. Was ihnen oft fehlt, sind die Kapazitäten, eine solche Plattform bereitzustellen, zu betreiben und kontinuierlich zu optimieren – und gleichzeitig Software im Tempo der Geschäftsanforderungen zu liefern. Für MSPs ist das eine konkrete Chance, und GitLab stellt jetzt ein definiertes Programm zur Verfügung, um sie dabei zu unterstützen.\n\nVorgestellt wird das **GitLab MSP Partner-Programm** – ein neues globales Programm, das qualifizierten MSPs ermöglicht, GitLab als vollständig verwalteten Service für ihre Kunden bereitzustellen.\n\n## Was das für Partner und Kunden bedeutet\n\nGitLab bietet erstmals ein formal definiertes, global verfügbares Programm, das speziell für MSPs entwickelt wurde. Das bedeutet klare Anforderungen, strukturierte Enablement-Maßnahmen, dedizierten Support und finanzielle Vorteile – damit Partner sicher in den Aufbau einer GitLab Managed Services-Praxis investieren können.\n\nDer Zeitpunkt ist günstig. Unternehmen treiben ihre DevSecOps-Transformation voran, navigieren dabei jedoch oft komplexe Migrationen, fragmentierte Toolchains und wachsende Sicherheitsanforderungen – zusätzlich zu ihrer Kernaufgabe, Software zu entwickeln und auszuliefern.\n\nGitLab MSP-Partner übernehmen den operativen Betrieb der Plattform, einschließlich Deployment, Migration, Administration und laufendem Support, damit sich Entwicklungsteams auf ihre eigentliche Arbeit konzentrieren können.\n\n## Was MSP-Partner erhalten\n\n**Finanzielle Vorteile**: MSP-Partner erzielen GitLab Partner-Margen zuzüglich einer zusätzlichen MSP-Prämie auf alle Transaktionen, Neugeschäfte und Verlängerungen. 100 % der Servicegebühren für Deployment, Migration, Training, Enablement und strategische Beratung verbleiben beim Partner. Das ergibt mehrere wiederkehrende Einnahmequellen rund um eine einzige Plattform.\n\n**Enablement und Weiterbildung**: Partner haben Zugang zu vierteljährlichen technischen Bootcamps, die Versions-Updates, neue Funktionen, Best Practices, laufende Roadmap-Updates und Peer-Sharing abdecken. Empfohlene Cloud-Zertifizierungen (AWS Solutions Architect Associate, GCP Associate Cloud Engineer) ergänzen die technische Grundlage.\n\n**Go-to-Market-Unterstützung**: MSPs erhalten ein GitLab Certified MSP Partner-Badge, co-brandingfähige Assets, die Möglichkeit zur Teilnahme an gemeinsamen Kundenfallstudien, einen Eintrag im Partner Locator sowie Zugang zu Marketing Development Funds (MDF) für qualifizierte Demand-Generation-Aktivitäten.\n\n## Was Kunden erwarten können\n\nKunden, die mit einem GitLab MSP-Partner arbeiten, erhalten eine strukturierte, verwaltete DevSecOps-Erfahrung, dokumentierte und reproduzierbare Implementierungsmethoden, regelmäßige Business Reviews sowie Support mit klar definierten Reaktions- und Eskalationspfaden.\n\nDas Ergebnis: Entwicklungsteams können sich auf die Softwareentwicklung konzentrieren, während der MSP-Partner den Betrieb und die Optimierung der Plattform verantwortet.\n\n## Neue Möglichkeiten rund um KI\n\nUnternehmen suchen zunehmend nach Wegen, KI strukturiert in ihre Softwareentwicklungs-Workflows einzuführen. GitLab MSP-Partner sind gut positioniert, um Kunden im Rahmen eines umfassenderen Managed Services-Angebots durch die GitLab Duo Agent Platform zu begleiten.\n\nDurch die Kombination der GitLab DevSecOps-Plattform mit der operativen Expertise von MSPs können Kunden KI-gestützte Workflows in einer kontrollierten Umgebung erproben, Anforderungen an Datenhaltung und Compliance erfüllen und die KI-Nutzung teamübergreifend skalieren.\n\n## Passt dieses Programm zum eigenen Geschäftsmodell?\n\nDas GitLab MSP Partner-Programm ist gut geeignet, wenn:\n\n* bereits Managed Services in den Bereichen Cloud, Infrastruktur oder Application Operations angeboten werden\n* DevSecOps als hochwertiger Portfoliobaustein hinzugefügt werden soll\n* technisches Know-how für moderne Entwicklungsplattformen vorhanden ist oder aufgebaut werden soll\n* langfristige Kundenbeziehungen gegenüber Einzeltransaktionen bevorzugt werden\n\nFür bestehende GitLab Select- und Professional Services-Partner bietet das MSP-Programm einen strukturierten Weg, vorhandene Expertise in ein reproduzierbares Managed-Services-Angebot zu überführen.\n\n## Erste Schritte\n\nDas Programm startet mit der Bezeichnung **Certified MSP Partner**. Es gibt keine Mindest-ARR- oder Kundenanzahl-Anforderungen für den Beitritt. So sieht der Weg aus:\n\n1. **Eignung prüfen** – Überprüfen, ob die geschäftlichen und technischen Anforderungen auf der [Handbook-Seite](https://handbook.gitlab.com/handbook/resellers/channel-program-guide/#the-gitlab-managed-service-provider-msp-partner-program) erfüllt sind.\n2. **Über das GitLab Partner Portal bewerben** – Bewerbung mit geschäftlicher und technischer Dokumentation einreichen.\n3. **90-tägiges Onboarding absolvieren** – Ein strukturierter Onboarding-Prozess umfasst Verträge, technisches Enablement, Vertriebstraining und das erste Kundenprojekt.\n4. **Managed-Services-Angebot aufbauen** – Services paketieren, SLAs festlegen und erste Kunden gewinnen.\n\nVollständige Bewerbungen werden innerhalb von etwa drei Werktagen geprüft.\n\n> Interesse am Aufbau einer GitLab Managed Services-Praxis? Neue Partner können sich [als GitLab Partner bewerben](https://about.gitlab.com/de-de/partners/). Bestehende Partner wenden sich an ihren GitLab-Ansprechpartner, um mehr über das Programm zu erfahren.\n",[699,722,258],{"featured":646,"template":785,"slug":1025},"introducing-the-gitlab-managed-service-provider-msp-partner-program",{"content":1027,"config":1038},{"title":1028,"authors":1029,"date":1033,"body":1034,"category":722,"tags":1035,"description":1036,"heroImage":1037},"DevSecOps-as-a-Service auf Oracle Cloud Infrastructure – mit Data Intensity",[1030,1031,1020,1032],"Biju Thomas","Matt Genelin","Ryan Palmaro","2026-02-11","Viele Unternehmen entscheiden sich für GitLab Self-Managed, weil es Kontrolle, Anpassungsmöglichkeiten und Sicherheit bietet. Gleichzeitig kann die Verwaltung der zugrunde liegenden Infrastruktur eine erhebliche betriebliche Herausforderung darstellen – insbesondere für Teams, die sich auf die Softwareentwicklung konzentrieren möchten, nicht auf den Plattformbetrieb.\n\nAus diesem Grund arbeitet GitLab mit [Oracle Cloud Infrastructure (OCI)](https://www.oracle.com/cloud/) und [Data Intensity](https://www.dataintensity.com/services/security-services/devsecops/), einem Oracle Managed Services Provider, zusammen, um eine neue Managed-Service-Option anzubieten: DevSecOps-as-a-Service. Der Dienst verbindet die Kontrolle von GitLab Self-Managed mit dem Betriebskomfort eines vollständig verwalteten Service.\n\n\n## Warum GitLab Self-Managed?\n\nGitLab Self-Managed bietet die vollständige Kontrolle über die eigene DevSecOps-Plattform. Datenstandort, Instanzkonfiguration und Anpassungen an spezifische Compliance-, Sicherheits- oder Betriebsanforderungen lassen sich frei bestimmen. Dieses Maß an Kontrolle ist für Unternehmen mit strengen regulatorischen Anforderungen, Anforderungen an die Datenresidenz oder spezifischen Integrationsanforderungen relevant.\n\nGleichzeitig bedeutet der Betrieb von GitLab Self-Managed die Verwaltung von Servern, die Durchführung von Upgrades, die Sicherstellung der Hochverfügbarkeit und die Implementierung von Disaster Recovery – alles Aufgaben, die spezialisiertes Know-how und dedizierte Ressourcen erfordern.\n\n\n## Ein verwalteter Weg zu GitLab Self-Managed\n\nDevSecOps-as-a-Service von Data Intensity auf OCI übernimmt diese betrieblichen Aufgaben, während die Kontrollvorteile von GitLab Self-Managed erhalten bleiben. Anstatt die Infrastruktur selbst aufzubauen und zu warten, steht eine eigenständige GitLab-Instanz bereit, die vom Data-Intensity-Team verwaltet wird und auf der Cloud-Infrastruktur von OCI läuft.\n\nDer Service umfasst:\n\n* Eigenständige GitLab-Instanz auf OCI-Infrastruktur\n* 24/7-Monitoring, Alarmierung und Support\n* Vierteljährliches Patching in festgelegten Wartungsfenstern\n* Automatisierte Backups und Disaster-Recovery-Schutz\n\n\n## Skalierung mit dem Unternehmen\n\nDer Managed Service von Data Intensity bietet abgestufte Architekturen, die sich an Benutzerkapazität und Recovery-Anforderungen anpassen lassen:\n\n| **Feature**           | **Standard**     | **Premier**      | **Premier +**    |\n|-----------------------|------------------|------------------|------------------|\n| **Benutzerkapazität** | Bis zu 1.000     | Bis zu 2.000     | Bis zu 3.000     |\n| **Performance**       | 20 Requests/Sek. | 40 Requests/Sek. | 60 Requests/Sek. |\n| **Verfügbarkeit**     | 99,9 %           | 99,95 %          | 99,99 %          |\n| **Recovery (RTO)**    | 48 Stunden       | 8 Stunden        | 4 Stunden        |\n\nWeitere Informationen sind auf der Website von Data Intensity verfügbar: [DevSecOps-as-a-Service](https://www.dataintensity.com/services/security-services/devsecops/).\n\n\n## Warum OCI für GitLab?\n\nOracle Cloud Infrastructure (OCI) bietet eine stabile Grundlage für den Betrieb von GitLab Self-Managed – mit einer sicheren, leistungsfähigen Umgebung zu geringeren Kosten als bei anderen Hyperscalern. Unternehmen, die Workloads zu OCI migrieren, berichten von Infrastrukturkostensenkungen von 40–50 %.\n\nOCI unterstützt verschiedene Deployment-Modelle: von öffentlichen Cloud-Regionen über spezialisierte Umgebungen wie Government und EU Sovereign Clouds bis hin zu dedizierter Infrastruktur hinter der eigenen Firewall. Diese Optionen bieten einheitliches Pricing, Tooling und Betriebserfahrung, sodass sich GitLab-Deployments über regulierte, hybride und globale Umgebungen hinweg standardisieren lassen.\n\nDie Kombination aus GitLabs DevSecOps-Plattform, OCI-Infrastruktur und dem Managed-Services-Know-how von Data Intensity ergibt eine Lösung, die es Teams ermöglicht, sich auf die Softwareentwicklung zu konzentrieren.\n\n\n## Passt dieser Service?\n\nDevSecOps-as-a-Service von Data Intensity eignet sich für Unternehmen, die:\n\n* GitLab Self-Managed nutzen, aber den Betriebsaufwand minimieren möchten\n* Spezifische Compliance-, Sicherheits- oder Datenresidenz-Anforderungen erfüllen müssen\n* Garantierte SLAs und professionelle Disaster-Recovery-Fähigkeiten benötigen\n* Planbare Kosten und professionelles Management gegenüber dem Aufbau interner Infrastrukturexpertise bevorzugen\n* OCI bereits nutzen oder den Einsatz planen\n* Flexibilität und Kontrolle priorisieren\n* Eine dedizierte, extern verwaltete Instanz mit Self-Managed-Kontrolle wünschen\n\n\n## Erste Schritte\n\nUnternehmen, die GitLab Self-Managed auf OCI über DevSecOps-as-a-Service von Data Intensity betreiben möchten, können über die [Data-Intensity-Website](https://www.dataintensity.com/services/security-services/devsecops/) Kontakt aufnehmen, um spezifische Anforderungen zu besprechen und die Deployment-Planung zu starten.\n\nData Intensity bietet optional auch die Migration von Code-Repositorys und Anpassungen an, um einen reibungslosen Übergang zu OCI sicherzustellen.\n\nGitLab baut das Partnerökosystem weiter aus. Lösungen wie diese unterstreichen das Ziel, Unternehmen die Wahl zu geben, wie sie GitLab einsetzen und verwalten – ob als SaaS, Self-Managed oder Managed Service über Partner.\n",[258,799],"Self-Managed-Kontrolle ohne eigenen Betrieb. Inklusive 24/7-Monitoring, Patching und Disaster Recovery.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098794/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%289%29_DoeBNJVrhv9FpF3WCsHNc_1750098793762.png",{"featured":13,"template":785,"slug":1039},"devsecops-as-a-service-on-oracle-cloud-infrastructure-by-data-intensity",{"content":1041,"config":1049},{"date":1042,"category":722,"tags":1043,"authors":1044,"title":1045,"description":1046,"body":1047,"heroImage":1048},"2026-01-22",[699],[809],"[Studie] Das Zeitalter der intelligenten Softwareentwicklung","Erfahre in dieser Studie von The Harris Poll und GitLab, wie künstliche Intelligenz die Softwareentwicklung schon heute grundlegend verändert.","In Zeiten, in denen Softwareentwicklung und KI zentrale Treiber wirtschaftlicher Leistungsfähigkeit sind, stehen Unternehmen vor tiefgreifenden Veränderungen ihrer Arbeitsweisen. DevSecOps-Teams verbringen den Großteil ihrer Zeit mit Nebenaufgaben anstatt mit der reinen Entwicklung von Code. Gleichzeitig nimmt der Einsatz von KI über den gesamten Software-Development-Lifecycle (SDLC) rapide zu. KI-Tools gelten als Schlüssel zur Effizienz- und Produktivitätssteigerung, auch wenn Sicherheits- und Compliance-Anforderungen weiterhin wesentliche Herausforderungen darstellen. Dieser Balanceakt zwischen Geschwindigkeit, Sicherheit und neuen Kompetenzen wird auch das Jahr 2026 prägen.\n\nGitLab hat zusammen mit The Harris Poll 251 deutsche DevSecOps-Profis aus verschiedenen Branchen zur Rolle von Künstlicher Intelligenz im IT-Bereich befragt. Die Ergebnisse der Studie zeigen, wie KI-Integration, Rollenveränderungen und neue Risiken die Arbeitswelt im DevSecOps-Umfeld in Deutschland prägen und welche Implikationen sich daraus für Unternehmen ergeben.\n\n> **[Den vollständigen Report zu KI im DevSecOps in Deutschland findest du hier.](https://learn.gitlab.com/de-developer-survey/report-de-de-de-devsecops-report-practitioner)**\n\n![GitLabs große und repräsentative KI-Studie aus dem Jahr 2026 mit speziellen Erkenntnissen aus Deutschland](https://res.cloudinary.com/about-gitlab-com/image/upload/v1769093924/ydel1ylbnd1tuvwsrvwp.png \"Die wichtigsten Erkenntnisse unserer DevSecOps-Studie aus Deutschland, Stand 2026\")\n\n## Kennzahlen unserer Studie\n\n### Der aktuelle Stand von DevSecOps und Softwareentwicklung\n\n* DevSecOps-Profis verbringen dennoch nur einen kleinen Teil ihrer Arbeitszeit mit neuer Softwareentwicklung: Im Schnitt entfallen lediglich 16 % auf das Schreiben von neuem Code, während Meetings und administrative Aufgaben mit 18 % den größten Anteil ausmachen. Weitere relevante Zeitfresser sind Security-Arbeit (13 %), die Verbesserung bestehenden Codes (12 %), Tests und Qualitätssicherung (12 %) sowie Codeverständnis und -pflege mit jeweils 10 %.\n* Als wichtigsten Faktoren, die die Zusammenarbeit im SDLC einschränken, geben 32 % der Befragten organisatorische Silos und veraltete Dokumentationen an. Ein fehlender Wissensaustausch (30 %) und unklare/ineffiziente Prozesse bzw. Tool-Fragmentierung (jeweils 29 %) spielen ebenfalls eine große Rolle. Insgesamt gehen dadurch im Schnitt sieben Arbeitsstunden pro Woche verloren.\n* Trotz moderner Entwicklungsansätze ist kontinuierliches Deployment noch nicht flächendeckend etabliert: Nur 27 % der Unternehmen deployen täglich oder mehrmals täglich. Gleichzeitig zeigen sich im Bereich Compliance-Anforderungen große strukturelle Bremsen, die für Verzögerungen bei 13 % der Releases verantwortlich sind.\n\n### Der Einsatz von KI im Software Development Lifecycle\n\n* Künstliche Intelligenz ist bereits im Status quo der Softwareentwicklung angekommen. 68 % der Befragten verwenden KI bereits im Lebenszyklus der Softwareentwicklung, bei 17 % steht die Etablierung von KI im Jahr 2026 an.\n* Dabei kommt KI derzeit bei 63 % der Befragten in der Dokumentation zum Einsatz. Aber auch für Tests (62 %) und die Programmierung selbst (60 %) wird sie bereits genutzt.\n* 76 % der Befragten stimmen zu, dass die Integration von KI in den SDLC ihres Unternehmens schneller voranschreitet als zunächst angenommen.\n* 98 % der DevSecOps-Profis berichten dabei, dass ihnen KI-Tools bereits Effizienzgewinne gebracht haben. Die größten Effekte entstehen durch die Automatisierung repetitiver Aufgaben (41 %), Unterstützung bei Tests und Qualitätssicherung (39 %), beim Erkennen von Bugs (38 %) sowie beim Erstellen von Code (36 %).\n* Im Durchschnitt arbeiten die Befragten der Studie an einem Codebestand, der zu 32 % KI-generiert ist. 38 % des Codes werden noch immer von Grund auf neu geschrieben, während 30 % aus bestehenden externen Quellen wie Foren oder Suchergebnissen (ohne KI) kopiert werden.\n\n## Sicherheit, Compliance und Risiken im Zeitalter von KI\n\n* In deutschen Unternehmen tragen vor allem Sicherheitsingenieur(innen) (38 %) und IT-Betriebsteams (33 %) die Hauptverantwortung für Application Security. Platform Engineers werden von 12 %, Entwickler(innen) selbst nur von 10 % der Befragten genannt.\n* Zu den größten Sorgen im Zusammenhang mit KI- und agentischen Systemen zählen Security-Risiken (40 %), Qualitätskontrollen und die Einhaltung gesetzlicher Vorschriften (38 %), aber auch Datenschutz- und Datensicherheitsfragen (33 %).\n* In Compliance-Aktivitäten investieren DevSecOps-Teams derzeit im Durchschnitt elf Stunden pro Monat und weitere zehn Stunden in die Behebung von Sicherheitsproblemen nach dem Release. Im Schnitt sind die Teams an acht Compliance-Audits pro Jahr beteiligt.\n* Mit 76 % wird aktuell noch ein Großteil der Compliance-Anforderungen in der Softwareentwicklung manuell umgesetzt – 77 % erwarten aber, dass sich bis 2027 „Compliance as Code“ etabliert, bei dem Vorgaben automatisiert im Entwicklungsprozess verankert sind.\n\n![Fachkräfte sind sich einig: KI kann den Menschen nicht vollständig ersetzen, Studie von GitLab 2026](https://res.cloudinary.com/about-gitlab-com/image/upload/v1769093754/lmc2if6v6q3uxhqgtgel.png \"Menschliche Beiträge bleiben wichtig\")\n\n## Der Blick nach vorn: DevSecOps, KI und Arbeit ab 2026\n\n* DevSecOps-Profis stehen künstlicher Intelligenz trotz bewusster Risiken positiv gegenüber: 78 % der Befragten geben an, sich grundsätzlich zuversichtlich in Bezug auf den Ansatz ihres Unternehmens zur Anwendungssicherheit zu fühlen. Der gleiche Anteil meint allerdings auch, dass agentische KI „beispiellose Sicherheitsherausforderungen“ mit sich bringt.\n* Zudem vertrauen DevSecOps-Teams darauf, dass KI etwa ein Drittel der täglichen Aufgaben ohne menschliche Überprüfung übernehmen kann. Am häufigsten gaben Befragte dafür Tätigkeiten wie die Dokumentation (53 %), das Schreiben von Tests (51 %) und Code-Reviews (49 %) an.\n* Als Tätigkeiten, die dauerhaft in Menschenhand bleiben werden, gelten hingegen vorrangig Zusammenarbeit (43 %), Innovation (42 %) und strategisches Denken sowie Kommunikation (37 %). Daran anknüpfend erwarten 80 % der DevSecOps-Profis, dass KI ihre Rolle in den kommenden fünf Jahren erheblich verändern wird.\n\n## KI wird zum festen Bestandteil moderner Softwareentwicklung\n\nDer Report macht deutlich, dass künstliche Intelligenz die Softwareentwicklung bereits heute messbar verändert und im DevSecOps-Alltag eingebunden ist. Unternehmen nutzen KI, um Effizienzverluste auszugleichen und Entwicklungsprozesse zu beschleunigen – gleichzeitig stoßen sie jedoch zunehmend auf neue Anforderungen in den Bereichen Sicherheit, Compliance und Governance.\n\nDer Erfolg von KI ist dabei weniger von einzelnen Tools als von ihrer strategischen Einbettung abhängig. Rollen verschieben sich, menschliche Kontrolle bleibt in vielen Belangen aber zentral, und Platform Engineering entwickelt sich zur Voraussetzung für skalierbare KI-Nutzung.\n\nLangfristig entscheidet also nicht der Einsatz von KI an sich über Wettbewerbsfähigkeit – denn sie ist längst etabliert. Vielmehr wird die Fähigkeit richtungsweisend, künstliche Intelligenz strukturiert und verantwortungsvoll in das eigene Unternehmen zu integrieren.\n\n> **[Lade den vollständigen Report zu KI im DevSecOps in Deutschland jetzt herunter.](https://learn.gitlab.com/de-developer-survey/report-de-de-de-devsecops-report-practitioner)**","https://res.cloudinary.com/about-gitlab-com/image/upload/v1769093617/edx2qpx7lznmi8ng5xo2.png",{"featured":13,"template":785,"slug":1050},"devsecops-report-germany",{"category":733,"slug":735,"posts":1052},[1053,1066,1078],{"content":1054,"config":1064},{"title":1055,"description":1056,"authors":1057,"heroImage":1059,"date":1060,"body":1061,"category":735,"tags":1062,"updatedDate":1060},"Kubernetes: Container-Orchestrierung verstehen und einsetzen","Kubernetes (K8s) für containerisierte Anwendungen: Dieser Artikel erklärt Architektur, Vorteile, Grenzen und den Einsatz mit GitLab.",[1058],"GitLab Team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660215/Blog/Hero%20Images/kubernetes-container-orchestration-solution.jpg","2026-03-02","Kubernetes automatisiert die Bereitstellung und Verwaltung\ncontainerisierter Anwendungen in großem Maßstab. Mit der Zeit ist\nKubernetes zu einem zentralen Werkzeug für die Anwendungsentwicklung\ngeworden – etwa in den Bereichen\n[Microservices](https://about.gitlab.com/de-de/topics/microservices/),\nWebanwendungen und Datenbanken. Leistungsfähigkeit und Skalierbarkeit\nmachen K8s heute zum anerkannten Standard im Container-Management.\n\nDieser Artikel bietet einen umfassenden Einstieg in Kubernetes.\n\n## Was ist Kubernetes?\n\nKubernetes ist ein Open-Source-System zur effizienten Orchestrierung von\nContainern einer Softwareanwendung. Containerisierung ist ein weit\nverbreiteter Ansatz in der Anwendungsentwicklung – besonders im Bereich\nder digitalen Transformation und der Cloud.\n\nZur Erinnerung: **Containerisierung ist eine Methode der\nAnwendungsentwicklung, bei der die Komponenten einer Anwendung in\nstandardisierte, geräte- und betriebssystemunabhängige Einheiten –\nsogenannte Container – zusammengefasst werden.** Durch die Isolierung von\nAnwendungen von ihrer Umgebung erleichtert diese Technologie die\nBereitstellung und Portabilität und reduziert Kompatibilitätsprobleme.\n\nHier kommt Kubernetes ins Spiel. Container ermöglichen zwar die Aufteilung\nvon Anwendungen in kleinere, eigenständige Module, die leichter\nbereitzustellen sind. Damit Container jedoch innerhalb einer Anwendung\nzusammenarbeiten können, ist ein übergeordnetes Verwaltungssystem\nerforderlich. Genau das leistet Kubernetes: Die Plattform steuert, wo und\nwie Container ausgeführt werden, und ermöglicht so die Orchestrierung und\nPlanung containerisierter Anwendungen in großem Maßstab.\n\n> Weitere [GitLab-Artikel zu Kubernetes](https://about.gitlab.com/de-de/blog/tags/kubernetes/).\n\n## Wie funktioniert eine Kubernetes-Architektur?\n\nUm die Kubernetes-Architektur zu verstehen, sind einige grundlegende\nKonzepte wichtig – allen voran das des Clusters, der die umfassendste\nEinheit innerhalb der Architektur darstellt. Ein Kubernetes-Cluster ist\ndie Gesamtheit der virtuellen oder physischen Maschinen, auf denen eine\ncontainerisierte Anwendung betrieben wird.\n\n![Komponenten von\nKubernetes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673941/Blog/Content%20Images/components-of-kubernetes.png)\n\nQuelle:\n[Kubernetes](https://kubernetes.io/docs/concepts/overview/components/).\n\nEin Cluster besteht aus verschiedenen Elementen:\n- Node: Eine Arbeitseinheit im Kubernetes-Cluster – eine virtuelle oder\nphysische Maschine, die Aufgaben im Auftrag der Anwendung übernimmt.\n- Pod: Der kleinste bereitstellbare Baustein in Kubernetes. Ein Pod ist\neine Gruppe von Containern, die gemeinsam auf demselben Node ausgeführt\nwerden. Container innerhalb eines Pods teilen dasselbe Netzwerk und\nkommunizieren über localhost miteinander.\n- Service: Ein Kubernetes-Service macht einen Pod für das Netzwerk oder\nandere Pods zugänglich und bietet einen stabilen, klar definierten\nZugangspunkt zu den in Pods gehosteten Anwendungen.\n- Volume: Eine Ordnerabstraktion, die Probleme beim Teilen und Abrufen\nvon Dateien innerhalb eines Containers löst.\n- Namespace: Ein Namespace ermöglicht die Gruppierung und Isolierung von\nRessourcen zu einem virtuellen Cluster.\n\nDie Kubernetes-Architektur basiert auf zwei Knotentypen: dem Master Node\nund den Worker Nodes. Der Master Node ist für die übergeordnete Verwaltung\ndes Kubernetes-Clusters und die Kommunikation mit den Worker Nodes\nzuständig. Zu seinen zentralen Komponenten zählt die API als\nKommunikationszentrum zwischen Nutzenden und Cluster. Das\n[etcd](https://kubernetes.io/docs/concepts/overview/components/#etcd)\nist die Key-Value-Datenbank, in der Konfigurationen, Systemzustand und\nObjekt-Metadaten gespeichert werden. Der Controller Manager koordiniert\nHintergrundoperationen wie die Pod-Replikation, der Scheduler platziert\nPods auf Nodes entsprechend der verfügbaren Ressourcen.\n\nWorker Nodes hingegen sind die Maschinen, auf denen die in den Pods\nenthaltenen Anwendungen ausgeführt und verwaltet werden. Das\n[kubelet](https://kubernetes.io/docs/concepts/overview/components/#kubelet)\nist der Agent, der auf jedem Node läuft und mit dem Master kommuniziert,\num Befehle zu empfangen und den Status der Pods zu übermitteln. Der\nNetzwerk-Proxy\n[kube-proxy](https://kubernetes.io/docs/concepts/overview/components/)\npflegt die Netzwerkregeln auf den Nodes und ermöglicht so den Zugriff auf\nServices von außerhalb des Kubernetes-Clusters. Die Container-Runtime\nschließlich ist die Software, die für die Ausführung und Verwaltung der\nContainer innerhalb der Pods verantwortlich ist.\n\n### Die Rolle von Docker\n\nBei allen Komponenten eines K8s-Clusters ist die Wahl der Runtime innerhalb\nder Worker Nodes von Bedeutung. Verschiedene Softwarelösungen stehen dafür\nzur Verfügung, etwa CRI-O – Docker ist jedoch das am häufigsten eingesetzte\nWerkzeug.\n\n### Was ist der Unterschied zwischen Docker und Kubernetes?\n\nDocker ist eine Open-Source-Lösung, die speziell auf Container-Ebene\neingesetzt wird. Sie ermöglicht die Paketierung von Containern in einem\nstandardisierten und schlanken Format, was ihre Portabilität in\nverschiedenen Umgebungen erhöht. Docker ist damit ein ergänzendes Werkzeug\nzu K8s: Es vereinfacht die Verwaltung der Container selbst, während\nKubernetes deren Integration und Kommunikation innerhalb der Anwendung\nerleichtert.\n\n## Welche Vorteile bietet Kubernetes?\n\nSeit dem Start durch Google im Jahr 2014 und der ersten stabilen Version\nim Juli 2015 hat sich Kubernetes als Referenz im Bereich der\nContainer-Orchestrierung etabliert – insbesondere für\nMicroservice-orientierte Architekturen. Diese Verbreitung ist vor allem\nauf die Leistungsfähigkeit von K8s in der Container-Orchestrierung\nzurückzuführen.\n\nDie Vorteile von Kubernetes im Überblick:\n- Automatisierung: Kubernetes erleichtert die Automatisierung von Aufgaben\nrund um Bereitstellung, Skalierung und Aktualisierung containerisierter\nAnwendungen.\n- Flexibilität: Die Software passt sich an unterschiedliche\nContainer-Technologien sowie verschiedene Hardware-Architekturen und\nBetriebssysteme an.\n- Skalierbarkeit: K8s ermöglicht die Bereitstellung und Verwaltung\ntausender Container – unabhängig von deren Status: laufend, pausiert oder\ngestoppt.\n- Migration: Anwendungen lassen sich zu Kubernetes migrieren, ohne den\nQuellcode ändern zu müssen.\n- Multi-Cluster-Unterstützung: Kubernetes verwaltet zentral mehrere\nContainer-Cluster, die über verschiedene Infrastrukturen verteilt sind.\n- Update-Management: Die Software unterstützt Rolling-Update-Deployments,\num Anwendungen ohne Serviceunterbrechung zu aktualisieren.\n\n## Ein robustes und skalierbares Ökosystem\n\nKubernetes zeichnet sich durch die Fähigkeit aus, Container effizient und\nzuverlässig zu verwalten und dabei unabhängig von Cloud-Infrastrukturanbietern\nzu bleiben. Die modulare Architektur passt sich den spezifischen\nAnforderungen jedes Unternehmens an und unterstützt ein breites Spektrum\nan Anwendungen und Diensten – von Webservices über Datenverarbeitung bis\nhin zu mobilen Anwendungen.\n\nKubernetes profitiert dabei von einem umfangreichen und aktiven\nOpen-Source-Ökosystem. Verwaltet von der Cloud Native Computing Foundation\n([CNCF](https://www.cncf.io/)), wird K8s von tausenden Entwicklerinnen\nund Entwicklern weltweit unterstützt, die kontinuierlich zur\nWeiterentwicklung des Projekts und seiner Funktionen beitragen.\n\n## Was sind die Grenzen von Kubernetes?\n\nDie Stärken von Kubernetes machen es für viele Entwicklungsteams im\nCloud-nativen Bereich zur soliden Grundlage. Dennoch lohnt es sich,\neinige Einschränkungen zu benennen. Kubernetes erfordert fundierte\ntechnische Kenntnisse sowie die Einarbeitung in neue Entwicklungskonzepte\nund -methoden. Die Konfiguration kann zu Beginn eines Projekts komplex\nsein – ist dabei aber entscheidend, insbesondere für die Absicherung der\nPlattform. Ein erfahrenes Entwicklungsteam mit K8s-Kenntnissen ist daher\nein wesentlicher Vorteil.\n\nEine weitere Herausforderung ist die Implementierung und Wartung einer\nK8s-Architektur, die Zeit und Ressourcen erfordert – vor allem für die\nAktualisierung der verschiedenen Komponenten und Softwareteile. Dabei\nstellt sich auch die Frage nach möglichem Oversizing: Bei kleineren\nAnwendungen oder Projekten ohne besondere Skalierungsanforderungen kann\neine einfachere Architektur ausreichend und wirtschaftlicher sein.\n\n## Kubernetes im Unternehmenseinsatz\n\nZehntausende Unternehmen haben eine Kubernetes-Architektur für ihre\ndigitale Transformation übernommen. K8s wird von Organisationen aller\nGrößen genutzt – von Startups bis zu multinationalen Konzernen.\n\nEin Beispiel für eine erfolgreiche Integration ist Haven Technologies.\nDas Unternehmen hat seine SaaS-Dienste zu K8s migriert. Dabei setzt es\nauf eine Kubernetes-Strategie mit der GitLab-DevSecOps-Plattform –\nmit messbaren Verbesserungen bei Effizienz, Sicherheit und\nEntwicklungsgeschwindigkeit. Weitere Details in der\n[Kundenreferenz](https://about.gitlab.com/customers/haven-technologies/).\n\n## Kubernetes, Git und GitLab\n\nKubernetes, Git und GitLab sind zentrale Bausteine der DevOps-Landschaft.\nKubernetes bietet hohe Flexibilität bei der Bereitstellung und Verwaltung\nder verschiedenen Anwendungskomponenten. GitLab – aufgebaut auf Git und\ndessen nativer Versionskontrolle – ermöglicht eine präzise Nachverfolgung\nvon Quellcode und Änderungen und stellt eine umfassende Werkzeugsammlung\nfür den gesamten Software-Entwicklungslebenszyklus bereit.\n\nDiese Kombination schafft gemeinsam mit einem\n[GitOps-Ansatz](https://about.gitlab.com/de-de/topics/gitops/), der die\nAutomatisierung moderner Cloud-Infrastrukturen zum Ziel hat, eine agile\nUmgebung für Anwendungsentwicklung und -bereitstellung. Alle\n[GitLab-Lösungen für den Einsatz mit Kubernetes](https://about.gitlab.com/de-de/solutions/kubernetes/)\nim Überblick.\n\n## Kubernetes FAQ\n\n### Welche Alternativen zu K8s gibt es?\n\nEs gibt verschiedene Alternativen zu Kubernetes, darunter Docker Swarm\nund Marathon. Kubernetes gilt jedoch als die ausgereifteste und am\nweitesten verbreitete Lösung auf dem Markt. Die große Nutzerbasis,\numfangreiche Dokumentation und eine aktive Community machen K8s zur\nsoliden Wahl für alle, die ein Container-Orchestrierungssystem einsetzen\nmöchten.\n\n### Was ist ein Kubernetes-Cluster?\n\nEin Kubernetes-Cluster besteht aus einem Master Node und mehreren Worker\nNodes. Der Master Node koordiniert die Aufgaben im Cluster, während die\nWorker Nodes diese Orchestrierungsaufgaben ausführen und die Container\nhosten. K8s-Cluster sind hoch skalierbar – Nodes lassen sich hinzufügen\noder entfernen, um die Clusterressourcen an die Anforderungen der Anwendung\nanzupassen.\n\n### Wie startet man mit Kubernetes?\n\nZunächst ist die Installation der Kubernetes-Software in einer kompatiblen\nUmgebung (Linux, macOS oder Windows) erforderlich. Kubernetes lässt sich\nsowohl in einer klassischen Hosting-Umgebung als auch in der Cloud\ninstallieren – etwa auf Google Kubernetes Engine oder Amazon EKS. Nach\ndem Download und der Installation von der offiziellen Website folgt die\nErstkonfiguration zur Verbindung von Master und Worker Nodes. Danach ist\ndie erste Anwendung mit Kubernetes einsatzbereit.\n\n### Warum Kubernetes wählen?\n\nKubernetes bietet hohe Flexibilität und vollständige Portabilität zwischen\nverschiedenen Cloud-Plattformen oder On-Premises-Infrastrukturen. Durch\ndie Automatisierung von Orchestrierungsaufgaben lassen sich Ressourcen\noptimieren und Betriebskosten senken. Das Kubernetes-Ökosystem ist\numfangreich und wird von einer großen Open-Source-Community\nkontinuierlich weiterentwickelt.\n\n## Mehr erfahren\n\n- [Logs über das GitLab Dashboard für Kubernetes streamen](https://about.gitlab.com/blog/how-to-stream-logs-through-the-gitlab-dashboard-for-kubernetes/)\n- [Kubernetes-Überblick: Cluster-Daten im Frontend verwalten](https://about.gitlab.com/blog/kubernetes-overview-operate-cluster-data-on-the-frontend/)\n- [Cloud-Account-Management für Kubernetes-Zugriff vereinfachen](https://about.gitlab.com/blog/simplify-your-cloud-account-management-for-kubernetes-access/)\n",[1063,918],"kubernetes",{"slug":1065,"featured":646,"template":785},"kubernetes-the-container-orchestration-solution",{"content":1067,"config":1076},{"title":1068,"description":1069,"authors":1070,"date":1072,"body":1073,"heroImage":1074,"category":735,"tags":1075},"Was ist neu in Git 2.53.0?","Alles, was du über dieses Release wissen musst, darunter Fixes für geometrisches Repacking, Updates zu den Commit-Signature-Handling-Optionen von git-fast-import(1) und mehr.",[1071],"Justin Tobler","2026-02-02","Das Git-Projekt hat kürzlich [Git 2.53.0](https://lore.kernel.org/git/xmqq4inz13e3.fsf@gitster.g/T/#u) veröffentlicht. Schauen wir uns einige Highlights dieses Releases an, das auch Beiträge vom Git-Team bei GitLab enthält.\n\n## Unterstützung für geometrisches Repacking mit Promisor Remotes\n\nNeu geschriebene Objekte in einem Git-Repository werden oft als einzelne Loose Files gespeichert. Um gute Performance und optimale Nutzung des Speicherplatzes zu gewährleisten, werden diese Loose Objects regelmäßig in sogenannte Packfiles komprimiert. Die Anzahl der Packfiles in einem Repository wächst im Laufe der Zeit durch die Aktivitäten des Users, wie das Schreiben neuer Commits oder das Fetchen von einem Remote. Je mehr Packfiles sich in einem Repository befinden, desto mehr Arbeit hat Git beim Nachschlagen einzelner Objekte. Um die optimale Repository-Performance zu erhalten, werden Packfiles daher regelmäßig über git-repack(1) neu gepackt, um die Objekte in weniger Packfiles zu konsolidieren. Beim Repacking gibt es zwei Strategien: „All-into-One\" und „Geometric\".\n\nDie All-into-One-Strategie ist relativ unkompliziert und derzeit der Standard. Wie der Name schon sagt, werden alle Objekte im Repository in ein einziges Packfile gepackt. Aus Performance-Sicht ist das großartig für das Repository, da Git nur ein einzelnes Packfile durchsuchen muss, um Objekte nachzuschlagen. Der Hauptnachteil dieser Repacking-Strategie ist, dass die Berechnung eines einzigen Packfiles für ein Repository bei großen Repositories erheblich viel Zeit in Anspruch nehmen kann.\n\nDie Geometric-Strategie hilft, dieses Problem zu entschärfen, indem sie eine geometrische Progression von Packfiles basierend auf ihrer Größe beibehält, anstatt immer in ein einziges Packfile neu zu packen. Also: Beim Repacking pflegt Git eine Reihe von Packfiles, die nach Größe geordnet sind, wobei jedes Packfile in der Sequenz mindestens doppelt so groß sein soll wie das vorhergehende Packfile. Wenn ein Packfile in der Sequenz diese Eigenschaft verletzt, werden Packfiles bei Bedarf kombiniert, bis die Progression wiederhergestellt ist. Diese Strategie hat den Vorteil, dass sie die Anzahl der Packfiles in einem Repository minimiert und gleichzeitig den Arbeitsaufwand für die meisten Repacking-Operationen minimiert.\n\nEin Problem mit der geometrischen Repacking-Strategie war, dass sie nicht mit Partial Clones kompatibel war. Partial Clones ermöglichen es dir, nur Teile eines Repositorys zu klonen, indem du zum Beispiel alle Blobs größer als 1 Megabyte überspringst. Das kann die Größe eines Repositorys erheblich reduzieren, und Git weiß, wie es fehlende Objekte nachträglich abrufen kann, auf die es zu einem späteren Zeitpunkt zugreifen muss.\n\nDas Ergebnis ist ein Repository, dem einige Objekte fehlen, und jedes Objekt, das möglicherweise nicht vollständig verbunden ist, wird in einem „Promisor\"-Packfile gespeichert. Beim Repacking muss diese Promisor-Eigenschaft für Packfiles, die ein Promisor-Objekt enthalten, beibehalten werden, damit bekannt ist, ob ein fehlendes Objekt erwartet wird und vom Promisor Remote nachgeladen werden kann. \n\nBei einem All-into-One-Repack weiß Git, wie es Promisor-Objekte richtig behandelt und speichert sie in einem separaten Promisor-Packfile. Leider wusste die geometrische Repacking-Strategie nicht, Promisor-Packfiles eine Sonderbehandlung zu geben, und würde sie stattdessen mit normalen Packfiles zusammenführen, ohne zu berücksichtigen, ob sie auf Promisor-Objekte verweisen. Glücklicherweise schlägt aufgrund eines Bugs das zugrunde liegende git-pack-objects(1) fehl, wenn geometrisches Repacking in einem Partial-Clone-Repository verwendet wird. Das bedeutet, dass Repositories in dieser Konfiguration sowieso nicht neu gepackt werden konnten, was nicht großartig ist, aber besser als Repository-Korruption.\n\nMit dem Release von Git 2.53 funktioniert geometrisches Repacking jetzt mit Partial-Clone-Repositories. Bei einem geometrischen Repack werden Promisor-Packfiles separat behandelt, um die Promisor-Markierung zu erhalten, und nach einer separaten geometrischen Progression neu gepackt. Mit diesem Fix rückt die geometrische Strategie näher daran, die Standard-Repacking-Strategie zu werden. Für weitere Informationen schau dir den entsprechenden [Mailing-List-Thread](https://lore.kernel.org/git/20260105-pks-geometric-repack-with-promisors-v1-0-c4660573437e@pks.im/) an.\n\nDieses Projekt wurde von [Patrick Steinhardt](https://gitlab.com/pks-gitlab) geleitet.\n\n## git-fast-import(1) hat gelernt, nur gültige Signaturen zu erhalten\n\nIn unserem [Git 2.52 Release-Artikel](https://about.gitlab.com/de-de/blog/whats-new-in-git-2-52-0/) haben wir signatur-bezogene Verbesserungen an git-fast-import(1) und git-fast-export(1) behandelt. Schau dir diesen Post unbedingt an für eine detailliertere Erklärung dieser Befehle, wie sie verwendet werden und welche Änderungen in Bezug auf Signaturen vorgenommen werden.\n\nUm es kurz zusammenzufassen: git-fast-import(1) bietet ein Backend zum effizienten Importieren von Daten in ein Repository und wird von Tools wie [git-filter-repo(1)](https://github.com/newren/git-filter-repo) verwendet, um die History eines Repositorys in großem Umfang neu zu schreiben. Im Git 2.52 Release hat git-fast-import(1) die Option `--signed-commits=\u003Cmode>` gelernt, ähnlich wie die gleiche Option in git-fast-export(1). Mit dieser Option wurde es möglich, Signaturen von Commits/Tags ohne Bedingung beizubehalten oder zu entfernen.\n\nIn Situationen, in denen nur ein Teil der Repository-History neu geschrieben wurde, wird jede Signatur für neu geschriebene Commits/Tags ungültig. Das bedeutet, dass git-fast-import(1) darauf beschränkt ist, entweder alle Signaturen zu entfernen oder alle Signaturen zu behalten, selbst wenn sie ungültig geworden sind. Aber ungültige Signaturen zu behalten, macht nicht viel Sinn, daher führt das Neuschreiben der History mit git-filter-repo(1) dazu, dass alle Signaturen entfernt werden, selbst wenn der zugrunde liegende Commit/Tag nicht neu geschrieben wurde. Das ist schade, denn wenn der Commit/Tag unverändert ist, ist seine Signatur noch gültig, und es gibt daher keinen wirklichen Grund, sie zu entfernen. Was wirklich benötigt wird, ist eine Möglichkeit, Signaturen für unveränderte Objekte zu erhalten, aber ungültige zu entfernen.\n\nMit dem Release von Git 2.53 hat die Option `--signed-commits=\u003Cmode>` von git-fast-import(1) einen neuen Modus `strip-if-invalid` gelernt, der, wenn angegeben, nur Signaturen von Commits entfernt, die durch das Neuschreiben ungültig werden. Mit dieser Option wird es also möglich, einige Commit-Signaturen bei der Verwendung von git-fast-import(1) zu erhalten. Das ist ein entscheidender Schritt zur Bereitstellung der Grundlage für Tools wie git-filter-repo(1), um gültige Signaturen zu erhalten und schließlich ungültige Signaturen neu zu signieren.\n\nDieses Projekt wurde von [Christian Couder](https://gitlab.com/chriscool) geleitet.\n\n## Mehr Daten in git-repo-structure gesammelt\n\nIm Git 2.52 Release wurde der „structure\"-Subcommand zu git-repo(1) eingeführt. Die Absicht dieses Befehls war es, Informationen über das Repository zu sammeln und schließlich ein nativer Ersatz für Tools wie [git-sizer(1)](https://github.com/github/git-sizer) zu werden. Bei GitLab hosten wir einige extrem große Repositories, und Einblicke in die allgemeine Struktur eines Repositorys sind entscheidend, um seine Performance-Charakteristiken zu verstehen. In diesem Release sammelt der Befehl jetzt auch Informationen zur Gesamtgröße von erreichbaren Objekten in einem Repository, um die Gesamtgröße des Repositorys zu verstehen. In der folgenden Ausgabe kannst du sehen, dass der Befehl jetzt sowohl die gesamten Inflated- als auch Disk-Größen von erreichbaren Objekten nach Objekttyp sammelt.\n\n```shell\n\n$ git repo structure\n\n| Repository structure | Value      |\n| -------------------- | ---------- |\n| * References         |            |\n|   * Count            |   1.78 k   |\n|     * Branches       |      5     |\n|     * Tags           |   1.03 k   |\n|     * Remotes        |    749     |\n|     * Others         |      0     |\n|                      |            |\n| * Reachable objects  |            |\n|   * Count            | 421.37 k   |\n|     * Commits        |  88.03 k   |\n|     * Trees          | 169.95 k   |\n|     * Blobs          | 162.40 k   |\n|     * Tags           |    994     |\n|   * Inflated size    |   7.61 GiB |\n|     * Commits        |  60.95 MiB |\n|     * Trees          |   2.44 GiB |\n|     * Blobs          |   5.11 GiB |\n|     * Tags           | 731.73 KiB |\n|   * Disk size        | 301.50 MiB |\n|     * Commits        |  33.57 MiB |\n|     * Trees          |  77.92 MiB |\n|     * Blobs          | 189.44 MiB |\n|     * Tags           | 578.13 KiB |\n\n```\n\nWer genau hinschaut, dem fällt vielleicht auch auf, dass die Größenwerte in der Tabellenausgabe jetzt auch benutzerfreundlicher mit angehängten Einheiten aufgelistet werden. In zukünftigen Releases hoffen wir, die Ausgabe dieses Befehls weiter zu erweitern, um zusätzliche Datenpunkte bereitzustellen, wie zum Beispiel die größten einzelnen Objekte im Repository.\n\nDieses Projekt wurde von [Justin Tobler](https://gitlab.com/justintobler) geleitet.\n\n## Mehr erfahren\n\nDieser Artikel hat nur einige der Beiträge von GitLab und der breiteren Git-Community für dieses neueste Release hervorgehoben. Du kannst mehr über diese aus der [offiziellen Release-Ankündigung](https://lore.kernel.org/git/xmqq4inz13e3.fsf@gitster.g/T/#u) des Git-Projekts erfahren. Schau dir auch unsere [früheren Git-Release-Blogposts](https://about.gitlab.com/blog/tags/git/) an, um andere vergangene Highlights von Beiträgen der GitLab-Teammitglieder zu sehen.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663087/Blog/Hero%20Images/git3-cover.png",[918,976,243],{"featured":646,"template":785,"slug":1077},"whats-new-in-git-2-53-0",{"content":1079,"config":1089},{"title":1080,"description":1081,"authors":1082,"heroImage":1074,"date":1086,"body":1087,"category":735,"tags":1088},"Was ist neu in Git 2.52.0?","Alles zum aktuellen Release, darunter der neue git-last-modified(1)-Befehl, Verbesserungen an History-Rewriting-Tools und eine neue Maintenance-Strategie.",[1083,1084,1085],"Christian Couder","Toon Claes","Patrick Steinhardt","2025-11-17","Das Git-Projekt hat kürzlich [Git 2.52](https://lore.kernel.org/git/xmqqh5usmvsd.fsf@gitster.g/) veröffentlicht. Nach einem relativ kurzen 8-Wochen-[Release-Zyklus für 2.51](https://about.gitlab.com/de-de/blog/what-s-new-in-git-2-51-0/), aufgrund des Sommers auf der Nordhalbkugel, ist dieses Release wieder beim üblichen 12-Wochen-Zyklus.\n\nSchauen wir uns einige Highlights an, darunter Beiträge vom GitLab Git-Team und der weiteren Git-Community.\n\n## Neuer git-last-modified(1)-Befehl\n\nViele Git-Forges wie GitLab zeigen Dateien in einer Tree-Ansicht wie dieser an:\n\n\n| Name        | Last commit                                             | Last update  |\n| ------------- | --------------------------------------------------------- | -------------- |\n| README.md   | README: *.txt -> *.adoc fixes                           | 4 months ago |\n| RelNotes    | Start 2.51 cycle, the first batch                       | 4 weeks ago  |\n| SECURITY.md | SECURITY: describe how to report vulnerabilities        | 4 years      |\n| abspath.c   | abspath: move related functions to abspath              | 2 years      |\n| abspath.h   | abspath: move related functions to abspath              | 2 years      |\n| aclocal.m4  | configure: use AC_LANG_PROGRAM consistently             | 15 years ago |\n| add-patch.c | pager: stop using `the_repository`                      | 7 months ago |\n| advice.c    | advice: allow disabling default branch name advice      | 4 months ago |\n| advice.h    | advice: allow disabling default branch name advice      | 4 months ago |\n| alias.h     | rebase -m: fix serialization of strategy options        | 2 years      |\n| alloc.h     | git-compat-util: move alloc macros to git-compat-util.h | 2 years ago  |\n| apply.c     | apply: only write intents to add for new files          | 8 days ago   |\n| archive.c   | Merge branch 'ps/parse-options-integers'                | 3 months ago |\n| archive.h   | archive.h: remove unnecessary include                   | 1 year       |\n| attr.h      | fuzz: port fuzz-parse-attr-line from OSS-Fuzz           | 9 months ago |\n| banned.h    | banned.h: mark `strtok()` and `strtok_r()` as banned    | 2 years      |\n\n\n\u003Cbr>\u003C/br>\n\nNeben den Dateien selbst zeigen wir auch an, welcher Commit jede jeweilige Datei zuletzt geändert hat. Diese Information lässt sich einfach aus Git extrahieren, indem du folgenden Befehl ausführst:\n\n```shell\n\n$ git log --max-count=1 HEAD -- \u003Cfilename>\n\n```\n\nObwohl schön und einfach, hat das einen erheblichen Haken: Git hat keine Möglichkeit, diese Information für jede dieser Dateien in einem einzigen Befehl zu extrahieren. Um also den letzten Commit für alle Dateien im Tree zu erhalten, müssten wir diesen Befehl für jede Datei separat ausführen. Das führt zu einer Befehlspipeline ähnlich der folgenden:\n\n```shell\n\n$ git ls-tree HEAD --name-only | xargs --max-args=1 git log --max-count=1 HEAD --\n\n```\n\nNatürlich ist das nicht sehr effizient:\n\n\n* Wir müssen für jede Datei einen neuen Git-Befehl starten.\n\n\n* Git muss die History für jede Datei separat durchlaufen.\n\n\n\nAls Konsequenz ist diese gesamte Operation ziemlich kostspielig und erzeugt erhebliche Last für GitLab.\n\n\n\nUm diese Probleme zu beheben, wurde ein neuer Git-Subcommand `git-last-modified(1)` eingeführt. Dieser Befehl gibt den Commit für jede Datei eines gegebenen Commits zurück:\n\n```shell\n\n$ git last-modified HEAD\n\n\ne56f6dcd7b4c90192018e848d0810f091d092913        add-patch.c\n373ad8917beb99dc643b6e7f5c117a294384a57e        advice.h\ne9330ae4b820147c98e723399e9438c8bee60a80        advice.c\n5e2feb5ca692c5c4d39b11e1ffa056911dd7dfd3        alloc.h\n954d33a9757fcfab723a824116902f1eb16e05f7        RelNotes\n4ce0caa7cc27d50ee1bedf1dff03f13be4c54c1f        apply.c\n5d215a7b3eb0a9a69c0cb9aa43dcae956a0aa03e        archive.c\nc50fbb2dd225e7e82abba4380423ae105089f4d7        README.md\n72686d4e5e9a7236b9716368d86fae5bf1ae6156        attr.h\nc2c4138c07ca4d5ffc41ace0bfda0f189d3e262e        archive.h\n5d1344b4973c8ea4904005f3bb51a47334ebb370        abspath.c\n5d1344b4973c8ea4904005f3bb51a47334ebb370        abspath.h\n60ff56f50372c1498718938ef504e744fe011ffb        banned.h\n4960e5c7bdd399e791353bc6c551f09298746f61        alias.h\n2e99b1e383d2da56c81d7ab7dd849e9dab5b7bf0        SECURITY.md\n1e58dba142c673c59fbb9d10aeecf62217d4fc9c        aclocal.m4\n\n```\n\n\n\nDer Vorteil davon ist offensichtlich, dass wir jetzt nur noch einen einzigen Git-Prozess ausführen müssen, um all diese Informationen abzuleiten. Aber noch wichtiger ist, dass wir die History nur einmal für alle Dateien zusammen durchlaufen müssen, anstatt sie mehrmals durchlaufen zu müssen. Dies wird wie folgt erreicht:\n\n\n1. Beginne damit, die History vom angegebenen Commit aus zu durchlaufen.\n\n\n2. Für jeden Commit:\n\n\n\n   1. Wenn er keinen der Pfade ändert, an denen wir interessiert sind, fahren wir mit dem nächsten Commit fort.\n   2. Wenn er es tut, geben wir die Commit-ID zusammen mit dem Pfad aus. Außerdem entfernen wir den Pfad aus der Menge der interessanten Pfade.\n\n\n\n3. Wenn die Liste der interessanten Pfade leer wird, stoppen wir.\n\n\n\nGitaly wurde bereits angepasst, um den neuen Befehl zu verwenden, aber die Logik ist noch hinter einem Feature-Flag geschützt. Vorläufige Tests haben gezeigt, dass `git-last-modified(1)` in den meisten Situationen mindestens doppelt so schnell ist wie die Verwendung von `git log --max-count=1`.\n\n\n\n*Diese Änderungen wurden [ursprünglich geschrieben](https://github.com/ttaylorr/git/tree/tb/blame-tree) von mehreren Entwicklern von GitHub und wurden [upstream](https://lore.kernel.org/git/20250805093358.1791633-1-toon@iotcl.com/) in Git von [Toon Claes](https://gitlab.com/toon) integriert.*\n\n\n\n## Signatur-bezogene Verbesserungen für git-fast-export(1) und git-fast-import(1)\n\n\n\nDie Befehle `git-fast-export(1)` und `git-fast-import(1)` sind dafür konzipiert, hauptsächlich von Interoperabilitäts- oder History-Rewriting-Tools verwendet zu werden. Das Ziel von Interoperabilitäts-Tools ist es, Git problemlos mit anderer Software interagieren zu lassen, normalerweise einem anderen Versionskontrollsystem, das Daten in einem anderen Format als Git speichert. Zum Beispiel ist [hg-fast-export.sh](https://github.com/frej/fast-export) ein „Mercurial-zu-Git-Konverter, der git-fast-import verwendet.\"\n\n\n\nAlternativ lassen History-Rewriting-Tools Benutzer – normalerweise Admins – Änderungen an der History ihrer Repositories vornehmen, die Versionskontrollsysteme nicht zulassen. Zum Beispiel sagt [reposurgeon](http://www.catb.org/esr/reposurgeon/) in seiner [Einführung](https://gitlab.com/esr/reposurgeon/-/blob/master/repository-editing.adoc?ref_type=heads#introduction), dass sein Zweck ist, „riskante Operationen zu ermöglichen, die Versionskontrollsysteme dich nicht durchführen lassen wollen, wie zum Beispiel (a) Bearbeitung vergangener Kommentare und Metadaten, (b) Entfernung von Commits, (c) Zusammenführung und Aufteilung von Commits, (d) Entfernung von Dateien und Subtrees aus der Repo-History, (e) Zusammenführung oder Verknüpfung von zwei oder mehr Repos und (f) Aufteilung eines Repos in zwei durch Durchtrennung einer Parent-Child-Verbindung, wobei die Branch-Struktur beider Child-Repos erhalten bleibt.\"\n\n\n\nInnerhalb von GitLab verwenden wir [git-filter-repo](https://github.com/newren/git-filter-repo), um Admins einige riskante Operationen an ihren Git-Repositories durchführen zu lassen. Leider haben bis Git 2.50 (veröffentlicht im letzten Juni) sowohl `git-fast-export(1)` als auch `git-fast-import(1)` kryptografische Commit-Signaturen überhaupt nicht behandelt. Obwohl `git-fast-export(1)` also eine Option `--signed-tags=\u003Cmode>` hatte, die es Benutzern ermöglicht zu ändern, wie kryptografische Tag-Signaturen behandelt werden, wurden Commit-Signaturen einfach ignoriert.\n\n\n\nKryptografische Signaturen sind sehr fragil, weil sie auf den exakten Commit- oder Tag-Daten basieren, die signiert wurden. Wenn sich die signierten Daten oder irgendetwas von ihrer vorhergehenden History ändert, wird die kryptografische Signatur ungültig. Dies ist eine fragile, aber notwendige Anforderung, um diese Signaturen nützlich zu machen.\n\n\n\nAber im Kontext des Neuschreibens der History ist das ein Problem:\n\n\n\n* Wir möchten vielleicht kryptografische Signaturen sowohl für Commits als auch für Tags behalten, die nach dem Neuschreiben noch gültig sind (z.B. weil sich die History, die zu ihnen führt, nicht geändert hat).\n\n\n* Wir möchten vielleicht neue kryptografische Signaturen für Commits und Tags erstellen, bei denen die vorherige Signatur ungültig geworden ist.\n\n\n\nWeder `git-fast-import(1)` noch `git-fast-export(1)` erlauben diese Anwendungsfälle jedoch, was einschränkt, was Tools wie [git-filter-repo](https://github.com/newren/git-filter-repo) oder [reposurgeon](http://www.catb.org/esr/reposurgeon/) erreichen können.\n\n\n\nWir haben einige erhebliche Fortschritte gemacht:\n\n\n\n* In Git 2.50 haben wir eine Option `--signed-commits=\u003Cmode>` zu `git-fast-export(1)` hinzugefügt, um Commit-Signaturen zu exportieren, und Unterstützung in `git-fast-import(1)`, um sie zu importieren.\n\n\n* In Git 2.51 haben wir das Format verbessert, das zum Exportieren und Importieren von Commit-Signaturen verwendet wird, und wir haben es für `git-fast-import(1)` möglich gemacht, sowohl eine Signatur zu importieren, die auf der SHA-1-Objekt-ID des Commits gemacht wurde, als auch eine, die auf seiner SHA-256-Objekt-ID gemacht wurde.\n\n\n* In Git 2.52 haben wir die Optionen `--signed-commits=\u003Cmode>` und `--signed-tags=\u003Cmode>` zu `git-fast-import(1)` hinzugefügt, sodass der Benutzer Kontrolle darüber hat, wie signierte Daten zum Zeitpunkt des Imports behandelt werden.\n\n\n\nEs gibt noch mehr zu tun. Wir müssen die Fähigkeit hinzufügen:\n\n\n\n* Nur die Commit-Signaturen beizubehalten, die noch gültig sind, zu `git-fast-import(1)`.\n\n\n* Daten neu zu signieren, bei denen die Signatur ungültig wurde.\n\n\n\nWir arbeiten bereits an diesen nächsten Schritten, und erwarten, dass dies in Git 2.53 landet. Sobald das erledigt ist, werden Tools wie `git-filter-repo(1)` endlich beginnen, kryptografische Signaturen eleganter zu handhaben. Wir werden dich in unserem nächsten Git-Release-Blogpost auf dem Laufenden halten.\n\n\n\n*Dieses Projekt wurde von [Christian Couder](https://gitlab.com/chriscool) geleitet.*\n\n\n\n## Neue und verbesserte git-maintenance(1)-Strategien\n\n\n\nGit-Repositories benötigen regelmäßige Wartung, um sicherzustellen, dass sie gut funktionieren. Diese Wartung führt eine Reihe verschiedener Aufgaben aus: Referenzen werden optimiert, Objekte werden komprimiert und veraltete Daten werden bereinigt.\n\n\n\nBis Git 2.28 wurden diese Wartungsaufgaben von `git-gc(1)` durchgeführt. Das Problem mit diesem Befehl war, dass er nicht mit Blick auf Anpassbarkeit entwickelt wurde: Während bestimmte Parameter konfiguriert werden können, ist es nicht möglich zu kontrollieren, welche Teile eines Repositorys optimiert werden sollen. Das bedeutet, dass es möglicherweise nicht für alle Anwendungsfälle gut geeignet ist. Noch wichtiger ist, dass es sehr schwer wurde, darüber zu iterieren, wie genau Git Repository-Wartung durchführt.\n\n\n\nUm dieses Problem zu beheben und uns wieder iterieren zu lassen, hat [Derrick Stolee](https://github.com/derrickstolee) `git-maintenance(1)` eingeführt. Im Gegensatz zu `git-gc(1)` ist es mit Blick auf Anpassbarkeit entwickelt und ermöglicht es dem Benutzer zu konfigurieren, welche Aufgaben speziell in einem bestimmten Repository ausgeführt werden sollen. Dieses neue Tool wurde in Git 2.29 zum Standard für Gits automatisierte Wartung gemacht, aber standardmäßig verwendet es immer noch `git-gc(1)`, um die Wartung durchzuführen.\n\n\n\nWährend diese Standard-Wartungsstrategie in kleinen oder sogar mittelgroßen Repositories gut funktioniert, ist sie im Kontext großer Monorepos problematisch. Der größte limitierende Faktor ist, wie `git-gc(1)` Objekte neu packt: Immer wenn es mehr als 50 Packfiles gibt, wird das Tool alle zusammen in ein einziges Packfile zusammenführen. Diese Operation ist ziemlich CPU-intensiv und verursacht viele I/O-Operationen, sodass diese Operation für große Monorepos leicht viele Minuten oder sogar Stunden dauern kann.\n\n\n\nGit weiß bereits, wie diese Repacks durch „geometrisches Repacking\" minimiert werden können. Die Idee ist einfach: Die Packfiles, die im Repository existieren, müssen einer geometrischen Progression folgen, bei der jedes Packfile mindestens doppelt so viele Objekte enthalten muss wie das nächstkleinere. Dies ermöglicht es Git, die Anzahl der erforderlichen Repacks zu amortisieren und gleichzeitig sicherzustellen, dass es insgesamt nur eine relativ kleine Anzahl von Packfiles gibt. Dieser Modus wurde von [Taylor Blau](https://github.com/ttaylorr) in Git 2.32 eingeführt, aber er wurde nicht als Teil der automatisierten Wartung eingebunden.\n\n\n\nAlle Teile existieren, um die Repository-Wartung für große Monorepos viel skalierbarer zu machen: Wir haben das flexible `git-maintenance(1)`-Tool, das erweitert werden kann, um eine neue Wartungsstrategie zu haben, und wir haben einen besseren Weg, Objekte neu zu packen. Alles, was getan werden muss, ist, diese beiden zu kombinieren.\n\n\n\nUnd genau das haben wir mit Git 2.52 getan! Wir haben eine neue „geometrische\" Wartungsstrategie eingeführt, die du in deinen Git-Repositories konfigurieren kannst. Diese Strategie ist als vollständiger Ersatz für die alte Strategie basierend auf `git-gc(1)` gedacht. Hier ist der Config-Code, den du benötigst:\n\n\n```shell\n\n$ git config set maintenance.strategy geometric\n\n```\n\n\n\nAb jetzt verwendet Git geometrisches Repacking verwenden, um deine Objekte zu optimieren. Das sollte zu weniger Churn führen und gleichzeitig sicherstellen, dass deine Objekte in einem besser optimierten Zustand sind, besonders in großen Monorepos.\n\n\n\nIn Git 2.53 wollen wir dies zur Standard-Strategie machen. Also bleib dran!\n\n\n\n*Dieses Projekt wurde von [Patrick Steinhardt](https://gitlab.com/pks-gitlab) geleitet.*\n\n\n\n## Neuer Subcommand für git-repo(1) zur Anzeige von Repository-Metriken\n\n\n\nDie Performance von Git-Operationen in einem Repository hängt oft von bestimmten Eigenschaften seiner zugrunde liegenden Struktur ab. Bei GitLab hosten wir einige extrem große Repositories, und Einblicke in die allgemeine Struktur eines Repositorys sind entscheidend, um die Performance zu verstehen. Während es möglich ist, verschiedene Git-Befehle und andere Tools zusammenzusetzen, um bestimmte Repository-Metriken zu ermitteln, fehlt Git eine Möglichkeit, Informationen über die Form/Struktur eines Repositorys über einen einzigen Befehl zu liefern. Dies hat zur Entwicklung anderer externer Tools geführt, wie [git-sizer(1)](https://github.com/github/git-sizer), um diese Lücke zu füllen.\n\n\n\nMit dem Release von Git 2.52 wurde ein neuer „structure\"-Subcommand zu git-repo(1) hinzugefügt mit dem Ziel, Informationen über die Struktur eines Repositorys zu liefern. Derzeit zeigt er Informationen über die Anzahl der Referenzen und Objekte im Repository in der folgenden Form an:\n\n```shell\n\n$ git repo structure\n\n\n| Repository structure | Value  |\n| -------------------- | ------ |\n| * References         |        |\n|   * Count            |   1772 |\n|     * Branches       |      3 |\n|     * Tags           |   1025 |\n|     * Remotes        |    744 |\n|     * Others         |      0 |\n|                      |        |\n| * Reachable objects  |        |\n|   * Count            | 418958 |\n|     * Commits        |  87468 |\n|     * Trees          | 168866 |\n|     * Blobs          | 161632 |\n|     * Tags           |    992 |\n\n```\n\n\n\nIn zukünftigen Releases hoffen wir, dies zu erweitern und andere interessante Datenpunkte bereitzustellen, wie die größten Objekte im Repository.\n\n\n\n*Dieses Projekt wurde von [Justin Tobler](https://gitlab.com/justintobler) geleitet.*\n\n\n\n## Verbesserungen im Zusammenhang mit dem Google Summer of Code 2025\n\n\n\nWir hatten drei erfolgreiche Projekte mit dem Google Summer of Code.\n\n\n\n### Refactoring zur Reduzierung von Gits globalem Status\n\n\n\nGit enthält mehrere globale Variablen, die in der gesamten Codebasis verwendet werden. Dies erhöht die Komplexität des Codes und verringert die Wartbarkeit. Als Teil dieses Projekts hat [Ayush Chandekar](https://ayu-ch.github.io/) daran gearbeitet, die Verwendung der globalen Variable `the_repository` durch eine Reihe von Patches zu reduzieren.\n\n\n\n*Das Projekt wurde betreut von [Christian Couder](https://gitlab.com/chriscool) und [Ghanshyam Thakkar](https://in.linkedin.com/in/ghanshyam-thakkar).*\n\n\n\n### Maschinenlesbares Repository-Informations-Abfrage-Tool\n\n\n\nGit fehlt ein zentraler Weg, um Repository-Informationen abzurufen, was Benutzer zwingt, sie aus verschiedenen Befehlen zusammenzusetzen. Während `git-rev-parse(1)` zum De-facto-Tool für den Zugriff auf viele dieser Informationen geworden ist, liegt dies außerhalb seines Hauptzwecks.\n\n\n\nAls Teil dieses Projekts hat [Lucas Oshiro](https://lucasoshiro.github.io/en/) einen neuen Befehl eingeführt, `git-repo(1)`, der alle Repository-Level-Informationen beherbergen wird. Benutzer können jetzt `git repo info` verwenden, um Repository-Informationen zu erhalten:\n\n```shell\n\n$ git repo info layout.bare layout.shallow object.format references.format\n\nlayout.bare=false\nlayout.shallow=false\nobject.format=sha1\nreferences.format=reftable\n\n```\n\n\n\n*Das Projekt wurde betreut von [Patrick Steinhardt](https://gitlab.com/pks-gitlab) und [Karthik Nayak](https://gitlab.com/knayakgl).*\n\n\n\n### Konsolidierung ref-bezogener Funktionalität in git-refs\n\n\n\nGit bietet mehrere Befehle zur Verwaltung von Referenzen, nämlich `git-for-each-ref(1)`, `git show-ref(1)`, `git-update-ref(1)` und `git-pack-refs(1)`. Das macht sie schwerer zu entdecken und erzeugt sich überschneidende Funktionalität. Um dies anzugehen, haben wir den Befehl `git-refs(1)` eingeführt, um diese Operationen unter einer einzigen Schnittstelle zu konsolidieren. Als Teil dieses Projekts hat [Meet Soni](https://inosmeet.github.io/) den Befehl durch Hinzufügen der folgenden Subcommands erweitert:\n\n\n\n* `git refs optimize` zur Optimierung des Reference-Backends\n\n\n* `git refs list` zum Auflisten aller Referenzen\n\n\n* `git refs exists` zur Überprüfung der Existenz einer Referenz\n\n\n\n*Das Projekt wurde betreut von [Patrick Steinhardt](https://gitlab.com/pks-gitlab) und [shejialuo](https://luolibrary.com/).*\n\n\n\n## Was kommt als Nächstes?\n\n\n\nBereit, diese Verbesserungen zu erleben? Aktualisiere auf Git 2.52.0 und fang an, `git last-modified` zu verwenden.\n\n\n\nBei GitLab werden wir natürlich sicherstellen, dass all diese Verbesserungen schließlich in einer GitLab-Instanz in deiner Nähe landen!\n\n\n\nErfahre mehr in den [offiziellen Git 2.52.0 Release Notes](https://lore.kernel.org/git/xmqqh5usmvsd.fsf@gitster.g/) und erkunde unser [vollständiges Archiv der Git-Entwicklungs-Berichterstattung](https://about.gitlab.com/blog/tags/git/).",[918,976,243],{"featured":646,"template":785,"slug":1090},"whats-new-in-git-2-52-0",{"category":71,"slug":747,"posts":1092},[1093,1104,1117],{"content":1094,"config":1102},{"title":1095,"description":1096,"authors":1097,"heroImage":1099,"body":1100,"date":861,"category":747,"tags":1101},"Neue GitLab-Metriken und Registry-Funktionen reduzieren CI/CD-Engpässe","CI/CD Job Performance Metrics und Container Virtual Registry, derzeit in der Beta, helfen Plattform-Teams dabei, langsame Jobs zu identifizieren und Multi-Registry-Container-Pulls zu vereinfachen.",[1098],"Talia Armato-Helle","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771438388/t6sts5qw4z8561gtlxiq.png","Plattform- und DevOps-Ingenieure verbringen zu viel Zeit damit, Transparenz über fragmentierte Tools hinweg herzustellen und Infrastruktur zu verwalten, die einfach funktionieren sollte.\n\nZwei neue GitLab-Funktionen, derzeit in der Beta, gehen dieses Problem aus unterschiedlichen Richtungen an – mit demselben Ziel: Praktikern direkte Kontrolle über die CI/CD-Infrastruktur zu geben, auf die sie angewiesen sind, ohne ein weiteres Drittanbieter-Tool einzuführen. Die eine Funktion liefert Job-Performance-Daten direkt dort, wo Pipelines überwacht werden. Die andere vereinfacht das Abrufen von Container-Images aus mehreren Registries mit integriertem Caching.\n\nBeide Funktionen sind jetzt für Feedback offen. Rückmeldungen helfen dabei, die nächsten Entwicklungsschritte zu gestalten.\n\n## CI/CD Job Performance Metrics\n\n* **Verfügbare Tiers:** GitLab Premium, GitLab Ultimate\n* **Status:** Beta mit eingeschränkter Verfügbarkeit auf GitLab.com; verfügbar auf GitLab Self-Managed und GitLab Dedicated bei konfiguriertem ClickHouse\n\nBislang gibt es keine einfache Möglichkeit zu erkennen, wenn die Laufzeit eines bestimmten Jobs zunimmt oder welche Jobs die Pipeline-Laufzeiten im Hintergrund verlangsamen. Die meisten Teams erstellen entweder eigene Dashboards oder durchsuchen manuell Logs, um grundlegende Fragen zu beantworten:\n\n* Welche Jobs sind am langsamsten?\n* Wo steigen die Fehlerquoten?\n* Welche Stage ist der eigentliche Engpass?\n\nCI/CD Job Performance Metrics löst das durch ein neues job-fokussiertes Panel auf der CI/CD-Analytics-Seite auf Projektebene.\n\nFür jeden Job in den Pipelines sind folgende Informationen einsehbar:\n\n* Typische (P50, Median) und ungünstigste (P95) Job-Laufzeit für einen schnellen Vergleich zwischen normalem und langsamstem Lauf\n* Fehlerquote zur Erkennung instabiler oder unzuverlässiger Jobs\n* Job-Name und Stage, standardmäßig für die letzten 30 Tage\n\nDie Tabelle ist sortierbar, nach Job-Name durchsuchbar und paginiert – Plattform-Teams erhalten so eine einheitliche Ansicht für Fragen, die bisher separate Tools oder eigene Berichte erforderten.\n\n**Jetzt ausprobieren**\n\n* Im Projekt **Analysieren > CI/CD-Analyse** aufrufen.\n* Das CI/CD Job Performance Metrics-Panel suchen und nach Laufzeit oder Fehlerquote sortieren, um die langsamsten oder unzuverlässigsten Jobs zu finden.\n\n**Dokumentation**\n\n* [CI/CD-Analyse – CI/CD Job Performance Metrics](https://docs.gitlab.com/user/analytics/ci_cd_analytics/#cicd-job-performance-metrics)\n\n**Was als Nächstes kommt**\n\nAktuell wird an einer Stage-Level-Gruppierung gearbeitet, mit der aggregierte Metriken über Build-, Test- und Deploy-Stages hinweg einsehbar sein werden – für ein schnelles Verständnis davon, wo Optimierungsbedarf besteht.\n\n**Feedback geben:**\n\n* [CI/CD Job Performance Metrics Epic](https://gitlab.com/groups/gitlab-org/-/work_items/18548)\n\n## Container Virtual Registry\n\n**Tier:** GitLab Premium\n**Status:** Beta, API-ready in 18.9\n\nDie meisten Unternehmen, die Container-Images in CI/CD-Pipelines abrufen, sind auf mehrere Registries angewiesen: Docker Hub, Harbor, Quay und interne Registries, um nur einige zu nennen. Authentifizierung, Verfügbarkeit und Caching für all diese Registries zu verwalten, ist operativer Aufwand, der Pipelines verlangsamt und Fehleranfälligkeit erhöht.\n\nDie Container Virtual Registry ermöglicht die Erstellung eines einzigen GitLab-Endpunkts, der Images aus mehreren vorgelagerten Container-Quellen mit integriertem Caching abruft.\n\nStatt Zugangsdaten und Verfügbarkeit für jede Registry einzeln in der Pipeline-Konfiguration einzurichten, lässt sich:\n\n* Eine einzelne virtuelle GitLab-Registry als Endpunkt für alle Pipelines konfigurieren\n* Mehrere vorgelagerte Registries einbinden (Docker Hub, Harbor, Quay und andere mit Long-Lived-Token-Authentifizierung)\n* GitLab Image-Pulls automatisch auflösen lassen, mit Pull-Through-Caching zur Reduzierung von Bandbreitenkosten und verbesserter Zuverlässigkeit\n\nFür Teams, die GitLab als Container-Registry-Ersatz evaluieren, schließt dies eine wesentliche Funktionslücke. Für Teams, die bereits Multi-Registry-Container-Workflows verwalten, zentralisiert es das Image-Management in GitLab und reduziert wiederholte Pulls.\n\n**Was die Beta heute unterstützt**\n\n* Vorgelagerte Registries mit Long-Lived-Token-Authentifizierung: Docker Hub, Harbor, Quay und andere kompatible Registries\n* Pull-Through-Caching, sodass häufig verwendete Images nach dem ersten Abruf von GitLab bereitgestellt werden\n* API-first-Konfiguration, UI-Verwaltung in Entwicklung\n\nCloud-Provider-Registries mit IAM-Authentifizierung (wie Amazon Elastic Container Registry, Google Artifact Registry und Azure Container Registry) werden für zukünftige Iterationen berücksichtigt.\n\n**Heute testen**\n\n* Die Container Virtual Registry ist in 18.9 API-ready.\n* SaaS (GitLab.com): Zugang über den CSM anfragen oder im unten verlinkten Feedback-Issue kommentieren, um das Feature-Flag für die eigene Gruppe zu aktivieren.\n* Self-managed: Feature-Flag aktivieren und die virtuelle Registry über die API konfigurieren.\n\n**Dokumentation**\n\n* [Container Virtual Registry API](https://docs.gitlab.com/api/container_virtual_registries/)\n* [Container-Images aus der virtuellen Registry abrufen](https://docs.gitlab.com/user/packages/virtual_registry/container/#pull-container-images-from-the-virtual-registry)\n\nWalkthrough der Container Virtual Registry Beta:\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1167512082?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"20260223_Container Virtual Registry Beta_V1\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\u003Cbr>\u003C/br>\n\n**Feedback geben:**\n\n* [Feedback-Issue zur Container Virtual Registry](https://gitlab.com/gitlab-org/gitlab/-/issues/589630)\n\n## Mitgestalten\n\nAlle in der GitLab-Community sind Mitwirkende. Diese Betas wurden auf Basis von Community-Anfragen entwickelt.\n\n* **CI/CD Job Performance Metrics** entstand aus dem Bedarf von Teams, die keine einfache Möglichkeit hatten zu erkennen, wenn Build-Zeiten in die falsche Richtung tendierten oder welche Jobs die Pipeline-Zuverlässigkeit beeinträchtigten.\n* **Container Virtual Registry** entstand aus Anfragen von Enterprise-Kunden, die mehrere Registries verwalteten und Tool-Sprawl sowie Bandbreitenkosten reduzieren wollten, während sie GitLab als zentrale Registry evaluierten.\n\nRückmeldungen gestalten, was als nächstes entwickelt wird. Eine oder beide Betas ausprobieren und Erfahrungen in den verlinkten Feedback-Issues teilen.\n\nDies ist der erste Beitrag in einer Reihe von Core-DevOps-Betas, die im Laufe des Jahres vorgestellt werden.\n",[89,747,780],{"featured":13,"template":785,"slug":1103},"new-gitlab-metrics-and-registry-features-help-reduce-ci-cd-bottlenecks",{"content":1105,"config":1115},{"title":1106,"description":1107,"authors":1108,"date":1110,"body":1111,"heroImage":1112,"category":747,"tags":1113},"GitLab sichert 99,9 % Verfügbarkeit mit Service Credits für Ultimate-Kund(inn)en ab","Ultimate-Kund(inn)en erhalten Service Credits, wenn die Plattformverfügbarkeit unter 99,9 % fällt – für zuverlässige DevSecOps-Workflows.",[782,1109],"Lyle Kozloff","2026-02-18","GitLab sichert die Verfügbarkeitszusage von 99,9 % ab sofort mit Service Credits für Ultimate-Kund(inn)en auf GitLab.com und GitLab Dedicated ab. Wenn die monatliche Verfügbarkeit unter diesen Schwellenwert fällt, erhalten berechtigte Kund(inn)en Gutschriften für zukünftige Rechnungen. Diese Zusage stellt sicher, dass DevSecOps-Workflows die nötige Zuverlässigkeit haben.\n\n## Vertrauen durch Verbindlichkeit\n\nModerne Softwarebereitstellung arbeitet in einem Tempo, in dem Teams kontinuierlich Code pushen, Merge Requests öffnen und Issues verfolgen. Git-Operationen – Push, Pull, Clone – finden tausende Male pro Stunde über verteilte Teams hinweg statt. Wenn einer dieser zentralen Dienste nicht verfügbar ist, steht der gesamte Software-Delivery-Workflow still.\n\nDas 99,9-%-Verfügbarkeits-SLA (Service-Level-Agreement) stellt sicher, dass ein hohes Entwicklungstempo nicht an Infrastruktur-Grenzen scheitert. Service Credits unterstreichen die Verantwortlichkeit – GitLabs Erfolg wird an die Plattformzuverlässigkeit gekoppelt. GitLab misst sich an den Geschäftsergebnissen der Kund(inn)en, nicht nur an Verfügbarkeitszielen.\n\nDas SLA von GitLab deckt die zentralen Plattformdienste ab, die für DevSecOps-Workflows wesentlich sind.\n\n**Zum Start sind folgende Dienste abgedeckt:**\n\n\\* Issues und Merge Requests\n\n\n\\* Git-Operationen (Push, Pull, Clone via HTTPS und SSH)\n\n\n\\* Container-Registry-Operationen\n\n\n\\* Package-Registry-Operationen\n\n\n\\* API-Requests (beschränkt auf die oben genannten Dienste)\n\n\nDie aktuelle Liste der abgedeckten und ausgeschlossenen Dienste ist im [GitLab-Handbuch](https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/service-level-agreement/#covered-experiences) verfügbar.\n\nDie Dienstverfügbarkeit wird durch automatisiertes Monitoring an mehreren geografischen Standorten gemessen und bildet die tatsächlich von Kund(inn)en erlebte Verfügbarkeit ab. Wenn die Verfügbarkeit unter 99,9 % fällt, können Kund(inn)en je nach Schwere des Ausfalls Credits beanspruchen.\n\n## Downtime Minutes verstehen\n\nWenn der GitLab-Dienst eine Verfügbarkeitseinschränkung von 5 % oder mehr der validen Kundenanfragen für abgedeckte Dienste innerhalb einer Minute aufweist und dies zu Server-Fehlern führt, wird dies als [Downtime Minute](https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/service-level-agreement/#downtime-minute-definition) bezeichnet. Server-Fehler sind definiert als HTTP-5xx-Statuscodes oder Verbindungs-Timeouts von mehr als 30 Sekunden, gemessen durch GitLabs interne und externe Monitoring-Systeme.\n\nDas SLA erfasst serverseitige Fehler, aber bestimmte Probleme lösen keine 5xx-Fehler aus – beispielsweise Anwendungsfehler, die Features unbenutzbar machen, Sidekiq-Job-Processing-Ausfälle oder Infrastrukturprobleme, die die Performance beeinträchtigen, ohne dass Requests fehlschlagen.\n\nSo lassen sich Service Credits bei Bedarf beanspruchen:\n\n1. Einen Support-Request auf support.gitlab.com innerhalb von dreißig (30) Tagen nach Ende des betroffenen Monats einreichen.\n\n2. Das GitLab-Team prüft den Anspruch, validiert die Downtime und verarbeitet die Gutschrift, falls zutreffend.\n\n3. Service Credits werden mit der nächsten Rechnung verrechnet.\n\nIm [Handbuch](https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/service-level-agreement/#calculating-monthly-uptime-percentage) finden sich weitere Details zur Berechnung der monatlichen Verfügbarkeit, den angebotenen Service Credits und dem Anspruchsverfahren.\n\nDas Monitoring ist darauf ausgelegt, die große Mehrheit der Dienstunterbrechungen zu erfassen. Falls die eigene Erfahrung nicht mit der gemeldeten Verfügbarkeit übereinstimmt, empfiehlt es sich, einen Service-Credit-Anspruch einzureichen. GitLab prüft den Anspruch ganzheitlich, einschließlich der Untersuchung von Problemen, die möglicherweise nicht im automatisierten Monitoring erfasst wurden.\n\n## Zuverlässigkeit mit Verbindlichkeit\n\nDas 99,9-%-Verfügbarkeits-SLA mit Service Credits steht für GitLabs Anspruch, eine zuverlässige Grundlage für Software-Delivery-Workflows zu bieten. Teams verlassen sich auf GitLab – und GitLab steht dafür ein.\n\nFragen zum SLA? Das GitLab-Account-Team kontaktieren oder einen Request über [GitLab Support](http://support.GitLab.com) einreichen.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758812952/yxhgljkwljld0lyizmaz.png",[1114,747,699],"performance",{"featured":13,"template":785,"slug":1116},"gitlab-backs-99-9-availability-with-service-credits-for-ultimate-customers",{"content":1118,"config":1126},{"title":1119,"description":1120,"authors":1121,"heroImage":1122,"date":1123,"body":1124,"category":747,"tags":1125},"GitLab Credits – nutzungsbasierte Preise für GitLab Duo Agent Platform","Erfahre, wie GitLab Credits Kosten reduziert und Flexibilität für KI-Agenten im Enterprise-Software-Entwicklungszyklus bietet.\n",[939],"https://res.cloudinary.com/about-gitlab-com/image/upload/v1768314648/gvy4pfqjaeahkoagsjmr.png","2026-01-15","Wir haben GitLab Credits entwickelt, weil Seat-basierte Preise für KI-Agenten keinen Sinn ergaben.\nSeat-basierte Preise schaffen KI-„Besitzende\" und „Nicht-Besitzende\" in Engineering-Teams – eine grundlegende Fehlausrichtung mit der Art, wie moderne KI-Agenten im gesamten Software-Entwicklungszyklus genutzt werden sollten. Heute musst du für jede Person einen Seat kaufen, bevor sie KI nutzen kann. Während dies für die wenigen Heavy-User funktioniert, kann es für die Mehrheit des Teams mit leichter oder unregelmäßiger Nutzung zu teuer und unfair sein. Deshalb erhält in vielen Organisationen nur ein Teil des Teams einen „KI-Seat\".\n\nHinzu kommt, dass [GitLab Duo Agent Platform](https://about.gitlab.com/de-de/blog/gitlab-duo-agent-platform-is-generally-available/) sich von Duo Pro, Duo Enterprise und anderen KI-Entwicklertools auf dem Markt unterscheidet. Agenten und Agenten-Workflows können von deinem Team aufgerufen werden, wenn sie KI-Unterstützung benötigen, und durch SDLC-Events im Hintergrund ausgelöst werden. Mit Duo Agent Platform ist KI mit Agenten nicht mehr nur an Nutzer-Seats gebunden.\n\nGitLab Credits löst diese Probleme als unsere neue virtuelle Währung für nutzungsbasierte Preise, beginnend mit GitLab Duo Agent Platform. Das bedeutet, dass jedes Mitglied deiner Organisation mit einem GitLab-Konto (Premium oder Ultimate) jetzt KI-Agenten-Fähigkeiten nutzen kann, ohne dass du für einen KI-Seat bezahlst – egal ob von ihnen aufgerufen oder als Hintergrund-Agenten eingerichtet.\n\n## Wie GitLab Credits funktionieren\n\nGitLab Credits werden über deine gesamte Organisation gepoolt. Deine GitLab Duo Agent Platform-Nutzung wird von GitLab Credits abgezogen. Das umfasst sowohl synchrone als auch asynchrone Nutzung von Agenten und Agenten-Flows. Dazu gehören:\n* [Grundlegende Agenten](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/) wie Security Analyst, Planner und Data Analyst\n\n* [Grundlegende Flows](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/) wie Code Review, Developer und Fix CI/CD Pipeline\n\n* [Externe Agenten](https://docs.gitlab.com/user/duo_agent_platform/agents/external/) wie Anthropic Claude Code und OpenAI Codex\n\n* Benutzerdefinierte Agenten und Flows, die du in deinem [GitLab AI Catalog](https://docs.gitlab.com/user/duo_agent_platform/ai_catalog/) erstellst und veröffentlichst\n\n* [Agentic Chat](https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/) in der GitLab-UI und in der IDE, die von deinen Entwicklungsteams genutzt wird\n\n**Hinweis:** Externe Agenten können in 18.8 kostenlos getestet werden und verbrauchen keine GitLab Credits. Wir werden nächsten Monat mit unserem 18.9 Release Preise einführen. Benutzerdefinierte Flows befinden sich derzeit in der Beta-Phase und verbrauchen keine GitLab Credits.\n\nDie Anzahl der abgezogenen Credits basiert auf der Anzahl der Agenten-Anfragen an große Sprachmodelle ([weitere Details hier](https://docs.gitlab.com/subscriptions/gitlab_credits/#models)). Wenn weitere LLMs verfügbar werden, werden wir sie für die Nutzung mit GitLab Duo Agent Platform zertifizieren und zu dieser Liste hinzufügen, um Kunden einen transparenten Überblick über deren Verbrauch zu geben.\n\nDie Gesamtzahl der GitLab Credits wird am Ende des Monats basierend auf der tatsächlichen Nutzung berechnet. Dieses Modell gleicht auch automatisch die Nutzung von Power-Usern mit der von leichteren Nutzern aus, wodurch deine Gesamtkosten für KI für jede Person effektiv gesenkt werden (im Vergleich zur Zahlung pro Seat für jede Person).\n\nDer Einfachheit halber hat jeder GitLab Credit einen **On-Demand**-Listenpreis von $1. Du kannst GitLab Duo Agent Platform ohne Verpflichtungen nutzen und die Nutzung wird monatlich abgerechnet (am Ende jedes Monats). Für Unternehmenskunden, die sich für **Jahresverpflichtungen** anmelden, bieten wir Mengenrabatte für monatliche Credits.\n\nAls zeitlich begrenzte Aktion[*](#notes) erhalten alle GitLab-Kunden mit aktiven Premium- und Ultimate-Abonnements automatisch $12 bzw. $24 an **inkludierten Credits pro Nutzer(in)**. Diese Credits werden jeden Monat bis zum Ende des Aktionszeitraums erneuert und geben deinem Team kostenlos Zugang zu allen GitLab Duo Agent Platform Features. Wenn du unsere Abrechnungsbedingungen akzeptierst, wird jede Nutzung über diese inkludierten Credits hinaus über zugesagte monatliche Credits oder On-Demand-Credits abgerechnet.\n\n## Kostenkontrolle mit GitLab Credits\n\n**GitLab Credits dimensionieren:** Dein Account-Team hat einen Dimensionierungsrechner als Teil der GA von GitLab Duo Agent Platform, um die Anzahl der GitLab Credits zu schätzen, die du jeden Monat benötigst. Dieser Rechner wurde mit Nutzungsmustern erstellt, die wir während der Beta-Phase beobachtet haben. Zusätzlich kannst du als Bestands- oder Neukunde eine kostenlose Testversion anfordern, um deine geschätzte tatsächliche Nutzung zu bestätigen.\n\n**Nutzungssichtbarkeit:** Mit dem 18.8 Release hast du detaillierte Nutzungsinformationen über zwei sich ergänzende Dashboards – eines im GitLab Customers Portal für Abrechnungsmanager mit Fokus auf finanzielle Übersicht und eines im Produkt für Administrator(inn)en mit Fokus auf operative Überwachung. Beide bieten Zuordnung der Nutzung, Kostenaufschlüsselung und historische Trends, sodass du immer genau weißt, wie deine Credits verbraucht werden. Wenn du intern eine Querverrechnung praktizierst, kannst du Projekt- und Gruppenebenen-Rollups für Kostenzuordnungen verwenden.\n\n**Nutzungskontrollen:** Du kannst den Zugriff auf GitLab Duo Agent Platform für bestimmte Teams oder Projekte aktivieren oder deaktivieren und sicherstellen, dass nur genehmigte Nutzung zu deinen Credits gezählt wird. Wir planen auch, kurz nach GA Kontrollen auf Nutzerebene hinzuzufügen, um dir zu helfen zu verwalten, wer GitLab Duo Agent Platform-Fähigkeiten nutzen und Credits verbrauchen kann.\n\n**Automatisierte Nutzungsbenachrichtigungen:** Wir halten dich proaktiv über deine GitLab Credit-Nutzung per E-Mail-Benachrichtigungen auf dem Laufenden, wenn du 50 %, 80 % und 100 % deiner zugesagten monatlichen Credits erreichst, was dir Zeit gibt, die Nutzung anzupassen, zusätzliche Verpflichtungen zu kaufen oder für On-Demand-Abrechnung zu planen.\n\n## Upgrade von Seat-basierten GitLab Duo Pro/Enterprise zu GitLab Credits für Duo Agent Platform\n\nWenn du GitLab Duo Pro und Duo Enterprise gekauft hast und nutzt, kannst du diese Funktionen als unterstützte Optionen weiterhin verwenden. Du kannst jederzeit auf GitLab Duo Agent Platform upgraden und das tun, was du mit „klassischem\" Duo kannst, und auf neue Funktionen wie Agentic Chat, zusätzliche grundlegende Agenten, benutzerdefinierte Agenten und Flows, externe Agenten und mehr zugreifen.\n\nZum Zeitpunkt des Upgrades übertragen wir deine Investition in Seats für GitLab Duo Pro und Duo Enterprise auf GitLab Credits für Duo Agent Platform. Der verbleibende Dollar-Betrag der Seat-Verpflichtungen wird gegen monatliche GitLab Credits mit volumenbasierten Rabatten getauscht. Die monatlichen GitLab Credits können dann von jedem Teammitglied in deiner Organisation geteilt werden, das du zulässt, nicht nur von den Nutzern, die vorher zugewiesene Duo Seats hatten.\n\n## Wettbewerbsvergleich: GitLab Credits vs. Seat-basierte Preise\n\n| Vorteil | GitLab Credits | Seat-basierte Preise |\n| ----- | ----- | ----- |\n| **KI für alle** | Jedes genehmigte Teammitglied erhält KI-Zugriff vom ersten Tag an | Schafft KI-„Besitzende\" und „Nicht-Besitzende\" – erzwingt Seat-Rationierung |\n| **Keine Vorabinvestition** | Starte klein mit inkludierten Credits, erhöhe Verpflichtung, wenn ROI klar wird | Muss Seats im Voraus kaufen, bevor der Wert bewiesen ist |\n| **Zahle nur was du nutzt** | Nur die tatsächlich durchgeführte KI-Arbeit über der inkludierten Stufe wird abgerechnet | Zahle pro Seat unabhängig von der tatsächlichen Nutzung |\n| **Optimierte Ausgaben** | Gemeinsamer Credit-Pool ermöglicht dir, Power-User mit leichten Nutzern auszugleichen | Muss für leichte Nutzer zahlen, Überziehungen für Premium-Anfragen von Power-Usern |\n| **Detaillierte Sichtbarkeit** | Nutzungs-Dashboards mit detaillierter Zuordnung und historischen Trends | Begrenzte Einblicke, welche Nutzer Wert schaffen |\n| **Granulare Kostenkontrolle** | Wähle wer Zugriff hat, proaktive Benachrichtigungen und kommende Budgetkontrollen zur Begrenzung | Begrenze wer einen Seat erhält, um Kosten zu kontrollieren |\n| **Flexibilität bei der Dimensionierung** | Rechner zur Schätzung monatlicher Credits, mit mehr Einheitenrabatten bei Volumen | Zähle wer einen Seat erhält multipliziert mit Preis pro Seat |\n| **Vereinfachte Verträge und Abrechnung** | Einzelne SKU und Rechnung deckt alle Agenten-Fähigkeiten über den DevSecOps-Lebenszyklus ab | Mehrere KI-Lizenzen über verschiedene Drittanbieter-Tools erforderlich |\n\n## Erste Schritte\n\n1. **Für bestehende Premium/Ultimate-Kunden**: Mit GA wird GitLab Duo Agent Platform für Kunden mit aktiven Premium- und Ultimate-Lizenzen verfügbar sein[**](#notes). GitLab.com SaaS-Kunden erhalten automatisch Zugriff. GitLab Self-Managed-Kunden erhalten Zugriff, wenn sie auf GitLab 18.8 Release upgraden (mit der geplanten allgemeinen Verfügbarkeit von Duo Agent Platform). GitLab Dedicated-Kunden werden während ihres geplanten Wartungsfensters im Februar auf GitLab 18.8 aktualisiert und können Duo Agent Platform ab diesem Zeitpunkt nutzen.\n\n2. **GitLab Duo aktivieren**: Stelle sicher, dass GitLab Duo Agent Platform in deinen Namespace-Einstellungen aktiviert ist.\n\n3. **Mit der Erkundung beginnen**: Nutze deine inkludierten monatlichen GitLab Credits, um GitLab Duo Agent Platform-Funktionen auszuprobieren.\n\n4. **Über inkludierte Credits hinausgehen:** Du kannst dich für GitLab Credits für erweiterte Nutzung über inkludierte Credits hinaus zum On-Demand-Listenpreis anmelden. Für Mengenrabatte mit Verpflichtung [kontaktiere uns](https://about.gitlab.com/de-de/sales/), um ein Angebot für dein spezifisches Nutzungsniveau zu erhalten.\n\nBesuche unsere [GitLab Duo Agent Platform Dokumentation](https://docs.gitlab.com/user/duo_agent_platform/), um mehr über die ersten Schritte zu erfahren.\n## Hinweise\n\n\\* Diese inkludierten Aktions-Credits sind für begrenzte Zeit bei GA verfügbar und können nach GitLabs Ermessen geändert werden.\n\n\\** Ausgenommen sind GitLab Duo mit Amazon Q und GitLab Dedicated für Regierungskunden.\n> Um mehr über GitLab Duo Agent Platform zu erfahren und alle Möglichkeiten, wie KI-Agenten die Arbeitsweise deines Teams transformieren können, [besuche unsere GitLab Duo Agent Platform Seite](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/). Wenn du bestehender GitLab-Kunde bist, wende dich an deinen GitLab Account Manager oder Partner, um eine Live-Demonstration unserer Plattform-Funktionen zu vereinbaren.\n## GitLab Credits FAQ\n**1\\. Was sind GitLab Credits und warum hat GitLab sie eingeführt?**\n\nGitLab Credits ist eine neue virtuelle Währung für nutzungsbasierte GitLab-Funktionen, beginnend mit GitLab Duo Agent Platform. GitLab hat dieses Modell eingeführt, weil Seat-basierte Preise Organisationen zwangen, KI-Zugriff innerhalb von Engineering-Teams zu rationieren, und die Nutzung von Duo Agent Platform nicht nur an Seats gebunden ist. Credits werden über deine gesamte Organisation gepoolt, sodass du jedem Teammitglied Zugriff auf KI-Funktionen geben oder Hintergrund-Agenten-Workflows einrichten kannst, ohne individuelle Seat-Käufe im Voraus zu benötigen.\n\n**2\\. Wie funktioniert der Credit-Verbrauch?**\n\nCredits werden basierend auf der Anzahl der gestellten Agenten-Anfragen abgezogen, mit unterschiedlichen Raten je nachdem, welches LLM verwendet wird. Zum Beispiel erhältst du zwei Modell-Anfragen pro Credit für Claude-sonnet-4.5 (der Standard für die meisten Features) und 20 Anfragen pro Credit für Modelle wie gpt-5-mini oder claude-3-haiku.\n\n**3\\. Was ist für bestehende Premium- und Ultimate-Kunden enthalten?**\n\nAls zeitlich begrenzte Aktion erhalten Kunden mit aktiven Premium- und Ultimate-Abonnements automatisch inkludierte Credits kostenlos zusammen mit der GA-Veröffentlichung von Duo Agent Platform in GitLab 18.8:\n\n* $12 an Credits pro Nutzer/in pro Monat für Premium * $24 an Credits pro Nutzer/in pro Monat für Ultimate\n\nInkludierte Credits sind auf Pro-Nutzer-Ebene, werden monatlich erneuert und ermöglichen Zugriff auf alle GitLab Duo Agent Platform Features ohne zusätzliche Kosten. Die Nutzung über diese inkludierten Credits hinaus wird separat abgerechnet. Diese inkludierten Aktions-Credits sind für begrenzte Zeit nach GA verfügbar und können nach GitLabs Ermessen geändert werden.\n\n**4\\. Wie kann ich den Credit-Verbrauch kontrollieren und überwachen?**\n\nGitLab bietet mehrere Governance-Tools: detaillierte Nutzungs-Dashboards sowohl im Customers Portal als auch im Produkt, die Möglichkeit, den Zugriff für bestimmte Teams oder Projekte zu aktivieren/deaktivieren, kommende Kontrollen auf Nutzerebene und automatisierte E-Mail-Benachrichtigungen bei 50%, 80% und 100% der zugesagten monatlichen Credits. Wir erwarten auch, einen Dimensionierungsrechner anzubieten, um deinen monatlichen Credit-Bedarf zu schätzen.\n\n**5\\. Wie beginne ich mit GitLab Duo Agent Platform?**\n\nSobald GA, ist der Zugriff für bestehende Premium/Ultimate-Kunden automatisch auf GitLab.com SaaS. Self-Managed-Kunden erhalten Zugriff beim Upgrade auf GitLab 18.8 mit der geplanten allgemeinen Verfügbarkeit von Duo Agent Platform. Aktiviere einfach GitLab Duo Agent Platform in deinen Namespace-Einstellungen und beginne mit der Erkundung unter Verwendung deiner inkludierten monatlichen Credits. Für die Nutzung über inkludierte Credits hinaus kannst du dich für On-Demand-Abrechnung anmelden oder GitLab für Mengenrabatte mit jährlichen Verpflichtungen kontaktieren.\n\n*Dieser Blogbeitrag enthält „zukunftsgerichtete Aussagen\" im Sinne von Section 27A des Securities Act von 1933 in der geänderten Fassung und Section 21E des Securities Exchange Act von 1934. Obwohl wir glauben, dass die in diesen Aussagen widergespiegelten Erwartungen angemessen sind, unterliegen sie bekannten und unbekannten Risiken, Unsicherheiten, Annahmen und anderen Faktoren, die dazu führen können, dass die tatsächlichen Ergebnisse oder Resultate wesentlich abweichen. Weitere Informationen zu diesen Risiken und anderen Faktoren finden sich unter der Überschrift „Risikofaktoren\" in unseren Einreichungen bei der SEC. Wir verpflichten uns nicht, diese Aussagen nach dem Datum dieses Blogbeitrags zu aktualisieren oder zu überarbeiten, es sei denn, dies ist gesetzlich vorgeschrieben.*",[778,747,722],{"featured":646,"template":785,"slug":1127},"introducing-gitlab-credits",{"category":105,"slug":759,"posts":1129},[1130,1142,1154],{"content":1131,"config":1140},{"title":1132,"description":1133,"authors":1134,"heroImage":1099,"date":1137,"body":1138,"category":759,"tags":1139},"Schwachstellen-Behebung mit dem aktualisierten GitLab Security Dashboard verfolgen","Behebungsmaßnahmen in risikoreichen Projekten priorisieren und Fortschritte mit Schwachstellen-Insights messen.",[1135,1136],"Alisa Ho","Mike Clausen","2026-02-19","Security-Teams und Entwicklungsteams kennen das Problem: Tausende von Schwachstellen, die Aufmerksamkeit erfordern – ohne die nötigen Informationen zur Priorisierung der Behebung. Wo konzentriert sich das Risiko, und wie schnell wird es behoben? Wo hat die Behebung die größte Wirkung? Das aktualisierte GitLab Security Dashboard beantwortet diese Fragen mit Trend-Tracking, Altersverteilung von Schwachstellen und projektbezogenem Risiko-Scoring.\n\n## Behebung messen, nicht nur Erkennung\nApplication-Security-Teams haben selten Schwierigkeiten, Schwachstellen zu finden – die Herausforderung liegt im Einordnen. Die meisten Dashboards zeigen rohe Zählwerte ohne Kontext und zwingen Teams dazu, stundenlang Behebungsmaßnahmen nachzuverfolgen, ohne zu verstehen, welche Schwachstellen das größte Risiko darstellen.\n\nDas [GitLab Security Dashboard](https://docs.gitlab.com/user/application_security/security_dashboard/#new-security-dashboards) fasst alle Schwachstellendaten in einer Ansicht zusammen, die Projekte, Gruppen und Geschäftsbereiche übergreift.\n\nIn Version 18.6 wurde die erste Version des aktualisierten Security Dashboards eingeführt, mit der Teams Schwachstellen im Zeitverlauf anzeigen und nach Projekt oder Berichtstyp filtern können. Mit dem [18.9-Release](https://about.gitlab.com/releases/2026/02/19/gitlab-18-9-released/) stehen neue Filter und Diagramme zur Verfügung, die es erleichtern, Daten nach Schweregrad, Status, Scanner oder Projekt aufzuschlüsseln und Trends wie offene Schwachstellen, Behebungsgeschwindigkeit, Altersverteilung von Schwachstellen und Risiko-Score im Zeitverlauf zu visualisieren.\n\nRisiko-Scores helfen dabei, die kritischsten Schwachstellen vorrangig zu beheben. Der Risiko-Score wird anhand von Faktoren wie dem Alter der Schwachstelle, dem Exploit Prediction Scoring System (EPSS) und Known Exploited Vulnerability (KEV)-Scores für die betreffenden Repositories und deren Sicherheitsstatus berechnet. Auf dieser Grundlage lassen sich die Bereiche identifizieren, die am dringendsten Aufmerksamkeit benötigen.\n\nDas GitLab Security Dashboard unterstützt Application-Security- und Entwicklungsteams dabei:\n* **Programm-Effektivität verfolgen**: Behebungsgeschwindigkeit, Scanner-Nutzung und Risikostatus überwachen, um messbare Verbesserungen nachzuweisen.\n* **Gezielte Behebung priorisieren**: Schwachstellen beheben, die das größte Risiko für Produktionssysteme darstellen.\n* **Schulungsbedarf identifizieren**: Teams erkennen, die bei der Behebung von Schwachstellen gemäß unternehmensinterner Richtlinien Schwierigkeiten haben, und gezielt in Weiterbildung investieren.\n* **Manuelles Reporting reduzieren**: Externe Dashboards und Tabellen ersetzen, indem alles direkt in GitLab nachverfolgt wird.\n\nDieses Update unterstreicht GitLabs Ansatz, Sicherheit messbar, kontextbezogen und in die täglichen Entwicklungsabläufe integriert zu gestalten. Das GitLab Security Dashboard verwandelt rohe Befunde in handlungsrelevante Erkenntnisse und gibt Security- und Entwicklungsteams die Grundlage, um zu priorisieren, Risiken zu reduzieren und den Fortschritt zu belegen.\n\n## Das Security Dashboard in der Praxis\nEine Application-Security-Führungskraft, die ein Executive Briefing vorbereitet, kann nun anhand klarer Trendlinien zeigen, ob Investitionen die Risikolage verbessern: sinkende Anzahl offener Schwachstellen, abnehmendes Schwachstellenalter, rückläufige ehemals häufige CWE-Typen und ein stabiler Risiko-Score. Statt roher Zählwerte lässt sich demonstrieren, wie der Rückstand abgebaut wird und wie sich die Sicherheitslage Quartal für Quartal verbessert.\n\nGleichzeitig sehen Entwicklungsteams im selben Dashboard die kritischen Schwachstellen in ihren aktiven Projekten – und können Behebungsmaßnahmen priorisieren, ohne Daten zu exportieren oder zwischen mehreren Tools zu wechseln.\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1166108924?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Security-Dashboard-Demo-Final\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n> Weitere Informationen zum Einstieg in das GitLab Security Dashboard in der [Dokumentation](https://docs.gitlab.com/user/application_security/security_dashboard/).",[759,747,780],{"featured":646,"template":785,"slug":1141},"track-vulnerability-remediation-with-the-updated-gitlab-security-dashboard",{"content":1143,"config":1152},{"title":1144,"description":1145,"authors":1146,"heroImage":1148,"date":1149,"category":759,"tags":1150,"body":1151},"OWASP Top 10 2025: Was sich geändert hat und warum es wichtig ist","Neue Supply-Chain- und Error-Handling-Risiken, Ranking-Verschiebungen und Remediation-Strategien für alle 10 Kategorien.",[1147],"Fernando Diaz","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","2026-02-17",[759,918],"Die OWASP Foundation hat die [achte Edition ihrer einflussreichen „Top 10 Security Risks\"-Liste für 2025](https://owasp.org/Top10/2025/0x00_2025-Introduction/) veröffentlicht und führt bedeutende Änderungen ein, die die sich entwickelnde Landschaft der Applikationssicherheit widerspiegeln. Basierend auf der Analyse von mehr als 175.000 Common Vulnerabilities and Exposures (CVEs) und Feedback von Security-Praktikern weltweit adressiert dieses Update moderne Angriffsvektoren. Im Folgenden wird erläutert, was sich geändert hat, warum diese Änderungen wichtig sind und wie Systeme geschützt werden können.\n\n\n> :bulb: Am 10. Februar hat GitLab auf der Transcend gezeigt, wie Agentic AI Software Delivery transformiert – mit Kunden-Einblicken und Impulsen zur Modernisierung. [Mehr erfahren.](https://about.gitlab.com/de-de/events/transcend/virtual/)\n\n\n## Was ist neu in 2025?\n\nDie Verschiebung von 2021 (als die Liste zuletzt erschien) zu 2025 stellt mehr als kleine Anpassungen dar – es ist ein fundamentaler Wandel in der Applikationssicherheit. Zwei vollständig neue Kategorien wurden in die Liste aufgenommen und eine Kategorie in eine andere konsolidiert, was aufkommende Risiken hervorhebt, die traditionelle Tests oft übersehen.\n\nDiese Ergänzungen und Verschiebungen sind in der folgenden Grafik zu sehen:\n\n![OWASP Top 10 - Changes from 2021 to 2025](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767639428/tbekzibeqylorwqrkdau.png)\n\n\n### Zwei neue Kategorien\n\n- **A03: Software Supply Chain Failures**: Erweitert die 2021-Kategorie „Vulnerable and Outdated Components\" um die gesamte Software-Supply-Chain, einschließlich Dependencies, Build-Systeme und Distributions-Infrastruktur. Trotz der geringsten Vorkommen in Testdaten hat diese Kategorie die höchsten durchschnittlichen Exploit- und Impact-Scores aus CVEs.\n\n- **A10: Mishandling of Exceptional Conditions**: Fokussiert auf fehlerhafte Error-Behandlung, logische Fehler und Failing-Open-Szenarien. Diese Kategorie adressiert, wie Systeme auf abnormale Bedingungen reagieren.\n\n### Wesentliche Ranking-Änderungen\n\n- Security Misconfiguration stieg von #5 (2021) auf #2 (2025) und betrifft nun 3 % der getesteten Applikationen.\n- Server-Side Request Forgery (SSRF) wurde in A01: Broken Access Control konsolidiert.\n- Cryptographic Failures fielen von #2 auf #4.\n- Injection fiel von #3 auf #5.\n- Insecure Design verschob sich von #4 auf #6.\n\n## Warum diese Änderungen vorgenommen wurden\n\nDie OWASP-Methodik kombiniert datengetriebene Analyse mit Community-Einblicken. Die 2025-Edition analysierte 589 Common Weakness Enumerations (CWEs) – eine substanzielle Steigerung gegenüber den etwa 400 CWEs in 2021. Diese Erweiterung reflektiert die wachsende Komplexität moderner Software-Systeme und die Notwendigkeit, aufkommende Bedrohungen zu erfassen.\n\nDie Community-Survey-Komponente adressiert eine fundamentale Einschränkung: Testdaten schauen im Wesentlichen in die Vergangenheit. Bis Security-Forschende Testmethoden entwickeln und in automatisierte Tools integrieren, können Jahre vergangen sein. Die beiden community-voted Kategorien stellen sicher, dass aufkommende Risiken, die von Praktikern an vorderster Front identifiziert wurden, eingeschlossen werden – selbst wenn sie noch nicht in automatisierten Testdaten verbreitet sind.\n\nDer Anstieg von Security Misconfiguration hebt einen Branchentrend zur konfigurationsbasierten Sicherheit hervor, während Software Supply Chain Failures den Anstieg ausgefeilter Angriffe auf kompromittierte Packages widerspiegelt.\n\n## GitLab Ultimate für Vulnerability-Detection und -Management nutzen\n\nGitLab Ultimate bietet umfassendes [Security-Scanning](https://docs.gitlab.com/user/application_security/detect/) zur Erkennung von Risiken über alle OWASP-Top-10-2025-Kategorien hinweg. Die End-to-End-Plattform analysiert Quellcode, Dependencies und Infrastrukturdefinitionen von Projekten. [Advanced Static Application Security Testing (SAST)](https://docs.gitlab.com/user/application_security/sast/gitlab_advanced_sast/) erkennt Injection-Schwachstellen, Cryptographic Failures und unsichere Design-Patterns im Quellcode. [Infrastructure as Code (IaC) Scanning](https://docs.gitlab.com/user/application_security/iac_scanning/) findet Security-Fehlkonfigurationen in Deployment-Definitionen. [Secret Detection](https://docs.gitlab.com/user/application_security/secret_detection/) verhindert das Leaken von Credentials, und [Dependency Scanning](https://docs.gitlab.com/user/application_security/dependency_scanning/) deckt Bibliotheken mit bekannten Schwachstellen in der Software-Supply-Chain auf – und adressiert damit direkt die neue A03-Kategorie für Software Supply Chain Failures.\n\nDarüber hinaus:\n\n* [Dynamic Application Security Testing (DAST)](https://docs.gitlab.com/user/application_security/dast/) testet die deployten Applikationen auf Broken Access Control, Authentication Failures und Injection-Schwachstellen durch Simulation von Angriffsvektoren.\n* [API Security Testing](https://docs.gitlab.com/user/application_security/api_security/) prüft API-Endpoints auf Input-Validation-Schwächen und Authentication-Bypasses.\n* [Web API Fuzz Testing](https://docs.gitlab.com/user/application_security/api_fuzzing/) deckt auf, wie Applikationen mit Ausnahmebedingungen umgehen, indem unerwartete Inputs generiert werden – und adressiert damit direkt die neue A10-Kategorie für Mishandling of Exceptional Conditions.\n\nSecurity-Scanning integriert sich nahtlos in die [CI/CD-Pipeline](https://about.gitlab.com/de-de/topics/ci-cd/) und läuft beim Push von einem Feature-Branch, sodass Entwicklungsteams Schwachstellen beheben können, bevor sie Production erreichen. Security-Ergebnisse werden im [Vulnerability Report](https://docs.gitlab.com/user/application_security/vulnerability_report/) konsolidiert, wo Security-Teams triagieren, analysieren und die Behebung nachverfolgen können. GitLab ermöglicht außerdem den Einsatz von KI-Agents wie dem [Security Analyst Agent](https://about.gitlab.com/de-de/blog/vulnerability-triage-made-simple-with-gitlab-security-analyst-agent/) in der GitLab Duo Agent Platform, um die kritischsten Schwachstellen und die erforderlichen Maßnahmen schnell zu identifizieren.\n\nZusätzliche Kontrollen lassen sich über [Merge-Request-Approval-Policies](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/) und [Pipeline-Execution-Policies](https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/) durchsetzen, um sicherzustellen, dass Security-Scanning konsistent in der gesamten Organisation ausgeführt wird. Customer-Success- und Professional-Services-Teams bei GitLab unterstützen dabei, den Wert einer GitLab-Investition zeitnah zu realisieren.\n\nSichere Software mit Security-Testing in derselben Plattform bereitstellen, die Entwicklungsteams bereits nutzen. Mehr dazu auf der [Application Security Testing Solutions-Seite](https://about.gitlab.com/de-de/solutions/application-security-testing/).\n\n## Die OWASP Top 10 2025: Vollständige Aufschlüsselung\n\n### A01: Broken Access Control\n\n##### Was es ist\n\nFehler bei der Durchsetzung von Richtlinien, die verhindern, dass Nutzende außerhalb ihrer vorgesehenen Berechtigungen handeln – was zu unbefugtem Zugriff führt.\n\n##### Auswirkungen auf das System\n\n- Unbefugte Informationsoffenlegung\n- Vollständige Datenzerstörung oder -modifikation\n- Privilege Escalation (Nutzende erlangen Admin-Rechte)\n- Einsehen oder Bearbeiten der Accounts anderer Nutzender\n- API-Zugriff von nicht autorisierten oder nicht vertrauenswürdigen Quellen\n\n##### Relevante CWEs\n\n- [CWE-22: Path Traversal](https://cwe.mitre.org/data/definitions/22.html)\n- [CWE-200: Exposure of Sensitive Information to an Unauthorized Actor](https://cwe.mitre.org/data/definitions/200.html)\n- [CWE-352: Cross-Site Request Forgery (CSRF)](https://cwe.mitre.org/data/definitions/352.html)\n\n### A02: Security Misconfiguration\n\n##### Was es ist\n\nSysteme, Applikationen oder Cloud-Services, die aus Security-Perspektive fehlerhaft konfiguriert sind.\n\n##### Auswirkungen auf das System\n\n- Offenlegung sensibler Informationen durch Fehlermeldungen\n- Unbefugter Zugriff über Default-Accounts\n- Unnötige Services oder Features aktiviert\n- Veraltete Security-Patches\n- Server sendet keine Security-Header oder -Direktiven\n\n##### Relevante CWEs\n\n- [CWE-16: Configuration](https://cwe.mitre.org/data/definitions/16.html)\n- [CWE-521: Weak Password Requirements](https://cwe.mitre.org/data/definitions/521.html)\n- [CWE-798: Use of Hard-coded Credentials](https://cwe.mitre.org/data/definitions/798.html)\n\n### A03: Software Supply Chain Failures\n\n##### Was es ist\n\nAusfälle oder Kompromittierungen beim Erstellen, Verteilen oder Aktualisieren von Software – durch Schwachstellen oder böswillige Änderungen in Dependencies, Tools oder Build-Prozessen.\n\n##### Auswirkungen auf das System\n\n- Kompromittierte Packages, die Backdoors einschleusen\n- Schädlicher Code, der während Build-Prozessen injiziert wird\n- Verwundbare Dependencies, die sich durch die Applikation kaskadieren\n- Nutzung von Komponenten aus nicht vertrauenswürdigen Quellen in Production\n- Änderungen in der Supply Chain werden nicht nachverfolgt\n\n##### Relevante CWEs\n\n- [CWE-1395: Dependency on Vulnerable Third-Party Component](https://cwe.mitre.org/data/definitions/1395.html)\n- [CWE-1104: Use of Unmaintained Third Party Components](https://cwe.mitre.org/data/definitions/1104.html)\n\n### A04: Cryptographic Failures\n\n##### Was es ist\n\nFehler im Zusammenhang mit fehlender Kryptographie, unzureichend starker Kryptographie, Leaking von kryptographischen Schlüsseln und verwandten Fehlern.\n\n##### Auswirkungen auf das System\n\n- Offenlegung sensibler Daten (Passwörter, Kreditkarten, Gesundheitsdaten)\n- Man-in-the-Middle-Angriffe\n- Datenpanne durch schwache Verschlüsselung\n- Schlüssel-Kompromittierung mit systemweiter Exposition\n- Verstoß gegen regulatorische Compliance-Anforderungen (DSGVO, PCI DSS)\n\n##### Relevante CWEs\n\n- [CWE-327: Use of a Broken or Risky Cryptographic Algorithm](https://cwe.mitre.org/data/definitions/327.html)\n- [CWE-330: Use of Insufficiently Random Values](https://cwe.mitre.org/data/definitions/330.html)\n\n### A05: Injection\n\n##### Was es ist\n\nSystemschwachstellen, die es Angreifenden ermöglichen, Schadcode oder -befehle (SQL, NoSQL, OS-Befehle, LDAP usw.) in Programme einzuschleusen.\n\n##### Auswirkungen auf das System\n\n- Datenverlust oder -korruption durch SQL-Injection\n- Vollständige Datenbank-Kompromittierung\n- Server-Übernahme durch Command-Injection\n- Cross-Site-Scripting-(XSS)-Angriffe\n- Informationsoffenlegung\n- Denial of Service\n\n##### Relevante CWEs\n\n- [CWE-89: SQL Injection](https://cwe.mitre.org/data/definitions/89.html)\n- [CWE-78: OS Command Injection](https://cwe.mitre.org/data/definitions/78.html)\n\n### A06: Insecure Design\n\n##### Was es ist\n\nSchwächen im Design, die verschiedene Fehler repräsentieren – ausgedrückt als fehlendes oder unwirksames Kontrolldesign. Architekturelle Mängel statt Implementierungs-Bugs.\n\n##### Auswirkungen auf das System\n\n- Schwache Passwort-Reset-Flows\n- Fehlende Autorisierungsschritte\n- Fehlerhafte Business-Logik, die Umgehungen ermöglicht\n- Unzureichendes Threat Modeling, das blinde Flecken erzeugt\n- Design-Patterns, die unter Angriffsszenarien versagen\n\n##### Relevante CWEs\n\n- [CWE-209: Generation of Error Messages Containing Sensitive Information](https://cwe.mitre.org/data/definitions/209.html)\n- [CWE-522: Insufficiently Protected Credentials](https://cwe.mitre.org/data/definitions/522.html)\n- [CWE-656: Reliance on Security Through Obscurity](https://cwe.mitre.org/data/definitions/656.html)\n\n### A07: Authentication Failures\n\n##### Was es ist\n\nSchwachstellen, die es Angreifenden ermöglichen, Systeme dazu zu bringen, ungültige oder fehlerhafte Identitäten als legitim zu erkennen.\n\n##### Auswirkungen auf das System\n\n- Account-Übernahme und Credential Stuffing\n- Session Hijacking\n- Erfolgreiche Brute-Force-Angriffe\n- Ausnutzung schwacher Passwort-Recovery-Mechanismen\n- Multi-Faktor-Authentifizierungs-Bypass\n\n##### Relevante CWEs\n\n- [CWE-287: Improper Authentication](https://cwe.mitre.org/data/definitions/287.html)\n- [CWE-306: Missing Authentication for Critical Function](https://cwe.mitre.org/data/definitions/306.html)\n- [CWE-521: Weak Password Requirements](https://cwe.mitre.org/data/definitions/521.html)\n\n### A08: Software or Data Integrity Failures\n\n##### Was es ist\n\nCode und Infrastruktur, die nicht verhindern, dass ungültiger oder nicht vertrauenswürdiger Code/Daten als vertrauenswürdig und valide behandelt werden.\n\n##### Auswirkungen auf das System\n\n- Unsignierte Updates, die Schadcode-Injection ermöglichen\n- Insecure Deserialization, die zu Remote Code Execution führt\n- CI/CD-Pipeline-Kompromittierung\n- Ausnutzung von Auto-Update-Mechanismen\n- Manipulierte Software-Artefakte\n\n##### Relevante CWEs\n\n- [CWE-345: Insufficient Verification of Data Authenticity](https://cwe.mitre.org/data/definitions/345.html)\n- [CWE-346: Origin Validation Error](https://cwe.mitre.org/data/definitions/346.html)\n- [CWE-347: Improper Verification of Cryptographic Signature](https://cwe.mitre.org/data/definitions/347.html)\n\n### A09: Security Logging & Alerting Failures\n\n##### Was es ist\n\nUnzureichendes Logging und Monitoring mit inadäquatem Alerting, was schnelle Reaktion erschwert.\n\n##### Auswirkungen auf das System\n\n- Angriffe bleiben über längere Zeiträume unentdeckt\n- Breach-Investigation wird unmöglich\n- Compliance-Verstöße durch fehlende Audit-Trails\n- Verzögerte Incident-Response\n- Unfähigkeit, das Ausmaß einer Kompromittierung zu bestimmen\n\n##### Relevante CWEs\n\n- [CWE-117: Improper Output Neutralization for Logs](https://cwe.mitre.org/data/definitions/117.html)\n- [CWE-532: Insertion of Sensitive Information into Log File](https://cwe.mitre.org/data/definitions/532.html)\n- [CWE-778: Insufficient Logging](https://cwe.mitre.org/data/definitions/778.html)\n\n### A10: Mishandling of Exceptional Conditions\n\n##### Was es ist\n\nProgramme, die ungewöhnliche und unvorhersehbare Situationen nicht verhindern, erkennen und darauf reagieren – was zu Abstürzen, unerwartetem Verhalten oder Schwachstellen führt.\n\n##### Auswirkungen auf das System\n\n- Informationsoffenlegung durch zu detaillierte Fehlermeldungen\n- Denial of Service durch unbehandelte Exceptions\n- Zustandskorruption durch fehlerhafte Error-Behandlung\n- Ausnutzung von Race Conditions\n- Systeme, die bei Fehlern offen statt geschlossen schalten\n- Applikationsabstürze, die sensible Daten exponieren\n\n##### Relevante CWEs\n\n- [CWE-248: Uncaught Exception](https://cwe.mitre.org/data/definitions/248.html)\n- [CWE-390: Detection of Error Condition Without Action](https://cwe.mitre.org/data/definitions/390.html)\n- [CWE-391: Unchecked Error Condition](https://cwe.mitre.org/data/definitions/391.html)\n\n## Best Practices für Prävention und Remediation\n\nGitLab bietet Tools, die nicht nur das schnelle Finden und Beheben von Schwachstellen innerhalb der OWASP Top 10 ermöglichen, sondern auch deren Eintritt in das Production-System verhindern. Durch Befolgen dieser Best Practices lässt sich die Security-Posture verbessern und aufrechterhalten:\n\n#### Automatisiertes Security-Scanning für alle Repositories\n\n- [SAST-Scanning](https://docs.gitlab.com/user/application_security/sast/) durchführen, um unsichere Design-Patterns wie Klartext-Passwortspeicherung, inadäquates Error-Handling und fehlende Verschlüsselung während Code-Reviews zu erkennen – Design-Fehler werden früh im Entwicklungszyklus aufgefangen.\n- [Secret Detection](https://docs.gitlab.com/user/application_security/secret_detection/) durchführen, um Credentials in Konfigurationsdateien, Umgebungsvariablen und Code zu identifizieren – dies verhindert Klartext-Passwortspeicherung und stellt sicher, dass Secrets ordnungsgemäß über GitLab-CI/CD-Variablen mit Masking und Verschlüsselung verwaltet werden.\n- [DAST-Scanning](https://docs.gitlab.com/user/application_security/dast/) durchführen, um Broken-Access-Control-Schwachstellen zu erkennen.\n- [Dependency Scanning](https://docs.gitlab.com/user/application_security/dependency_scanning/) durchführen, um Projekt-Dependencies gegen Schwachstellen-Datenbanken zu scannen und bekannte CVEs in direkten und transitiven Dependencies über mehrere Package-Manager (npm, pip, Maven usw.) zu identifizieren.\n- [Container Scanning](https://docs.gitlab.com/user/application_security/container_scanning/) durchführen, um Docker-Images auf verwundbare Base-Layer und Packages zu analysieren und die Container-Supply-Chain-Sicherheit vor dem Deployment sicherzustellen.\n- [IaC-Scanning](https://docs.gitlab.com/user/application_security/iac_scanning/) durchführen, um Infrastruktur-Definitionsdateien auf bekannte Schwachstellen zu prüfen.\n- [API-Security-Tools](https://docs.gitlab.com/user/application_security/api_security/) nutzen, um Web-APIs vor unbefugtem Zugriff, Missbrauch und Angriffen zu schützen.\n- [Web API Fuzz Testing](https://docs.gitlab.com/user/application_security/api_fuzzing/) durchführen, um Bugs und potenzielle Schwachstellen zu entdecken, die andere QA-Prozesse übersehen könnten.\n\n![Security Results in MR](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767639431/zs6xh8hz6mud3vuig3dy.png)\n\u003Cp>\u003C/p>\n\u003Ccenter>\u003Ci>Erkannte Schwachstellen im MR mit Diff von Feature-Branch zu Main-Branch anzeigen.\u003C/i>\u003C/center>\n\n#### Die Security-Posture verstehen\n\n- Eine [Software Bill of Materials (SBOM)](https://docs.gitlab.com/user/application_security/dependency_list/) generieren für vollständige Dependency-Transparenz und Compliance-Anforderungen.\n- Den [Vulnerability Report](https://docs.gitlab.com/user/application_security/vulnerability_report/) nutzen, um Schwachstellen über eine konsolidierte Ansicht der im Codebase gefundenen Security-Vulnerabilities zu triagieren.\n- Mit [detaillierter Remediation-Anleitung](https://docs.gitlab.com/user/application_security/vulnerabilities/) und [Risk-Assessment-Daten](https://docs.gitlab.com/user/application_security/vulnerabilities/risk_assessment_data/) schnell auf Schwachstellen reagieren.\n- [Security Inventory](https://docs.gitlab.com/user/application_security/security_inventory/) nutzen, um zu visualisieren, welche Assets geschützt werden müssen und welche Maßnahmen zur Verbesserung der Sicherheit erforderlich sind.\n- [Compliance Center](https://docs.gitlab.com/user/compliance/compliance_center/) nutzen, um Compliance-Standards-Adherence-Reporting, Violations-Reporting und Compliance-Frameworks zu verwalten.\n\n![Security Inventory](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767639429/e9vnakc8yiyjbjm8aj7s.png)\n\u003Cp>\u003C/p>\n\u003Ccenter>\u003Ci>Security Inventory nutzen, um aktivierte Security-Scanner und Schwachstellen einzusehen.\u003C/i>\u003C/center>\n\n#### Prävention einrichten und Dokumentation pflegen\n\n- [Security Policies](https://docs.gitlab.com/user/application_security/policies/) konfigurieren, um Merges oder Deployments zu blockieren, wenn hochgradig kritische Schwachstellen in Dependencies erkannt werden – Security-Standards werden automatisch durchgesetzt.\n- [Compliance Frameworks](https://docs.gitlab.com/user/compliance/compliance_frameworks/) nutzen, um organisationsweite Security-Standards durch automatisierte Policy-Checks durchzusetzen, die Verschlüsselungsanforderungen, Credential-Management-Praktiken und sichere Workflow-Implementierungen verifizieren.\n- GitLab Wiki und Repository-Dokumentation nutzen, um Security-Design-Prinzipien, genehmigte Patterns und Architectural Decision Records zu pflegen, die Entwicklungsteams zu [Secure-by-Design-Implementierungen](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) anleiten.\n- Merge-Request-Approval-Rules implementieren, die ein Security-Architect-Review für Features erfordern, die Authentication, Authorization, Verschlüsselung oder sensible Datenverarbeitung betreffen – so wird Security-Validierung auf Design-Ebene sichergestellt.\n- Tests erstellen, um Input-Validation und Allowlist-Ansätze für Dateipfade zu verifizieren.\n- GitLab Issues und Epics nutzen, um Security-Anforderungen und Threat Models in der Design-Phase zu dokumentieren – dies schafft eine nachvollziehbare Aufzeichnung von Security-Entscheidungen und stellt sicher, dass Security-Überlegungen vor Implementierungsbeginn adressiert werden.\n\n![Security Policy Dashboard](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767639429/q4eelq3rqt0oonzhwoyb.png)\n\u003Ccenter>\u003Ci>Security Policies auf Instanz-, Gruppen- oder Projektebene anzeigen und festlegen.\u003C/i>\u003C/center>\n\n#### KI nutzen\n\n- [Code Suggestions](https://docs.gitlab.com/user/project/repository/code_suggestions/) für proaktive Guidance während der Entwicklung nutzen – mit Vorschlägen für sichere Design-Patterns wie korrektes Password-Hashing (bcrypt, Argon2), verschlüsselte Speichermechanismen und angemessenes Error-Handling, das keine sensiblen Informationen preisgibt.\n- [Security Analyst Agent](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/security_analyst_agent/) nutzen, um erkannte Insecure-Design-Schwachstellen im Kontext zu bewerten – mit Erklärung der architekturellen Implikationen, Risikobewertung basierend auf dem Threat Model der Applikation und Remediation-Strategien, die grundlegende Design-Fehler statt nur Symptome adressieren.\n- [Code mit KI reviewen lassen](https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#have-gitlab-duo-review-your-code), um konsistente Code-Review-Standards im Projekt sicherzustellen.\n\n![GitLab Security Analyst Agent](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767639430/kqvgagepwleabt5zdkco.png)\n\u003Cp>\u003C/p>\n\u003Ccenter>\u003Ci>Security Analyst Agent nutzen, um Security-Schwachstellen schnell zu triagieren und zu bewerten.\u003C/i>\u003C/center>\n\n## Kernaussagen für Entwicklungsteams\n\n- **Supply-Chain-Sicherheit ist entscheidend**: Mit der Aufnahme von A03 und den hohen Impact-Scores ist die Absicherung der Software-Supply-Chain keine Option mehr. SBOM-Tracking, Dependency-Scanning und Integritätsprüfung sollten durchgängig in der Pipeline implementiert werden.\n- **Konfiguration ist wichtiger denn je**: Der Aufstieg auf #2 zeigt, dass konfigurationsbasierte Sicherheit nun ein primärer Angriffsvektor ist. Konfigurationsverifizierung automatisieren und IaC mit integrierter Security implementieren.\n- **Traditionelle Bedrohungen bestehen fort**: Obwohl Injection und Cryptographic Failures im Ranking gefallen sind, bleiben sie kritisch. Die Priorisierung nicht reduzieren, nur weil sie in der Liste gefallen sind.\n- **Error-Handling ist Security**: Die neue A10-Kategorie unterstreicht, dass der Umgang der Applikation mit Fehlern ein Security-Thema ist. Sicheres Error-Handling von Beginn an implementieren.\n- **Testing muss sich weiterentwickeln**: Die erweiterte CWE-Abdeckung (589 vs. 400 in 2021) bedeutet, dass Testing-Strategien umfassend sein müssen. SAST, DAST, Quellcode-Analyse und manuelles Penetration-Testing für effektive Abdeckung kombinieren.\n\n> Die [GitLab Security and Governance Solutions](https://about.gitlab.com/de-de/solutions/application-security-testing/) und die [Security-Scanning-Dokumentation](https://docs.gitlab.com/ee/user/application_security/) bieten weitere Informationen zur Stärkung der Security-Posture.\n",{"slug":1153,"featured":646,"template":785},"2025-owasp-top-10-whats-changed-and-why-it-matters",{"content":1155,"config":1162},{"title":1156,"description":1157,"authors":1158,"heroImage":1160,"date":941,"body":1161,"category":759},"SSO und SCIM mit Azure Entra ID – Zentralisiertes Identity-Management","Single Sign-On und SCIM-Benutzerbereitstellung einrichten – SAML-Konfiguration für GitLab mit Azure Entra ID.",[1159],"Rob Jackson","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098047/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1097303277_6gTk7M1DNx0tFuovupVFB1_1750098046895.jpg","Mit wachsender Unternehmensgröße wird es zunehmend schwierig und kritisch, sicherzustellen, dass die richtigen Teammitglieder Zugriff auf die richtigen Gruppen und Projekte haben. GitLab bietet leistungsstarke Methoden zur Zugriffsverwaltung, insbesondere mit [Custom Roles](https://about.gitlab.com/blog/how-to-tailor-gitlab-access-with-custom-roles/). Die manuelle Verwaltung über eine Benutzeroberfläche kann jedoch bei großem Umfang frustrierend sein. Security Assertion Markup Language (SAML) und System for Cross-domain Identity Management (SCIM) bieten eine Lösung.\n\n\n## Was SSO und SCIM bieten\n\n\n**Single Sign-On (SSO) mit SAML** ermöglicht Benutzern, sich einmal bei einem zentralen Identity Provider – wie Azure Entra ID – zu authentifizieren und dann auf mehrere verbundene Anwendungen zuzugreifen, ohne erneute Anmeldung. **SCIM** automatisiert die Benutzerverwaltung: Wenn Benutzer im Identity Provider erstellt, Gruppen zugewiesen oder deaktiviert werden, synchronisiert SCIM diese Änderungen automatisch mit GitLab – einschließlich Berechtigungen basierend auf Gruppenmitgliedschaften.\n\n\n### Vorteile für Unternehmen\n\n\n**Sicherheit:** Zentralisierte Authentifizierung reduziert Passwort-Müdigkeit und Credential-Stuffing-Risiken. Multi-Faktor-Authentifizierung lässt sich auf Identity-Provider-Ebene erzwingen und gilt automatisch für alle verbundenen Anwendungen. Wenn ein Benutzer das Unternehmen verlässt, entfernt die Deaktivierung im Identity Provider sofort den Zugriff auf alle Systeme.\n\n\n**Effizienz:** Automatisierte Benutzerbereitstellung reduziert Onboarding-Zeit von Stunden auf Minuten. Gruppenmitgliedschaften in Azure Entra ID synchronisieren automatisch mit GitLab-Berechtigungen. Identitäten werden einmal im Identity Provider verwaltet und propagieren automatisch – kein manuelles Erstellen, Aktualisieren oder Löschen von Konten in jeder Anwendung erforderlich.\n\n\n**Compliance:** Zentralisiertes Identity-Management mit SSO und SCIM unterstützt Zugriffskontroll-Anforderungen aus Frameworks wie NIS2 (Artikel 21.2(i,j) Zugriffskontrolle und Multi-Faktor-Authentifizierung), ISO 27001 (A.5.15-17 Identitätsverwaltung) und BSI IT-Grundschutz (ORP.4). SSO-Authentifizierungs-Logs bieten zentralisierte Aufzeichnungen für GDPR-Artikel-30-Verarbeitungsdokumentation und Incident-Response.\n\n\n## Implementierung\n\n\nDie Konfiguration von GitLab Single Sign-On mit SAML und SCIM erfordert:\n\n\n- Azure Entra ID Tenant mit Administrator-Zugriff\n\n- GitLab Premium oder Ultimate mit Top-Level-Gruppe\n\n- Konfiguration auf beiden Plattformen (Parameter-Austausch, Attribut-Mappings, SCIM-Token)\n\n\n**Vollständige Schritt-für-Schritt-Anleitung:**\n\n\n→ [How-to: GitLab Single Sign-on with SAML, SCIM and Azure's Entra ID](https://about.gitlab.com/blog/how-to-gitlab-single-sign-on-with-saml-scim-and-azures-entra-id/)\n\n\nDie englische Anleitung bietet:\n\n\n- 15 detaillierte UI-Screenshots für Azure Entra ID und GitLab\n\n- Vollständige Attribut-Mapping-Tabellen (SAML Claims, SCIM Provisioning)\n\n- Parameter-Austausch zwischen Plattformen (Identifier, Reply URL, Certificate, SCIM Token)\n\n- Fehlerbehebung für häufige Probleme (Email-Attribut-Fehler, NameID-Mismatch)\n\n\n**Kostenlose Testversionen:** [Azure Entra ID](https://azure.microsoft.com/de-de/free/) | [GitLab](https://about.gitlab.com/free-trial/devsecops/)\n\n\n## Weiterführende Informationen\n\n\n- [The ultimate guide to enabling SAML and SSO on GitLab.com](https://about.gitlab.com/blog/the-ultimate-guide-to-enabling-saml/)\n\n- [SAML SSO for GitLab.com groups documentation](https://docs.gitlab.com/ee/user/group/saml_sso/)\n",{"slug":1163,"featured":646,"template":785},"how-to-gitlab-single-sign-on-with-saml-scim-and-azures-entra-id",{"content":1165,"config":1168},{"title":820,"description":821,"heroImage":822,"authors":1166,"date":825,"body":826,"category":658,"tags":1167},[824],[778,759],{"featured":13,"template":785,"slug":829},[1170,1175,1180],{"content":1171,"config":1174},{"title":1055,"description":1056,"authors":1172,"heroImage":1059,"date":1060,"body":1061,"category":735,"tags":1173,"updatedDate":1060},[1058],[1063,918],{"slug":1065,"featured":646,"template":785},{"content":1176,"config":1179},{"title":1017,"description":1018,"authors":1177,"heroImage":1021,"date":837,"body":1022,"category":722,"tags":1178},[1020],[699,722,258],{"featured":646,"template":785,"slug":1025},{"content":1181,"config":1184},{"title":832,"description":833,"authors":1182,"heroImage":836,"date":837,"body":838,"category":658,"tags":1183},[835],[747,778,780],{"featured":646,"template":785,"slug":841},[1186,1191,1196],{"content":1187,"config":1190},{"title":1095,"description":1096,"authors":1188,"heroImage":1099,"body":1100,"date":861,"category":747,"tags":1189},[1098],[89,747,780],{"featured":13,"template":785,"slug":1103},{"content":1192,"config":1195},{"title":868,"description":869,"heroImage":870,"authors":1193,"date":847,"body":873,"category":671,"tags":1194},[872],[747],{"featured":646,"template":785,"slug":876},{"content":1197,"config":1199},{"title":844,"description":845,"heroImage":846,"date":847,"body":848,"category":658,"tags":1198},[778,747],{"featured":646,"template":785,"slug":851},1772652055918]