[{"data":1,"prerenderedAt":922},["ShallowReactive",2],{"/blog/why-ship-on-premises-in-the-saas-era":3,"navigation-en-us":136,"banner-en-us":564,"footer-en-us":574,"blog-post-authors-en-us-Haydn Mackay":818,"blog-related-posts-en-us-why-ship-on-premises-in-the-saas-era":833,"blog-promotions-en-us":858,"next-steps-en-us":912},{"id":4,"title":5,"authors":6,"body":8,"category":106,"date":107,"description":108,"extension":109,"externalUrl":110,"faq":110,"featured":111,"heroImage":112,"meta":113,"navigation":126,"path":127,"seo":128,"slug":132,"stem":133,"tags":110,"template":134,"updatedDate":110,"__hash__":135},"blogPosts/en-us/blog/why-ship-on-premises-in-the-saas-era.md","Why deploy on-premises in the SaaS era?",[7],"Haydn Mackay",{"type":9,"value":10,"toc":95},"minimark",[11,28,31,36,45,49,52,60,64,67,71,74,78,81,85,88,92],[12,13,14,15,21,22,27],"p",{},"When I started in the software industry 10 years ago the idea of\nputting your company's crown jewels (source code) on someone else's\ninfrastructure was preposterous. It was typically the domain of\nopen-source projects or hobby programmers looking to avoid server\nmanagement, taking backups, etc. Although some services have been\naround since the late 90's it wasn't until the ",[16,17,20],"a",{"href":18,"rel":19},"http://en.wikipedia.org/wiki/Comparison_of_source_code_software_hosting_facilities",[],"second half of the last\ndecade"," that 3rd party code hosting became more acceptable, especially\namong SME's. There's been a ",[16,23,26],{"href":24,"rel":25},"http://blog.profitbricks.com/top-source-code-repository-hosts/",[],"proliferation of providers"," in the space since.",[12,29,30],{},"The advantages of SaaS over on-premises deployments has been written\nabout ad nauseam and there's certainly good reasons why but let's take\na moment to highlight some of the reasons why on-premises is not such a\nbad idea after all.",[32,33,35],"h2",{"id":34},"containment","Containment",[12,37,38,39,44],{},"Firewalls exist to protect private networks from unauthorized access.\nContaining your companies IP to within their own network puts the\nsecurity onus squarely on them and they can lock it down like Fort Knox\nshould they wish. Let's not forget what ",[16,40,43],{"href":41,"rel":42},"http://www.infoworld.com/article/2608076/data-center/murder-in-the-amazon-cloud.html",[],"happened to poor old Code\nSpace",". Lots of lessons learned after the attack but with a hosting\nprovider you're still putting the kids in someone else's car and you're\nnot driving.",[32,46,48],{"id":47},"integrations-ldap-ad-and-others","Integrations – LDAP / AD and others",[12,50,51],{},"Managing permissions and access controls to code repositories is an\nimportant responsibility. Having the ability to authenticate users\nagainst an LDAP or Active Directory server makes this task less\ndaunting because they contain the single source of truth about an\nemployee's status. Furthermore, synchronizing LDAP and AD groups to your\ndevelopment project groups automates access controls by ensuring up to\ndate visibility levels. Using a multi tenant hosting provider makes\nauthentication against LDAP and AD servers impossible.",[12,53,54,55,59],{},"On premise servers are also much more conducive to integrating with\nother tools in your CD pipeline such as ALM, PLM, ",[16,56,58],{"href":57},"/solutions/agile-delivery/","Agile"," and Automation\ntools. Hosted services usually provide a small selection of  tool\nintegrations to choose from and API access is limited or nonexistent.",[32,61,63],{"id":62},"control","Control",[12,65,66],{},"There's something to be said about knowing where your code is stored,\nhow it's backed-up, which servers are managing the repositories and\nwhat the failover plan is. Being at the mercy of your hosting provider\nreduces that level of control and introduces a new level of risk.\nAlthough unscheduled downtime of hosted services is few and far\nbetween, it still happens and when it does, thousands of developers are\nleft twiddling their thumbs. Most large development organizations are\nspread across multiple time zones and scheduling maintenance windows\ncan be tricky. With an on premise server, you're in control of these\nwindows.",[32,68,70],{"id":69},"performance","Performance",[12,72,73],{},"I've seen hundreds of RFP's over the years and every one of them\nincluded a section on performance. Performance is one of the biggest\ndrivers behind a migration off legacy systems after all. Having your\nrepositories in a data center that's local to your developers reduces\nlatency, speeding up push / pull times and especially initial clone\ntimes.  As repositories grow large, latency exacerbates performance\ndegradation making on-prem servers more conducive to big code bases.",[32,75,77],{"id":76},"choice-and-flexibility","Choice and Flexibility",[12,79,80],{},"On-premises deployments can be installed on physical servers,\nvirtualized servers (dedicated or shared), purpose-built appliances and\nvirtualized appliances. These aren't available with hosted solutions.\nLikewise, most on-premises servers can be deployed on a variety of\noperating systems and there's more choice of on-premises solutions in\ngeneral.",[32,82,84],{"id":83},"retrieval","Retrieval",[12,86,87],{},"Getting your IP back from cloud vendors that store data in proprietary formats can be a costly and lengthy process. No such trouble with on-premises.",[32,89,91],{"id":90},"conclusion","Conclusion",[12,93,94],{},"Although there's plenty of good reasons for using a hosted solution,\nthe advantages of on-premises deployments should not be overlooked.\nGitLab is the most adopted on-premises solution for developer\ncollaboration, deployed at over 100,000 organizations worldwide.",{"title":96,"searchDepth":97,"depth":97,"links":98},"",2,[99,100,101,102,103,104,105],{"id":34,"depth":97,"text":35},{"id":47,"depth":97,"text":48},{"id":62,"depth":97,"text":63},{"id":69,"depth":97,"text":70},{"id":76,"depth":97,"text":77},{"id":83,"depth":97,"text":84},{"id":90,"depth":97,"text":91},"insights","2015-02-12","Take a moment to view some highlights of the reasons why deploying on-premises in SAAS era is not such a bad idea after all.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684779/Blog/Hero%20Images/on_premises.jpg",{"excerpt":114},{"type":9,"value":115},[116,124],[12,117,14,118,21,121,27],{},[16,119,20],{"href":18,"rel":120},[],[16,122,26],{"href":24,"rel":123},[],[12,125,30],{},true,"/en-us/blog/why-ship-on-premises-in-the-saas-era",{"title":5,"description":108,"ogTitle":5,"ogDescription":108,"noIndex":111,"ogImage":112,"ogUrl":129,"ogSiteName":130,"ogType":131,"canonicalUrls":129},"https://about.gitlab.com/blog/why-ship-on-premises-in-the-saas-era","https://about.gitlab.com","article","why-ship-on-premises-in-the-saas-era","en-us/blog/why-ship-on-premises-in-the-saas-era","BlogPost","NEKF48Xp3XJWSI6Aij2A2jR4k7l3J2ZstKqhhQkyaj4",{"logo":137,"freeTrial":142,"sales":147,"login":152,"items":157,"search":484,"minimal":515,"duo":534,"switchNav":543,"pricingDeployment":554},{"config":138},{"href":139,"dataGaName":140,"dataGaLocation":141},"/","gitlab logo","header",{"text":143,"config":144},"Get free trial",{"href":145,"dataGaName":146,"dataGaLocation":141},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":148,"config":149},"Request a demo",{"href":150,"dataGaName":151,"dataGaLocation":141},"/sales/?contact-topic=request-demo","sales",{"text":153,"config":154},"Sign in",{"href":155,"dataGaName":156,"dataGaLocation":141},"https://gitlab.com/users/sign_in/","sign in",[158,187,287,292,406,462],{"text":159,"config":160,"menu":162},"Platform",{"dataNavLevelOne":161},"platform",{"type":163,"columns":164},"cards",[165,171,179],{"title":159,"description":166,"link":167},"The intelligent orchestration platform for DevSecOps",{"text":168,"config":169},"Explore our Platform",{"href":170,"dataGaName":161,"dataGaLocation":141},"/platform/",{"title":172,"description":173,"link":174},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":175,"config":176},"Meet GitLab Duo",{"href":177,"dataGaName":178,"dataGaLocation":141},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":180,"description":181,"link":182},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":183,"config":184},"Learn more",{"href":185,"dataGaName":186,"dataGaLocation":141},"/why-gitlab/","why gitlab",{"text":188,"left":126,"config":189,"menu":191},"Product",{"dataNavLevelOne":190},"solutions",{"type":192,"link":193,"columns":197,"feature":266},"lists",{"text":194,"config":195},"View all Solutions",{"href":196,"dataGaName":190,"dataGaLocation":141},"/solutions/",[198,222,245],{"title":199,"description":200,"link":201,"items":206},"Automation","CI/CD and automation to accelerate deployment",{"config":202},{"icon":203,"href":204,"dataGaName":205,"dataGaLocation":141},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[207,211,214,218],{"text":208,"config":209},"CI/CD",{"href":210,"dataGaLocation":141,"dataGaName":208},"/solutions/continuous-integration/",{"text":172,"config":212},{"href":177,"dataGaLocation":141,"dataGaName":213},"gitlab duo agent platform - product menu",{"text":215,"config":216},"Source Code Management",{"href":217,"dataGaLocation":141,"dataGaName":215},"/solutions/source-code-management/",{"text":219,"config":220},"Automated Software Delivery",{"href":204,"dataGaLocation":141,"dataGaName":221},"Automated software delivery",{"title":223,"description":224,"link":225,"items":230},"Security","Deliver code faster without compromising security",{"config":226},{"href":227,"dataGaName":228,"dataGaLocation":141,"icon":229},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[231,235,240],{"text":232,"config":233},"Application Security Testing",{"href":227,"dataGaName":234,"dataGaLocation":141},"Application security testing",{"text":236,"config":237},"Software Supply Chain Security",{"href":238,"dataGaLocation":141,"dataGaName":239},"/solutions/supply-chain/","Software supply chain security",{"text":241,"config":242},"Software Compliance",{"href":243,"dataGaName":244,"dataGaLocation":141},"/solutions/software-compliance/","software compliance",{"title":246,"link":247,"items":252},"Measurement",{"config":248},{"icon":249,"href":250,"dataGaName":251,"dataGaLocation":141},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[253,257,261],{"text":254,"config":255},"Visibility & Measurement",{"href":250,"dataGaLocation":141,"dataGaName":256},"Visibility and Measurement",{"text":258,"config":259},"Value Stream Management",{"href":260,"dataGaLocation":141,"dataGaName":258},"/solutions/value-stream-management/",{"text":262,"config":263},"Analytics & Insights",{"href":264,"dataGaLocation":141,"dataGaName":265},"/solutions/analytics-and-insights/","Analytics and insights",{"title":267,"type":192,"items":268},"GitLab for",[269,275,281],{"text":270,"config":271},"Enterprise",{"icon":272,"href":273,"dataGaLocation":141,"dataGaName":274},"Building","/enterprise/","enterprise",{"text":276,"config":277},"Small Business",{"icon":278,"href":279,"dataGaLocation":141,"dataGaName":280},"Work","/small-business/","small business",{"text":282,"config":283},"Public Sector",{"icon":284,"href":285,"dataGaLocation":141,"dataGaName":286},"Organization","/solutions/public-sector/","public sector",{"text":288,"config":289},"Pricing",{"href":290,"dataGaName":291,"dataGaLocation":141,"dataNavLevelOne":291},"/pricing/","pricing",{"text":293,"config":294,"menu":296},"Resources",{"dataNavLevelOne":295},"resources",{"type":192,"link":297,"columns":301,"feature":395},{"text":298,"config":299},"View all resources",{"href":300,"dataGaName":295,"dataGaLocation":141},"/resources/",[302,335,362],{"title":303,"items":304},"Getting started",[305,310,315,320,325,330],{"text":306,"config":307},"Install",{"href":308,"dataGaName":309,"dataGaLocation":141},"/install/","install",{"text":311,"config":312},"Quick start guides",{"href":313,"dataGaName":314,"dataGaLocation":141},"/get-started/","quick setup checklists",{"text":316,"config":317},"Learn",{"href":318,"dataGaLocation":141,"dataGaName":319},"https://university.gitlab.com/","learn",{"text":321,"config":322},"Product documentation",{"href":323,"dataGaName":324,"dataGaLocation":141},"https://docs.gitlab.com/","product documentation",{"text":326,"config":327},"Best practice videos",{"href":328,"dataGaName":329,"dataGaLocation":141},"/getting-started-videos/","best practice videos",{"text":331,"config":332},"Integrations",{"href":333,"dataGaName":334,"dataGaLocation":141},"/integrations/","integrations",{"title":336,"items":337},"Discover",[338,343,348,353,357],{"text":339,"config":340},"Customer success stories",{"href":341,"dataGaName":342,"dataGaLocation":141},"/customers/","customer success stories",{"text":344,"config":345},"Blog",{"href":346,"dataGaName":347,"dataGaLocation":141},"/blog/","blog",{"text":349,"config":350},"Demo Hub",{"href":351,"dataGaName":352,"dataGaLocation":141},"/demo-hub/","demo hub",{"text":354,"config":355},"The Source",{"href":356,"dataGaName":347,"dataGaLocation":141},"/the-source/",{"text":358,"config":359},"Remote",{"href":360,"dataGaName":361,"dataGaLocation":141},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":363,"items":364},"Connect",[365,370,375,380,385,390],{"text":366,"config":367},"GitLab Services",{"href":368,"dataGaName":369,"dataGaLocation":141},"/services/","services",{"text":371,"config":372},"Contribute",{"href":373,"dataGaName":374,"dataGaLocation":141},"https://contributors.gitlab.com","contribute",{"text":376,"config":377},"Community",{"href":378,"dataGaName":379,"dataGaLocation":141},"/community/","community",{"text":381,"config":382},"Forum",{"href":383,"dataGaName":384,"dataGaLocation":141},"https://forum.gitlab.com/","forum",{"text":386,"config":387},"Events",{"href":388,"dataGaName":389,"dataGaLocation":141},"/events/","events",{"text":391,"config":392},"Partners",{"href":393,"dataGaName":394,"dataGaLocation":141},"/partners/","partners",{"config":396,"title":399,"text":400,"link":401},{"background":397,"textColor":398},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":402,"config":403},"Read the latest",{"href":404,"dataGaName":405,"dataGaLocation":141},"/whats-new/","whats new",{"text":407,"config":408,"menu":410},"Company",{"dataNavLevelOne":409},"company",{"type":192,"columns":411},[412],{"items":413},[414,419,425,427,432,437,442,447,452,457],{"text":415,"config":416},"About",{"href":417,"dataGaName":418,"dataGaLocation":141},"/company/","about",{"text":420,"config":421,"footerGa":424},"Jobs",{"href":422,"dataGaName":423,"dataGaLocation":141},"/jobs/","jobs",{"dataGaName":423},{"text":386,"config":426},{"href":388,"dataGaName":389,"dataGaLocation":141},{"text":428,"config":429},"Leadership",{"href":430,"dataGaName":431,"dataGaLocation":141},"/company/team/e-group/","leadership",{"text":433,"config":434},"Handbook",{"href":435,"dataGaName":436,"dataGaLocation":141},"https://handbook.gitlab.com/","handbook",{"text":438,"config":439},"Investor relations",{"href":440,"dataGaName":441,"dataGaLocation":141},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":443,"config":444},"Trust Center",{"href":445,"dataGaName":446,"dataGaLocation":141},"/security/","trust center",{"text":448,"config":449},"AI Transparency Center",{"href":450,"dataGaName":451,"dataGaLocation":141},"/ai-transparency-center/","ai transparency center",{"text":453,"config":454},"Newsletter",{"href":455,"dataGaName":456,"dataGaLocation":141},"/company/contact/#contact-forms","newsletter",{"text":458,"config":459},"Press",{"href":460,"dataGaName":461,"dataGaLocation":141},"/press/","press",{"text":463,"config":464,"menu":465},"Contact us",{"dataNavLevelOne":409},{"type":192,"columns":466},[467],{"items":468},[469,474,479],{"text":470,"config":471},"Talk to sales",{"href":472,"dataGaName":473,"dataGaLocation":141},"/sales/","talk to sales",{"text":475,"config":476},"Support portal",{"href":477,"dataGaName":478,"dataGaLocation":141},"https://support.gitlab.com/hc/en-us","support portal",{"text":480,"config":481},"Customer portal",{"href":482,"dataGaName":483,"dataGaLocation":141},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":485,"login":486,"suggestions":493},"Close",{"text":487,"link":488},"To search repositories and projects, login to",{"text":489,"config":490},"gitlab.com",{"href":155,"dataGaName":491,"dataGaLocation":492},"search login","search",{"text":494,"default":495},"Suggestions",[496,498,502,504,508,512],{"text":172,"config":497},{"href":177,"dataGaName":172,"dataGaLocation":492},{"text":499,"config":500},"Code Suggestions (AI)",{"href":501,"dataGaName":499,"dataGaLocation":492},"/solutions/code-suggestions/",{"text":208,"config":503},{"href":210,"dataGaName":208,"dataGaLocation":492},{"text":505,"config":506},"GitLab on AWS",{"href":507,"dataGaName":505,"dataGaLocation":492},"/partners/technology-partners/aws/",{"text":509,"config":510},"GitLab on Google Cloud",{"href":511,"dataGaName":509,"dataGaLocation":492},"/partners/technology-partners/google-cloud-platform/",{"text":513,"config":514},"Why GitLab?",{"href":185,"dataGaName":513,"dataGaLocation":492},{"freeTrial":516,"mobileIcon":521,"desktopIcon":526,"secondaryButton":529},{"text":517,"config":518},"Start free trial",{"href":519,"dataGaName":146,"dataGaLocation":520},"https://gitlab.com/-/trials/new/","nav",{"altText":522,"config":523},"Gitlab Icon",{"src":524,"dataGaName":525,"dataGaLocation":520},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":522,"config":527},{"src":528,"dataGaName":525,"dataGaLocation":520},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":530,"config":531},"Get Started",{"href":532,"dataGaName":533,"dataGaLocation":520},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":535,"mobileIcon":539,"desktopIcon":541},{"text":536,"config":537},"Learn more about GitLab Duo",{"href":177,"dataGaName":538,"dataGaLocation":520},"gitlab duo",{"altText":522,"config":540},{"src":524,"dataGaName":525,"dataGaLocation":520},{"altText":522,"config":542},{"src":528,"dataGaName":525,"dataGaLocation":520},{"button":544,"mobileIcon":549,"desktopIcon":551},{"text":545,"config":546},"/switch",{"href":547,"dataGaName":548,"dataGaLocation":520},"#contact","switch",{"altText":522,"config":550},{"src":524,"dataGaName":525,"dataGaLocation":520},{"altText":522,"config":552},{"src":553,"dataGaName":525,"dataGaLocation":520},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":555,"mobileIcon":560,"desktopIcon":562},{"text":556,"config":557},"Back to pricing",{"href":290,"dataGaName":558,"dataGaLocation":520,"icon":559},"back to pricing","GoBack",{"altText":522,"config":561},{"src":524,"dataGaName":525,"dataGaLocation":520},{"altText":522,"config":563},{"src":528,"dataGaName":525,"dataGaLocation":520},{"title":565,"titleMobile":566,"button":567,"config":572},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":183,"config":568},{"href":569,"dataGaName":570,"dataGaLocation":571},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":573,"disabled":111},"release",{"data":575},{"text":576,"source":577,"edit":583,"contribute":588,"config":593,"items":598,"minimal":807},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":578,"config":579},"View page source",{"href":580,"dataGaName":581,"dataGaLocation":582},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":584,"config":585},"Edit this page",{"href":586,"dataGaName":587,"dataGaLocation":582},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":589,"config":590},"Please contribute",{"href":591,"dataGaName":592,"dataGaLocation":582},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":594,"facebook":595,"youtube":596,"linkedin":597},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[599,646,700,743,775],{"title":288,"links":600,"subMenu":615},[601,605,610],{"text":602,"config":603},"View plans",{"href":290,"dataGaName":604,"dataGaLocation":582},"view plans",{"text":606,"config":607},"Why Premium?",{"href":608,"dataGaName":609,"dataGaLocation":582},"/pricing/premium/","why premium",{"text":611,"config":612},"Why Ultimate?",{"href":613,"dataGaName":614,"dataGaLocation":582},"/pricing/ultimate/","why ultimate",[616],{"title":617,"links":618},"Contact Us",[619,622,624,626,631,636,641],{"text":620,"config":621},"Contact sales",{"href":472,"dataGaName":151,"dataGaLocation":582},{"text":475,"config":623},{"href":477,"dataGaName":478,"dataGaLocation":582},{"text":480,"config":625},{"href":482,"dataGaName":483,"dataGaLocation":582},{"text":627,"config":628},"Status",{"href":629,"dataGaName":630,"dataGaLocation":582},"https://status.gitlab.com/","status",{"text":632,"config":633},"Terms of use",{"href":634,"dataGaName":635,"dataGaLocation":582},"/terms/","terms of use",{"text":637,"config":638},"Privacy statement",{"href":639,"dataGaName":640,"dataGaLocation":582},"/privacy/","privacy statement",{"text":642,"config":643},"Cookie preferences",{"dataGaName":644,"dataGaLocation":582,"id":645,"isOneTrustButton":126},"cookie preferences","ot-sdk-btn",{"title":188,"links":647,"subMenu":656},[648,652],{"text":649,"config":650},"DevSecOps platform",{"href":170,"dataGaName":651,"dataGaLocation":582},"devsecops platform",{"text":653,"config":654},"AI-Assisted Development",{"href":177,"dataGaName":655,"dataGaLocation":582},"ai-assisted development",[657],{"title":658,"links":659},"Topics",[660,665,670,675,680,685,690,695],{"text":661,"config":662},"CICD",{"href":663,"dataGaName":664,"dataGaLocation":582},"/topics/ci-cd/","cicd",{"text":666,"config":667},"GitOps",{"href":668,"dataGaName":669,"dataGaLocation":582},"/topics/gitops/","gitops",{"text":671,"config":672},"DevOps",{"href":673,"dataGaName":674,"dataGaLocation":582},"/topics/devops/","devops",{"text":676,"config":677},"Version Control",{"href":678,"dataGaName":679,"dataGaLocation":582},"/topics/version-control/","version control",{"text":681,"config":682},"DevSecOps",{"href":683,"dataGaName":684,"dataGaLocation":582},"/topics/devsecops/","devsecops",{"text":686,"config":687},"Cloud Native",{"href":688,"dataGaName":689,"dataGaLocation":582},"/topics/cloud-native/","cloud native",{"text":691,"config":692},"AI for Coding",{"href":693,"dataGaName":694,"dataGaLocation":582},"/topics/devops/ai-for-coding/","ai for coding",{"text":696,"config":697},"Agentic AI",{"href":698,"dataGaName":699,"dataGaLocation":582},"/topics/agentic-ai/","agentic ai",{"title":701,"links":702},"Solutions",[703,705,707,711,715,718,722,725,727,730,733,738],{"text":232,"config":704},{"href":227,"dataGaName":232,"dataGaLocation":582},{"text":221,"config":706},{"href":204,"dataGaName":205,"dataGaLocation":582},{"text":708,"config":709},"Agile development",{"href":57,"dataGaName":710,"dataGaLocation":582},"agile delivery",{"text":712,"config":713},"SCM",{"href":217,"dataGaName":714,"dataGaLocation":582},"source code management",{"text":661,"config":716},{"href":210,"dataGaName":717,"dataGaLocation":582},"continuous integration & delivery",{"text":719,"config":720},"Value stream management",{"href":260,"dataGaName":721,"dataGaLocation":582},"value stream management",{"text":666,"config":723},{"href":724,"dataGaName":669,"dataGaLocation":582},"/solutions/gitops/",{"text":270,"config":726},{"href":273,"dataGaName":274,"dataGaLocation":582},{"text":728,"config":729},"Small business",{"href":279,"dataGaName":280,"dataGaLocation":582},{"text":731,"config":732},"Public sector",{"href":285,"dataGaName":286,"dataGaLocation":582},{"text":734,"config":735},"Education",{"href":736,"dataGaName":737,"dataGaLocation":582},"/solutions/education/","education",{"text":739,"config":740},"Financial services",{"href":741,"dataGaName":742,"dataGaLocation":582},"/solutions/finance/","financial services",{"title":293,"links":744},[745,747,749,751,754,756,759,761,763,765,767,769,771,773],{"text":306,"config":746},{"href":308,"dataGaName":309,"dataGaLocation":582},{"text":311,"config":748},{"href":313,"dataGaName":314,"dataGaLocation":582},{"text":316,"config":750},{"href":318,"dataGaName":319,"dataGaLocation":582},{"text":321,"config":752},{"href":323,"dataGaName":753,"dataGaLocation":582},"docs",{"text":344,"config":755},{"href":346,"dataGaName":347,"dataGaLocation":582},{"text":757,"config":758},"What's new",{"href":404,"dataGaName":405,"dataGaLocation":582},{"text":339,"config":760},{"href":341,"dataGaName":342,"dataGaLocation":582},{"text":358,"config":762},{"href":360,"dataGaName":361,"dataGaLocation":582},{"text":366,"config":764},{"href":368,"dataGaName":369,"dataGaLocation":582},{"text":371,"config":766},{"href":373,"dataGaName":374,"dataGaLocation":582},{"text":376,"config":768},{"href":378,"dataGaName":379,"dataGaLocation":582},{"text":381,"config":770},{"href":383,"dataGaName":384,"dataGaLocation":582},{"text":386,"config":772},{"href":388,"dataGaName":389,"dataGaLocation":582},{"text":391,"config":774},{"href":393,"dataGaName":394,"dataGaLocation":582},{"title":407,"links":776},[777,779,781,783,785,787,791,796,798,800,802],{"text":415,"config":778},{"href":417,"dataGaName":409,"dataGaLocation":582},{"text":420,"config":780},{"href":422,"dataGaName":423,"dataGaLocation":582},{"text":428,"config":782},{"href":430,"dataGaName":431,"dataGaLocation":582},{"text":433,"config":784},{"href":435,"dataGaName":436,"dataGaLocation":582},{"text":438,"config":786},{"href":440,"dataGaName":441,"dataGaLocation":582},{"text":788,"config":789},"Sustainability",{"href":790,"dataGaName":788,"dataGaLocation":582},"/sustainability/",{"text":792,"config":793},"Diversity, inclusion and belonging (DIB)",{"href":794,"dataGaName":795,"dataGaLocation":582},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":443,"config":797},{"href":445,"dataGaName":446,"dataGaLocation":582},{"text":453,"config":799},{"href":455,"dataGaName":456,"dataGaLocation":582},{"text":458,"config":801},{"href":460,"dataGaName":461,"dataGaLocation":582},{"text":803,"config":804},"Modern Slavery Transparency Statement",{"href":805,"dataGaName":806,"dataGaLocation":582},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":808},[809,812,815],{"text":810,"config":811},"Terms",{"href":634,"dataGaName":635,"dataGaLocation":582},{"text":813,"config":814},"Cookies",{"dataGaName":644,"dataGaLocation":582,"id":645,"isOneTrustButton":126},{"text":816,"config":817},"Privacy",{"href":639,"dataGaName":640,"dataGaLocation":582},[819],{"id":820,"title":7,"body":110,"config":821,"content":823,"description":110,"extension":827,"meta":828,"navigation":126,"path":829,"seo":830,"stem":831,"__hash__":832},"blogAuthors/en-us/blog/authors/haydn-mackay.yml",{"template":822},"BlogAuthor",{"name":7,"config":824},{"headshot":825,"ctfId":826},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Haydn-Mackay","yml",{},"/en-us/blog/authors/haydn-mackay",{},"en-us/blog/authors/haydn-mackay","5Srwf5hltrIbz39abh-L2tkrAECDBDF9vL0sat0sPrA",[834,842,850],{"title":835,"description":836,"heroImage":837,"category":106,"date":838,"authors":839,"slug":841,"externalUrl":110},"How we overhauled GitLab navigation","Users weren't getting what they needed from our navigation. Here are the steps we took to turn that experience around.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682884/Blog/Hero%20Images/navigation.jpg","2023-08-15",[840],"Ashley Knobloch","navigation-research-blog-post",{"title":843,"description":844,"heroImage":845,"category":106,"date":846,"authors":847,"slug":849,"externalUrl":110},"Beautifying our UI: Giving GitLab build features a fresh look","Get an inside look at how we are improving the usability of GitLab build features with multiple visual design improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682807/Blog/Hero%20Images/beautify.jpg","2023-07-05",[848],"Veethika Mishra","beautifying-of-our-ui",{"title":851,"description":852,"heroImage":853,"category":106,"date":854,"authors":855,"slug":857,"externalUrl":110},"4 best practices leading orgs to release software faster","GitLab's 2023 Global DevSecOps Survey illuminates the strategies that organizations deploying more frequently have in common.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663908/Blog/Hero%20Images/2023-devsecops-report-blog-banner2.png","2023-06-08",[856],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":859},[860,874,886,898],{"id":861,"categories":862,"header":864,"text":865,"button":866,"image":871},"ai-modernization",[863],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":867,"config":868},"Get your AI maturity score",{"href":869,"dataGaName":870,"dataGaLocation":347},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":872},{"src":873},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":875,"categories":876,"header":878,"text":865,"button":879,"image":883},"devops-modernization",[877,684],"product","Are you just managing tools or shipping innovation?",{"text":880,"config":881},"Get your DevOps maturity score",{"href":882,"dataGaName":870,"dataGaLocation":347},"/assessments/devops-modernization-assessment/",{"config":884},{"src":885},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":887,"categories":888,"header":890,"text":865,"button":891,"image":895},"security-modernization",[889],"security","Are you trading speed for security?",{"text":892,"config":893},"Get your security maturity score",{"href":894,"dataGaName":870,"dataGaLocation":347},"/assessments/security-modernization-assessment/",{"config":896},{"src":897},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":899,"paths":900,"header":903,"text":904,"button":905,"image":910},"github-azure-migration",[901,902],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":906,"config":907},"See how GitLab compares to GitHub",{"href":908,"dataGaName":909,"dataGaLocation":347},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":911},{"src":885},{"header":913,"blurb":914,"button":915,"secondaryButton":920},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":916,"config":917},"Get your free trial",{"href":918,"dataGaName":146,"dataGaLocation":919},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":620,"config":921},{"href":472,"dataGaName":151,"dataGaLocation":919},1786803756721]