Deploying, managing, and operating cloud native apps quickly and reliably is the problem that Application Delivery with GitOps solves. Having a reliable, repeatable and secure app delivery process means we can meet customer needs faster. Small changes that are delivered quickly reduces the risk of deployments allowing development teams to focus their efforts on bigger business problems rather than worrying about deployments.
Kubernetes and containers have made cheap immutable infrastructure possible. Despite this, it is not as straightforward to implement this into day-to-day app delivery operations. For devs, delivering an application with reliability and efficiency might imply becoming an IT expert. Ideally, a process that connects to their artifact delivery end point and takes care of deployment while providing feedback of the apps state would solve their needs. In some way app operations, roll out, workload instantiation and platform operations need to speak the dev language for them to be able to deliver with confidence.
Weaveworks GitOps is a set of processes which everyone is already familiar with, so the on-boarding processes are negligible, and there’s less load on the team to learn new tooling. It’s incredibly enabling, whilst being almost invisible day to day, as it just sits there doing what we need!” - John Clarke, Director of Software Development, GFS - learn more.
What it does
DORA (DevOps Research and Assessment group) have demonstrated that business performance will improve if the frequency of deployments increases.
Improving the speed and ease of deployments means developers can reduce the time invested in making changes. Increasing the reliability of service operations means reducing the time to restore a faulty app in the production environment. All four metrics are important when planning for a successful app delivery process.
GitOps puts Git at the center of the Application Delivery pipeline. With GitOps every part of the deployment configuration is stored in Git so that there’s a single source of truth.
Let’s explore how Weave GitOps Core manages automated deployments.
When a developer commits a change, it triggers the CI process which results in a new container image being added to the container registry. The deployment agent in Weave GitOps Core is always listening for any resource changes that are committed to the container registry. If a new image is detected it deploys the changes automatically to the production cluster.
In case of a faulty deployment or image, the developer can easily revert by rolling back in Git.
Teams running Weave GitOps Core:
- Improve security by completely avoiding manual kubectl commands to apply updates.
- Minimize configuration drift and ensure the production cluster is always converged to the desired state in Git.
- Increase consistency and standardization with consistent end to end workflows across the entire organization.
GitOps feels like the right way to manage Kubernetes clusters. Other pre-containerization CI/CD tools are flakey, fragile and take up valuable time - engineers should focus on solving code problems, and not on the deployment process.” - Garry Wilson, Site Reliability Team Lead, Curve - learn more.
Why should I care?
Continuous deployment automation with an integrated feedback and control loop speeds up your mean time to deployment (MTTD) by supporting more frequent releases. Declarative definitions kept in Git enable developers to use familiar workflows, reducing the time it takes to spin up new development or test environments to deploy new features. Teams can ship more changes per day and this translates into faster turnaround for new features and functionality to the customer.
- Familiar tooling: The chances of scoring more goals or baskets and winning a home game are way bigger than winning away matches. Don’t make your devs learn a new tool when Git and it’s web services (GitHub, GitLab and Bitbucket mainly) are their home. GitOps is Work from Home for devs. More productive from an environment you know well.
- Self-service ops: control day-two app operations from within Git. If devs can manage their own pods and namespaces from git, they can try new things more frequently without involving or scaring infra or security teams. They are effectively operating securely and freely and become more productive.
- Resilient teams and systems react faster to faulty production environments. Especially if they use Weave GitOps. A complete copy of the system is recorded in every commit in git. Rolling back to the previous, working version of the app is a matter of reverting or resetting to a previous version. The reconciliation system takes care of rolling out again to the specific environment.
- Weave GitOps will improve the productivity of your teams but how can the increasing number of app improvements not come at a cost of more faulty updates? The nature of the pull request, with its checks and balances will reduce disruptive change since every change to the app will either require visibility or authorization from different stakeholders. The accountability of the process will allow for every upgrade of the app code to count and add value.
To learn more on the benefits of GitOps enabled pipelines visit our Guide to GitOps.
Find out more
Weave GitOps Core makes GitOps a reality by implementing the core principles of GitOps. It enables declarative infrastructure, complete pipeline automation, and built-in security guardrails as every change to the system is versioned and audit-ready. Try Weave GitOps Core to experience continuous delivery at cloud native speed.
How GitOps Boosts Business Performance - The Facts
Our latest whitepaper explores findings from the recent DORA report, including the direct correlation of the four key metrics and GitOps patterns. Learn how to boost business performance.Download Now