[{"data":1,"prerenderedAt":1034},["ShallowReactive",2],{"/blog/is-serverless-the-end-of-ops":3,"navigation-en-us":247,"banner-en-us":675,"footer-en-us":685,"blog-post-authors-en-us-Chrissie Buchanan":930,"blog-related-posts-en-us-is-serverless-the-end-of-ops":945,"blog-promotions-en-us":970,"next-steps-en-us":1024},{"id":4,"title":5,"authors":6,"body":8,"category":225,"date":226,"description":227,"extension":228,"externalUrl":229,"faq":229,"featured":230,"heroImage":231,"meta":232,"navigation":233,"path":234,"seo":235,"slug":239,"stem":240,"tags":241,"template":245,"updatedDate":229,"__hash__":246},"blogPosts/en-us/blog/is-serverless-the-end-of-ops.md","Is serverless the end of ops?",[7],"Chrissie Buchanan",{"type":9,"value":10,"toc":210},"minimark",[11,26,34,41,44,49,57,66,69,76,89,92,96,99,104,107,111,120,124,127,130,134,142,146,155,159,162,165,174,177,181,184,187,196],[12,13,14,15,20,21,25],"p",{},"We’re not playing tricks when we say ",[16,17,19],"a",{"href":18},"/topics/serverless/","serverless"," isn’t actually serverless. It’s not that servers aren’t doing work, it’s just that ",[22,23,24],"em",{},"your"," servers aren’t necessarily having to do the work. In these exciting times of automation, not having to worry about servers seems pretty appealing.",[12,27,28,33],{},[16,29,32],{"href":30,"rel":31},"https://hackernoon.com/severe-truth-about-serverless-security-and-ways-to-mitigate-major-risks-cd3i3x6f",[],"Serverless architecture has an annual growth rate of over 700%"," and shows no signs of slowing down. Its popularity is all due to the operational efficiency it promises. Instead of worrying about infrastructure, you can essentially outsource those responsibilities to your cloud provider. Once you specify the resources your code requires, the cloud provider provisions the servers and deploys. Even better, you only pay for what is used.",[12,35,36,37,40],{},"The dream of serverless computing is pretty simple: Developers deploy into infrastructures they don’t have to manage, set up, or maintain. Once they upload a simple cloud function it ",[22,38,39],{},"just works",". Since organizations are only paying for what they use, this system is infinitely scalable, and because this is all managed by a cloud provider, they take over security as well.",[12,42,43],{},"With a serverless architecture carrying all of the ops load, what does that mean for sysadmins?",[45,46,48],"h2",{"id":47},"serverless-the-end-of-ops","Serverless: The end of ops?",[12,50,51,52,56],{},"Serverless hype hasn’t been without skepticism. On the ops side of things, there has been some concern that serverless is trying to force ops out of the picture. A successful ",[16,53,55],{"href":54},"/topics/devops/build-a-devops-team/","DevOps team structure"," is all about dev and ops working together but, as we well know, there are some challenges to overcome. For one: dev and ops teams are incentivized by vastly different things. Development wants faster feature delivery, whereas operations wants stability and availability. These two goals contradict each other. With serverless bypassing ops altogether, it unintentionally reinforces the “ops as a barrier” trope.",[12,58,59,60,65],{},"Getting to the point: No, serverless is not the end of ops as we know it. Ops looks after monitoring, security, networking, support, and the overall stability of a system. Serverless is just one way of managing systems, but it isn’t the only way. ",[16,61,64],{"href":62,"rel":63},"https://martinfowler.com/articles/serverless.html",[],"The sysadmin is still happening – you’re just outsourcing it with serverless",", and that’s not necessarily a bad (or good) thing.",[12,67,68],{},"Even with so many new technologies and methodologies out there – Kubernetes, serverless, containerization – the basics of computing remain the same. It’s only when we understand the fundamentals and commit to building reliable code that we can make the most of these new platforms.",[12,70,71,75],{},[16,72,74],{"href":73},"/blog/kubernetes-chat-with-kelsey-hightower/","In a recent interview with Google Staff Developer Advocate Kelsey Hightower",", one of the biggest challenges he mentions is the “all-or-nothing” approach. “Either I’m all serverless, or I’m all Kubernetes, or I’m all traditional infrastructure. That has never made sense in the history of computing.” Ultimately, you don’t have to choose: Pick the platforms that work best for the job. Monoliths are easy to build and run, and microservices and Kubernetes can help organizations scale faster. Serverless is just another tool that teams can use to keep innovating.",[77,78,81,82],"figure",{"className":79},[80],"video_container","\n  ",[83,84,88],"iframe",{"src":85,"frameBorder":86,"allowFullScreen":87},"https://www.youtube.com/embed/9OHNejqXOoo","0","true"," ",[12,90,91],{},"Video directed and produced by Aricka Flowers",[45,93,95],{"id":94},"serverless-pros-and-cons","Serverless pros and cons",[12,97,98],{},"As with any architecture, there are going to be some benefits and some disadvantages. It’s important to weigh the pros and cons carefully against your organization’s needs.",[100,101,103],"h3",{"id":102},"less-operational-overhead","Less operational overhead",[12,105,106],{},"This is frequently listed as one of the biggest advantages of serverless. Security patches, server upgrades, and other maintenance are already taken care of, which can free up resources for more important things.",[100,108,110],{"id":109},"scalability","Scalability",[12,112,113,114,119],{},"You just upload a code/function and your cloud provider handles the rest. ",[16,115,118],{"href":116,"rel":117},"https://hackernoon.com/what-is-serverless-architecture-what-are-its-pros-and-cons-cc4b804022e9",[],"Serverless allows as many functions to be run (in parallel, if necessary) as needed to continually service all incoming requests",". Or you can have serverless run an entire application (with frontend, backend, etc.) and still reap the benefits. Because you’re not boxed into a certain pricing structure or number of minutes, serverless can be infinitely scalable (in theory).",[100,121,123],{"id":122},"less-operating-costs","Less operating costs",[12,125,126],{},"You’re only using what you need and all costs are purely based on usage. Finances are dynamic, which is more representative of how companies actually operate.",[12,128,129],{},"One example of this concept is comparing a rideshare service to the costs of owning a vehicle. With a car, there are costs you pay regardless of usage (insurance, registration, car payment), there are costs you pay depending on the usage (gas, maintenance), and then there are additional costs tied to unforeseen circumstances (accidents, that pothole again). With a rideshare, you’re just paying to go from point A to point B – all car costs we listed previously are being taken care of by someone else.",[100,131,133],{"id":132},"less-control","Less control",[12,135,136,137,141],{},"Often cited as the biggest con, what you gain in reduced operational costs, complexity, and engineering lead time comes with ",[16,138,140],{"href":62,"rel":139},[],"increased vendor dependencies"," and less oversight. There has to be a lot of trust in the cloud vendor since you’ll be unable to manage the server yourself. Not having control of your system means that if errors happen, you’re reliant on someone else to fix them. In business, no one cares more about your problems than you do.",[100,143,145],{"id":144},"potential-security-risks","Potential security risks",[12,147,148,149,154],{},"While cloud vendors will manage security for you, and are generally well equipped for that task, it’s the architecture of serverless itself that could introduce vulnerabilities into the system. The problem is especially true for serverless applications built on top of microservices, with independent pieces of software interacting through numerous APIs. Gartner warns that ",[16,150,153],{"href":151,"rel":152},"https://www.gartner.com/doc/3834704/build-effective-api-security-strategy",[],"APIs will become the major source of data breaches by 2022",".",[100,156,158],{"id":157},"unpredictable-costs","Unpredictable costs",[12,160,161],{},"How can we list costs as both a pro and a con? That’s mainly due to the elasticity serverless offers. Since everything is event-triggered, rather than paid up front, elasticity becomes a double-edged sword: You’re not paying for cloud usage you don’t need, but it being so easy to use means you may end up using more.",[12,163,164],{},"For another real-world example of this concept in action, let’s examine ketchup, mainly the introduction of the plastic squeeze bottle.",[12,166,167,168,173],{},"Heinz ketchup had been served in the iconic glass bottles we all know and love since 1890, but in 1983 the Heinz corporation unveiled the squeezable plastic bottle to consumers. This was heralded as a huge innovation – consumers could squeeze more precisely, the bottles were unbreakable which reduced losses in shipment, and the ergonomic design made it perfect for hands of all sizes. After the introduction of the new squeezable bottle, ",[16,169,172],{"href":170,"rel":171},"https://www.npr.org/sections/thesalt/2014/04/29/306911004/whats-the-secret-to-pouring-ketchup-know-your-physics",[],"ketchup sales went up by 3.7% from the prior year",". Why? Now that ketchup could be dispensed more easily, people used a lot more of it. Instead of tapping on a glass bottle hoping for a drop, the ketchup cup runneth over.",[12,175,176],{},"With serverless being so easy to use, it’s best to assume that developers will use it more than you expect.",[45,178,180],{"id":179},"where-are-we-on-our-serverless-journey","Where are we on our serverless journey?",[12,182,183],{},"So much of the literature about serverless comes from the cloud providers themselves, so of course it focuses on the most idealized vision of what serverless can be. As a result, those in the ops community felt like they were being forced out, and organizations were too busy paying attention to the benefits to see the potential downsides.",[12,185,186],{},"Serverless opens up a lot of opportunities in DevOps, and offers a unique solution for many use cases. Does this mean that sysadmins everywhere will soon be out of a job? Probably not. Serverless is just another tool in the toolbox, and at GitLab we’re exploring how to help users leverage Knative and Kubernetes to define and manage serverless functions in GitLab. We’re also looking into how we can be even more multi-faceted. Some users want to work with a Kubernetes cluster, some want to push a serverless function into AWS Lambda. We can already help with monoliths and microservices, and we’re actively working on supporting serverless as well.",[12,188,189,190,195],{},"Interested in joining the conversation for this category? Please join us in our ",[16,191,194],{"href":192,"rel":193},"https://gitlab.com/groups/gitlab-org/-/epics/155",[],"public epic"," where we discuss this topic and we can answer any questions you might have. Everyone can contribute.",[12,197,198,199,204,205],{},"Photo by ",[16,200,203],{"href":201,"rel":202},"https://unsplash.com/@sunlifter?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Tomasz Frankowski"," on ",[16,206,209],{"href":207,"rel":208},"https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Unsplash",{"title":211,"searchDepth":212,"depth":212,"links":213},"",2,[214,215,224],{"id":47,"depth":212,"text":48},{"id":94,"depth":212,"text":95,"children":216},[217,219,220,221,222,223],{"id":102,"depth":218,"text":103},3,{"id":109,"depth":218,"text":110},{"id":122,"depth":218,"text":123},{"id":132,"depth":218,"text":133},{"id":144,"depth":218,"text":145},{"id":157,"depth":218,"text":158},{"id":179,"depth":212,"text":180},"insights","2019-09-12","What is Serverless architecture, what are the pros and cons of using it and where will it go in the future?","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671845/Blog/Hero%20Images/serverless-ops-blog.jpg",{},true,"/en-us/blog/is-serverless-the-end-of-ops",{"title":5,"description":227,"ogTitle":5,"ogDescription":227,"noIndex":230,"ogImage":231,"ogUrl":236,"ogSiteName":237,"ogType":238,"canonicalUrls":236},"https://about.gitlab.com/blog/is-serverless-the-end-of-ops","https://about.gitlab.com","article","is-serverless-the-end-of-ops","en-us/blog/is-serverless-the-end-of-ops",[242,243,244],"kubernetes","features","demo","BlogPost","bt0bNtvSsf32Qdgj8kuO9FaRs7tr-l3aymIXbdR3CBo",{"logo":248,"freeTrial":253,"sales":258,"login":263,"items":268,"search":595,"minimal":626,"duo":645,"switchNav":654,"pricingDeployment":665},{"config":249},{"href":250,"dataGaName":251,"dataGaLocation":252},"/","gitlab logo","header",{"text":254,"config":255},"Get free trial",{"href":256,"dataGaName":257,"dataGaLocation":252},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":259,"config":260},"Request a demo",{"href":261,"dataGaName":262,"dataGaLocation":252},"/sales/?contact-topic=request-demo","sales",{"text":264,"config":265},"Sign in",{"href":266,"dataGaName":267,"dataGaLocation":252},"https://gitlab.com/users/sign_in/","sign in",[269,298,398,403,517,573],{"text":270,"config":271,"menu":273},"Platform",{"dataNavLevelOne":272},"platform",{"type":274,"columns":275},"cards",[276,282,290],{"title":270,"description":277,"link":278},"The intelligent orchestration platform for DevSecOps",{"text":279,"config":280},"Explore our Platform",{"href":281,"dataGaName":272,"dataGaLocation":252},"/platform/",{"title":283,"description":284,"link":285},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":286,"config":287},"Meet GitLab Duo",{"href":288,"dataGaName":289,"dataGaLocation":252},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":291,"description":292,"link":293},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":294,"config":295},"Learn more",{"href":296,"dataGaName":297,"dataGaLocation":252},"/why-gitlab/","why gitlab",{"text":299,"left":233,"config":300,"menu":302},"Product",{"dataNavLevelOne":301},"solutions",{"type":303,"link":304,"columns":308,"feature":377},"lists",{"text":305,"config":306},"View all Solutions",{"href":307,"dataGaName":301,"dataGaLocation":252},"/solutions/",[309,333,356],{"title":310,"description":311,"link":312,"items":317},"Automation","CI/CD and automation to accelerate deployment",{"config":313},{"icon":314,"href":315,"dataGaName":316,"dataGaLocation":252},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[318,322,325,329],{"text":319,"config":320},"CI/CD",{"href":321,"dataGaLocation":252,"dataGaName":319},"/solutions/continuous-integration/",{"text":283,"config":323},{"href":288,"dataGaLocation":252,"dataGaName":324},"gitlab duo agent platform - product menu",{"text":326,"config":327},"Source Code Management",{"href":328,"dataGaLocation":252,"dataGaName":326},"/solutions/source-code-management/",{"text":330,"config":331},"Automated Software Delivery",{"href":315,"dataGaLocation":252,"dataGaName":332},"Automated software delivery",{"title":334,"description":335,"link":336,"items":341},"Security","Deliver code faster without compromising security",{"config":337},{"href":338,"dataGaName":339,"dataGaLocation":252,"icon":340},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[342,346,351],{"text":343,"config":344},"Application Security Testing",{"href":338,"dataGaName":345,"dataGaLocation":252},"Application security testing",{"text":347,"config":348},"Software Supply Chain Security",{"href":349,"dataGaLocation":252,"dataGaName":350},"/solutions/supply-chain/","Software supply chain security",{"text":352,"config":353},"Software Compliance",{"href":354,"dataGaName":355,"dataGaLocation":252},"/solutions/software-compliance/","software compliance",{"title":357,"link":358,"items":363},"Measurement",{"config":359},{"icon":360,"href":361,"dataGaName":362,"dataGaLocation":252},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[364,368,372],{"text":365,"config":366},"Visibility & Measurement",{"href":361,"dataGaLocation":252,"dataGaName":367},"Visibility and Measurement",{"text":369,"config":370},"Value Stream Management",{"href":371,"dataGaLocation":252,"dataGaName":369},"/solutions/value-stream-management/",{"text":373,"config":374},"Analytics & Insights",{"href":375,"dataGaLocation":252,"dataGaName":376},"/solutions/analytics-and-insights/","Analytics and insights",{"title":378,"type":303,"items":379},"GitLab for",[380,386,392],{"text":381,"config":382},"Enterprise",{"icon":383,"href":384,"dataGaLocation":252,"dataGaName":385},"Building","/enterprise/","enterprise",{"text":387,"config":388},"Small Business",{"icon":389,"href":390,"dataGaLocation":252,"dataGaName":391},"Work","/small-business/","small business",{"text":393,"config":394},"Public Sector",{"icon":395,"href":396,"dataGaLocation":252,"dataGaName":397},"Organization","/solutions/public-sector/","public sector",{"text":399,"config":400},"Pricing",{"href":401,"dataGaName":402,"dataGaLocation":252,"dataNavLevelOne":402},"/pricing/","pricing",{"text":404,"config":405,"menu":407},"Resources",{"dataNavLevelOne":406},"resources",{"type":303,"link":408,"columns":412,"feature":506},{"text":409,"config":410},"View all resources",{"href":411,"dataGaName":406,"dataGaLocation":252},"/resources/",[413,446,473],{"title":414,"items":415},"Getting started",[416,421,426,431,436,441],{"text":417,"config":418},"Install",{"href":419,"dataGaName":420,"dataGaLocation":252},"/install/","install",{"text":422,"config":423},"Quick start guides",{"href":424,"dataGaName":425,"dataGaLocation":252},"/get-started/","quick setup checklists",{"text":427,"config":428},"Learn",{"href":429,"dataGaLocation":252,"dataGaName":430},"https://university.gitlab.com/","learn",{"text":432,"config":433},"Product documentation",{"href":434,"dataGaName":435,"dataGaLocation":252},"https://docs.gitlab.com/","product documentation",{"text":437,"config":438},"Best practice videos",{"href":439,"dataGaName":440,"dataGaLocation":252},"/getting-started-videos/","best practice videos",{"text":442,"config":443},"Integrations",{"href":444,"dataGaName":445,"dataGaLocation":252},"/integrations/","integrations",{"title":447,"items":448},"Discover",[449,454,459,464,468],{"text":450,"config":451},"Customer success stories",{"href":452,"dataGaName":453,"dataGaLocation":252},"/customers/","customer success stories",{"text":455,"config":456},"Blog",{"href":457,"dataGaName":458,"dataGaLocation":252},"/blog/","blog",{"text":460,"config":461},"Demo Hub",{"href":462,"dataGaName":463,"dataGaLocation":252},"/demo-hub/","demo hub",{"text":465,"config":466},"The Source",{"href":467,"dataGaName":458,"dataGaLocation":252},"/the-source/",{"text":469,"config":470},"Remote",{"href":471,"dataGaName":472,"dataGaLocation":252},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":474,"items":475},"Connect",[476,481,486,491,496,501],{"text":477,"config":478},"GitLab Services",{"href":479,"dataGaName":480,"dataGaLocation":252},"/services/","services",{"text":482,"config":483},"Contribute",{"href":484,"dataGaName":485,"dataGaLocation":252},"https://contributors.gitlab.com","contribute",{"text":487,"config":488},"Community",{"href":489,"dataGaName":490,"dataGaLocation":252},"/community/","community",{"text":492,"config":493},"Forum",{"href":494,"dataGaName":495,"dataGaLocation":252},"https://forum.gitlab.com/","forum",{"text":497,"config":498},"Events",{"href":499,"dataGaName":500,"dataGaLocation":252},"/events/","events",{"text":502,"config":503},"Partners",{"href":504,"dataGaName":505,"dataGaLocation":252},"/partners/","partners",{"config":507,"title":510,"text":511,"link":512},{"background":508,"textColor":509},"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":513,"config":514},"Read the latest",{"href":515,"dataGaName":516,"dataGaLocation":252},"/whats-new/","whats new",{"text":518,"config":519,"menu":521},"Company",{"dataNavLevelOne":520},"company",{"type":303,"columns":522},[523],{"items":524},[525,530,536,538,543,548,553,558,563,568],{"text":526,"config":527},"About",{"href":528,"dataGaName":529,"dataGaLocation":252},"/company/","about",{"text":531,"config":532,"footerGa":535},"Jobs",{"href":533,"dataGaName":534,"dataGaLocation":252},"/jobs/","jobs",{"dataGaName":534},{"text":497,"config":537},{"href":499,"dataGaName":500,"dataGaLocation":252},{"text":539,"config":540},"Leadership",{"href":541,"dataGaName":542,"dataGaLocation":252},"/company/team/e-group/","leadership",{"text":544,"config":545},"Handbook",{"href":546,"dataGaName":547,"dataGaLocation":252},"https://handbook.gitlab.com/","handbook",{"text":549,"config":550},"Investor relations",{"href":551,"dataGaName":552,"dataGaLocation":252},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":554,"config":555},"Trust Center",{"href":556,"dataGaName":557,"dataGaLocation":252},"/security/","trust center",{"text":559,"config":560},"AI Transparency Center",{"href":561,"dataGaName":562,"dataGaLocation":252},"/ai-transparency-center/","ai transparency center",{"text":564,"config":565},"Newsletter",{"href":566,"dataGaName":567,"dataGaLocation":252},"/company/contact/#contact-forms","newsletter",{"text":569,"config":570},"Press",{"href":571,"dataGaName":572,"dataGaLocation":252},"/press/","press",{"text":574,"config":575,"menu":576},"Contact us",{"dataNavLevelOne":520},{"type":303,"columns":577},[578],{"items":579},[580,585,590],{"text":581,"config":582},"Talk to sales",{"href":583,"dataGaName":584,"dataGaLocation":252},"/sales/","talk to sales",{"text":586,"config":587},"Support portal",{"href":588,"dataGaName":589,"dataGaLocation":252},"https://support.gitlab.com/hc/en-us","support portal",{"text":591,"config":592},"Customer portal",{"href":593,"dataGaName":594,"dataGaLocation":252},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":596,"login":597,"suggestions":604},"Close",{"text":598,"link":599},"To search repositories and projects, login to",{"text":600,"config":601},"gitlab.com",{"href":266,"dataGaName":602,"dataGaLocation":603},"search login","search",{"text":605,"default":606},"Suggestions",[607,609,613,615,619,623],{"text":283,"config":608},{"href":288,"dataGaName":283,"dataGaLocation":603},{"text":610,"config":611},"Code Suggestions (AI)",{"href":612,"dataGaName":610,"dataGaLocation":603},"/solutions/code-suggestions/",{"text":319,"config":614},{"href":321,"dataGaName":319,"dataGaLocation":603},{"text":616,"config":617},"GitLab on AWS",{"href":618,"dataGaName":616,"dataGaLocation":603},"/partners/technology-partners/aws/",{"text":620,"config":621},"GitLab on Google Cloud",{"href":622,"dataGaName":620,"dataGaLocation":603},"/partners/technology-partners/google-cloud-platform/",{"text":624,"config":625},"Why GitLab?",{"href":296,"dataGaName":624,"dataGaLocation":603},{"freeTrial":627,"mobileIcon":632,"desktopIcon":637,"secondaryButton":640},{"text":628,"config":629},"Start free trial",{"href":630,"dataGaName":257,"dataGaLocation":631},"https://gitlab.com/-/trials/new/","nav",{"altText":633,"config":634},"Gitlab Icon",{"src":635,"dataGaName":636,"dataGaLocation":631},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":633,"config":638},{"src":639,"dataGaName":636,"dataGaLocation":631},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":641,"config":642},"Get Started",{"href":643,"dataGaName":644,"dataGaLocation":631},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":646,"mobileIcon":650,"desktopIcon":652},{"text":647,"config":648},"Learn more about GitLab Duo",{"href":288,"dataGaName":649,"dataGaLocation":631},"gitlab duo",{"altText":633,"config":651},{"src":635,"dataGaName":636,"dataGaLocation":631},{"altText":633,"config":653},{"src":639,"dataGaName":636,"dataGaLocation":631},{"button":655,"mobileIcon":660,"desktopIcon":662},{"text":656,"config":657},"/switch",{"href":658,"dataGaName":659,"dataGaLocation":631},"#contact","switch",{"altText":633,"config":661},{"src":635,"dataGaName":636,"dataGaLocation":631},{"altText":633,"config":663},{"src":664,"dataGaName":636,"dataGaLocation":631},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":666,"mobileIcon":671,"desktopIcon":673},{"text":667,"config":668},"Back to pricing",{"href":401,"dataGaName":669,"dataGaLocation":631,"icon":670},"back to pricing","GoBack",{"altText":633,"config":672},{"src":635,"dataGaName":636,"dataGaLocation":631},{"altText":633,"config":674},{"src":639,"dataGaName":636,"dataGaLocation":631},{"title":676,"titleMobile":677,"button":678,"config":683},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":294,"config":679},{"href":680,"dataGaName":681,"dataGaLocation":682},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":684,"disabled":230},"release",{"data":686},{"text":687,"source":688,"edit":694,"contribute":699,"config":704,"items":709,"minimal":919},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":689,"config":690},"View page source",{"href":691,"dataGaName":692,"dataGaLocation":693},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":695,"config":696},"Edit this page",{"href":697,"dataGaName":698,"dataGaLocation":693},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":700,"config":701},"Please contribute",{"href":702,"dataGaName":703,"dataGaLocation":693},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":705,"facebook":706,"youtube":707,"linkedin":708},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[710,757,811,855,887],{"title":399,"links":711,"subMenu":726},[712,716,721],{"text":713,"config":714},"View plans",{"href":401,"dataGaName":715,"dataGaLocation":693},"view plans",{"text":717,"config":718},"Why Premium?",{"href":719,"dataGaName":720,"dataGaLocation":693},"/pricing/premium/","why premium",{"text":722,"config":723},"Why Ultimate?",{"href":724,"dataGaName":725,"dataGaLocation":693},"/pricing/ultimate/","why ultimate",[727],{"title":728,"links":729},"Contact Us",[730,733,735,737,742,747,752],{"text":731,"config":732},"Contact sales",{"href":583,"dataGaName":262,"dataGaLocation":693},{"text":586,"config":734},{"href":588,"dataGaName":589,"dataGaLocation":693},{"text":591,"config":736},{"href":593,"dataGaName":594,"dataGaLocation":693},{"text":738,"config":739},"Status",{"href":740,"dataGaName":741,"dataGaLocation":693},"https://status.gitlab.com/","status",{"text":743,"config":744},"Terms of use",{"href":745,"dataGaName":746,"dataGaLocation":693},"/terms/","terms of use",{"text":748,"config":749},"Privacy statement",{"href":750,"dataGaName":751,"dataGaLocation":693},"/privacy/","privacy statement",{"text":753,"config":754},"Cookie preferences",{"dataGaName":755,"dataGaLocation":693,"id":756,"isOneTrustButton":233},"cookie preferences","ot-sdk-btn",{"title":299,"links":758,"subMenu":767},[759,763],{"text":760,"config":761},"DevSecOps platform",{"href":281,"dataGaName":762,"dataGaLocation":693},"devsecops platform",{"text":764,"config":765},"AI-Assisted Development",{"href":288,"dataGaName":766,"dataGaLocation":693},"ai-assisted development",[768],{"title":769,"links":770},"Topics",[771,776,781,786,791,796,801,806],{"text":772,"config":773},"CICD",{"href":774,"dataGaName":775,"dataGaLocation":693},"/topics/ci-cd/","cicd",{"text":777,"config":778},"GitOps",{"href":779,"dataGaName":780,"dataGaLocation":693},"/topics/gitops/","gitops",{"text":782,"config":783},"DevOps",{"href":784,"dataGaName":785,"dataGaLocation":693},"/topics/devops/","devops",{"text":787,"config":788},"Version Control",{"href":789,"dataGaName":790,"dataGaLocation":693},"/topics/version-control/","version control",{"text":792,"config":793},"DevSecOps",{"href":794,"dataGaName":795,"dataGaLocation":693},"/topics/devsecops/","devsecops",{"text":797,"config":798},"Cloud Native",{"href":799,"dataGaName":800,"dataGaLocation":693},"/topics/cloud-native/","cloud native",{"text":802,"config":803},"AI for Coding",{"href":804,"dataGaName":805,"dataGaLocation":693},"/topics/devops/ai-for-coding/","ai for coding",{"text":807,"config":808},"Agentic AI",{"href":809,"dataGaName":810,"dataGaLocation":693},"/topics/agentic-ai/","agentic ai",{"title":812,"links":813},"Solutions",[814,816,818,823,827,830,834,837,839,842,845,850],{"text":343,"config":815},{"href":338,"dataGaName":343,"dataGaLocation":693},{"text":332,"config":817},{"href":315,"dataGaName":316,"dataGaLocation":693},{"text":819,"config":820},"Agile development",{"href":821,"dataGaName":822,"dataGaLocation":693},"/solutions/agile-delivery/","agile delivery",{"text":824,"config":825},"SCM",{"href":328,"dataGaName":826,"dataGaLocation":693},"source code management",{"text":772,"config":828},{"href":321,"dataGaName":829,"dataGaLocation":693},"continuous integration & delivery",{"text":831,"config":832},"Value stream management",{"href":371,"dataGaName":833,"dataGaLocation":693},"value stream management",{"text":777,"config":835},{"href":836,"dataGaName":780,"dataGaLocation":693},"/solutions/gitops/",{"text":381,"config":838},{"href":384,"dataGaName":385,"dataGaLocation":693},{"text":840,"config":841},"Small business",{"href":390,"dataGaName":391,"dataGaLocation":693},{"text":843,"config":844},"Public sector",{"href":396,"dataGaName":397,"dataGaLocation":693},{"text":846,"config":847},"Education",{"href":848,"dataGaName":849,"dataGaLocation":693},"/solutions/education/","education",{"text":851,"config":852},"Financial services",{"href":853,"dataGaName":854,"dataGaLocation":693},"/solutions/finance/","financial services",{"title":404,"links":856},[857,859,861,863,866,868,871,873,875,877,879,881,883,885],{"text":417,"config":858},{"href":419,"dataGaName":420,"dataGaLocation":693},{"text":422,"config":860},{"href":424,"dataGaName":425,"dataGaLocation":693},{"text":427,"config":862},{"href":429,"dataGaName":430,"dataGaLocation":693},{"text":432,"config":864},{"href":434,"dataGaName":865,"dataGaLocation":693},"docs",{"text":455,"config":867},{"href":457,"dataGaName":458,"dataGaLocation":693},{"text":869,"config":870},"What's new",{"href":515,"dataGaName":516,"dataGaLocation":693},{"text":450,"config":872},{"href":452,"dataGaName":453,"dataGaLocation":693},{"text":469,"config":874},{"href":471,"dataGaName":472,"dataGaLocation":693},{"text":477,"config":876},{"href":479,"dataGaName":480,"dataGaLocation":693},{"text":482,"config":878},{"href":484,"dataGaName":485,"dataGaLocation":693},{"text":487,"config":880},{"href":489,"dataGaName":490,"dataGaLocation":693},{"text":492,"config":882},{"href":494,"dataGaName":495,"dataGaLocation":693},{"text":497,"config":884},{"href":499,"dataGaName":500,"dataGaLocation":693},{"text":502,"config":886},{"href":504,"dataGaName":505,"dataGaLocation":693},{"title":518,"links":888},[889,891,893,895,897,899,903,908,910,912,914],{"text":526,"config":890},{"href":528,"dataGaName":520,"dataGaLocation":693},{"text":531,"config":892},{"href":533,"dataGaName":534,"dataGaLocation":693},{"text":539,"config":894},{"href":541,"dataGaName":542,"dataGaLocation":693},{"text":544,"config":896},{"href":546,"dataGaName":547,"dataGaLocation":693},{"text":549,"config":898},{"href":551,"dataGaName":552,"dataGaLocation":693},{"text":900,"config":901},"Sustainability",{"href":902,"dataGaName":900,"dataGaLocation":693},"/sustainability/",{"text":904,"config":905},"Diversity, inclusion and belonging (DIB)",{"href":906,"dataGaName":907,"dataGaLocation":693},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":554,"config":909},{"href":556,"dataGaName":557,"dataGaLocation":693},{"text":564,"config":911},{"href":566,"dataGaName":567,"dataGaLocation":693},{"text":569,"config":913},{"href":571,"dataGaName":572,"dataGaLocation":693},{"text":915,"config":916},"Modern Slavery Transparency Statement",{"href":917,"dataGaName":918,"dataGaLocation":693},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":920},[921,924,927],{"text":922,"config":923},"Terms",{"href":745,"dataGaName":746,"dataGaLocation":693},{"text":925,"config":926},"Cookies",{"dataGaName":755,"dataGaLocation":693,"id":756,"isOneTrustButton":233},{"text":928,"config":929},"Privacy",{"href":750,"dataGaName":751,"dataGaLocation":693},[931],{"id":932,"title":7,"body":229,"config":933,"content":935,"description":229,"extension":939,"meta":940,"navigation":233,"path":941,"seo":942,"stem":943,"__hash__":944},"blogAuthors/en-us/blog/authors/chrissie-buchanan.yml",{"template":934},"BlogAuthor",{"name":7,"config":936},{"headshot":937,"ctfId":938},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","cbuchanan","yml",{},"/en-us/blog/authors/chrissie-buchanan",{},"en-us/blog/authors/chrissie-buchanan","VUaqNs-WRatnVN614U2QKvMKVSh6PynpH3T0SHM4ayU",[946,954,962],{"title":947,"description":948,"heroImage":949,"category":225,"date":950,"authors":951,"slug":953,"externalUrl":229},"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",[952],"Ashley Knobloch","navigation-research-blog-post",{"title":955,"description":956,"heroImage":957,"category":225,"date":958,"authors":959,"slug":961,"externalUrl":229},"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",[960],"Veethika Mishra","beautifying-of-our-ui",{"title":963,"description":964,"heroImage":965,"category":225,"date":966,"authors":967,"slug":969,"externalUrl":229},"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",[968],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":971},[972,986,998,1010],{"id":973,"categories":974,"header":976,"text":977,"button":978,"image":983},"ai-modernization",[975],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":979,"config":980},"Get your AI maturity score",{"href":981,"dataGaName":982,"dataGaLocation":458},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":984},{"src":985},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":987,"categories":988,"header":990,"text":977,"button":991,"image":995},"devops-modernization",[989,795],"product","Are you just managing tools or shipping innovation?",{"text":992,"config":993},"Get your DevOps maturity score",{"href":994,"dataGaName":982,"dataGaLocation":458},"/assessments/devops-modernization-assessment/",{"config":996},{"src":997},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":999,"categories":1000,"header":1002,"text":977,"button":1003,"image":1007},"security-modernization",[1001],"security","Are you trading speed for security?",{"text":1004,"config":1005},"Get your security maturity score",{"href":1006,"dataGaName":982,"dataGaLocation":458},"/assessments/security-modernization-assessment/",{"config":1008},{"src":1009},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1011,"paths":1012,"header":1015,"text":1016,"button":1017,"image":1022},"github-azure-migration",[1013,1014],"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":1018,"config":1019},"See how GitLab compares to GitHub",{"href":1020,"dataGaName":1021,"dataGaLocation":458},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1023},{"src":997},{"header":1025,"blurb":1026,"button":1027,"secondaryButton":1032},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1028,"config":1029},"Get your free trial",{"href":1030,"dataGaName":257,"dataGaLocation":1031},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":731,"config":1033},{"href":583,"dataGaName":262,"dataGaLocation":1031},1786803770842]