 Hi, I'm Cesar Cvedra, Technical Marketing Manager at GitLab. In this video, I'm going to show you how GitLab uniquely enables rapid innovation in your DevOps practices. When developing application features, many stakeholders across your organization usually collaborate towards their implementation. Managers, architects, UI designers, developers, system and database administrators, DevOps engineers, and security engineers, for example. Sasha, a developer using GitLab, gets a request from Presley, the UI designer, for updates to an application user interface. The issue contains a description of the update as well as a design file. Sasha opens a merge request to start working on the solution to the issue. In GitLab Flow, all work towards the resolution of an issue takes place in the merge request early on in the development process. She brings in Sydney, a database administrator, to handle updates to the database due to this request. Using a GitOps approach, Sydney manages the AWS RDS MySQL database using Terraform. Sydney also loops in Devon, a DevOps engineer as a consultant to ensure that the Kubernetes cluster can handle this update. Devon manages the integration to Kubernetes clusters on GCP and AWS using a GitOps approach. With GitLab, you can do design management and collaborate with other stakeholders on their own assets, such as UI design documents, source code, database configuration files and Terraform files to get the job done and as part of a single conversation across the entire software development lifecycle, which empowers you to innovate more rapidly. As part of this update, Sasha would like to check the application for any security vulnerabilities, such as buffer overflows and license dependencies. She creates a pipeline and leverages some of GitLab's built-in security and compliance templates, which are based on best practices, such as static application security testing, dependency scanning and license compliance. By doing this, Sasha can focus her time in creating new code instead of spending a lot of time putting together a security and compliance test suite. Plus, she's catching security and compliance vulnerabilities early so that they don't happen in production. After running the pipeline and addressing all vulnerabilities and before deploying the application to the staging and production environments, Sasha would like to provide all stakeholders an ephemeral environment for them to review the application changes before they emerge to the main branch. GitLab offers this capability, which is called review apps. To enable it, Sasha edits the GitLab CI YAML file and adds a review stage and includes the built-in auto-deploy template, which streamlines the review process, including the automatic creation and destruction of the review environment. At this point, she also adds the corresponding staging and production stages, which also leverage the auto-deploy template and include canary and incremental production deployment strategies. These GitLab built-in templates allow her to spend more time developing and creating new code. To see the review apps in action, Sasha makes the user interface changes to the application and commits the updates. When the review ephemeral environment is up, all stakeholders can quickly verify the updates to the application, allowing them to focus on innovation and developing new code. Sasha has used GitLab's Kubernetes integration capabilities to easily spin up EKS and GKE clusters already, saving her a lot of time. There are a variety of applications that can be deployed to the cluster with the click of a button, such as web application firewall, cert manager, Prometheus, GitLab runner, crossplane, Jupyter Hub, Elastic Stack, Fluent T, and GitLab container network policies. In addition, GitLab will automatically spin up and tear down environments as needed by the CICD pipeline. For example, GitLab has automatically spun up pods for the review, staging, and production environments. All this infrastructure automation removes the burden of having to manage infrastructure off of Sasha so that she can develop and create code faster. The pipeline that Sasha has implemented so far builds the application, tests it for security vulnerabilities, does a dependency scanning, checks for license compliance, automatically spins up and tears down a review environment, and finally it deploys the application to staging and production. Sasha feels like this is a good pipeline to share with her entire development organization to standardize the way they do work. Other developers can reuse this new template in their project so that they can get right to coding and creating new applications. To make this template, Sasha needs to rename her pipeline so that it suffix is .gitlab-ci.yaml. For example, the pipeline template could be named rapidinnovation.gitlab-ci.yaml. She would then need to place it in the directory lib slash gitlab slash ci slash templates of her GitLab installation. This will make the template appear in the GitLab pipeline creation pop-down menu. Pipeline templates allow developers to create reusable pipelines that capture prescribed ways of doing CICD work within their organizations so that they can spend more time developing code. GitLab offers a specific pipeline template called AutoDevOps, which is based on best practices. You can leverage this pipeline in your projects. Instead of implementing her own pipeline, Sasha can enable AutoDevOps in her CICD project settings and select a deployment strategy. In this case, she selects automatic deployment to staging, manual deployment to production. AutoDevOps will detect the language being used by the project and execute the appropriate build and run the CICD pipeline in its entirety. The AutoDevOps pipeline shifts work left to find and prevent defects as early as possible in the software delivery process. The pipeline then deploys the application to staging for verification and then to production in an incremental fashion. As you can see, AutoDevOps saves you from implementing your own pipeline so that you can spend more time innovating. We have gone over how GitLab uniquely enables rapid innovation by ensuring that everything is where you need it and when you need it, empowering you to focus on creating and developing innovations, delivering solutions faster, putting new products and services more quickly in the hands of your customers and remaining competitive and all within a single application. I hope you enjoyed this video and until next time.