A brief dissertation about using GitOps paradigm to operate an application on multiple Kubernetes environments thanks to GitHub, ArgoCD and Kustomize. A talk about this matters has been taken at the event #CloudConf2020
Gitops: a new paradigm for software defined operationsMariano Cunietti
The document discusses GitOps and a new paradigm called cloud native applications. It promotes GitOps as an approach where the entire system, including code, config, monitoring rules and policies are described in a Git repository. This allows the entire system to be destroyed and re-built with no human intervention. It then describes Automium, a solution the author's company built based on GitOps fundamentals to help with cloud transformations.
This document summarizes GitOps and the benefits of using GitOps for continuous delivery and deployment. It discusses how GitOps allows for simplified continuous delivery through using Git as a single source of truth, which can enhance productivity and experience while also increasing stability. Rollbacks are easy if issues arise by reverting commits in Git. Additional benefits include reliability, consistency, security, and auditability of changes. The document also provides an overview of ArgoCD, an open source GitOps tool for continuous delivery on Kubernetes, and its architecture.
ArgoCD is a Continuous Delivery and Deployment tool based on GitOps principles. It helps to automate deployment to Kubernetes cluster from github. We will look into how to adopt and use argoCD for continuous deployment.
This document discusses setting up ArgoCD, an open source tool for continuous delivery for Kubernetes applications, including building and testing source code, deploying Docker images to a registry, and using ArgoCD to apply configuration definitions and deploy applications. It also provides links to additional Dev.to posts and GitHub projects about using Kustomize and secrets management with ArgoCD.
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
Follow along in this free workshop and experience GitOps!
AGENDA:
Welcome - Tamao Nakahara, Head of DX (Weaveworks)
Introduction to Kubernetes & GitOps - Mark Emeis, Principal Engineer (Weaveworks)
Weave Gitops Overview - Tamao Nakahara
Free Gitops Workshop - David Harris, Product Manager (Weaveworks)
If you're new to Kubernetes and GitOps, we'll give you a brief introduction to both and how GitOps is the natural evolution of Kubernetes.
Weave GitOps Core is a continuous delivery product to run apps in any Kubernetes. It is free and open source, and you can get started today!
https://www.weave.works/product/gitops-core
If you’re stuck, also come talk to us at our Slack channel! #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
CI:CD in Lightspeed with kubernetes and argo cdBilly Yuen
Enterprises have benefited greatly from the elastic scalability and multi-region availability by moving to AWS, but the fundamental deployment model remains the same.
At Intuit, we have adopted k8s as our new saas platform and re-invented our CI/CD pipeline to take full advantage of k8s. In this presentation, we will discuss our journey from Spinnaker to Argo CD.
1. Reduce CI/CD time from 60 minutes to 10 minutes.
2. Reduce production release (or rollback) from 10 minutes to 2 minutes.
3. Enable concurrent deployment using spinnaker and argo cd as HA/DR to safely adopt the new platform with no downtime.
4. Be compatible with the existing application monitoring toolset.
This document provides an overview of GitOps and summarizes a training session on the topic. The session covered Kubernetes and Git basics, the motivation and model for GitOps, an example of GitOps in action using Flux on a training environment, progressive delivery techniques like Flagger, and challenges with GitOps adoption. The goals were to explain what GitOps is, understand benefits, gain hands-on experience, and decide if it's right for a team/project. GitOps aims to use Git as the single source of truth for infrastructure and automate deployments by reconciling production with the code repository.
The Power of GitOps with Flux & GitOps ToolkitWeaveworks
GitOps Days Community Special
Watch the video here: https://youtu.be/0v5bjysXTL8
New to GitOps or been a long-time Flux user?
We'll walk you through the benefits of GitOps and then demo it in action with a sneak peak into the next gen Flux and GitOps Toolkit!
* Automation!
* Visibility!
* Reconciliation!
* Powerful use of Prometheus and Grafana!
* GitOps for Helm!
For Flux users, Flux v1 is decoupled into Flux v2 and GitOps Toolkit. We'll demo how this decoupling gives you more control over how you can do GitOps and with fewer steps!
Join Leigh Capili and Tamao Nakahara as they show you GitOps in action with Flux and GitOps Toolkit.
Note to our Flux community that Flux v2 and the GitOps Toolkit is in development and Flux v1 is in maintenance mode. These talks and upcoming guides will give you the most up-to-date info and steps to migrate once we reach feature parity and start the migration process. We are dedicated to the smoothest experience possible for our Flux community, so please join us if you'd like early access and to give us feedback for the migration process.
We are really excited by the improvements and want to take this opportunity to show you what the GitOps Toolkit is all about, walk you through the guides and get your feedback!
For more info, see https://toolkit.fluxcd.io/.
Here's our latest blog post on Flux v2 and GitOps Toolkit updates: https://www.weave.works/blog/the-road-to-flux-v2-october-update
This document discusses GitOps, an operational framework that uses version control and CI/CD practices to automate infrastructure provisioning. It defines GitOps as using a Git repository as the single source of truth for infrastructure definitions, with merge requests used to approve all infrastructure updates. These updates are then automated through continuous integration and delivery workflows. The document also introduces Argo CD as a GitOps tool that uses declarative specifications to accelerate application deployment and lifecycle management on Kubernetes through a pull-based model where the agent on the cluster pulls the desired application state from Git.
A GitOps Kubernetes Native CICD Solution with Argo Events, Workflows, and CDJulian Mazzitelli
Presented at Kubernetes and Cloud Native meetup in Toronto on December 4, 2019
See https://www.youtube.com/watch?v=YmIAatr3Who for a video recording of a similar talk.
Are you looking to get more flexibility out of your CICD platform? Interested how GitOps fits into the mix? Learn how Argo CD, Workflows, and Events can be combined to craft custom CICD flows. All while staying Kubernetes native, enabling you to leverage existing observability tooling.
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
Alexis Richardson, Weaveworks CEO, recently presented this slide deck at the KubeCon + CloudNativeCon event. He covers GitOps - modern best practices for developing apps faster using cloud native tools.
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturasparkfabrik
GitOps è un nuovo metodo di CD che utilizza Git come unica fonte di verità per le applicazioni e per l'infrastruttura (declarative infrastructure / infrastructure as code), fornendo sia il controllo delle revisioni che il controllo delle modifiche. In questo talk vedremo i concetti alla base di CI/CD, ovvero Continuous Integration e Continuous Deployment (o anche Continuous Delivery), pratiche nello sviluppo software che permettono ai team di creare dei progetti collaborativi in modo rapido, efficiente e idealmente con meno errori. Infine vedremo come implementare un flusso di lavoro GitOps usando Github actions e ArgoCD.
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
https://www.youtube.com/watch?v=YmIAatr3Who
Presented at Cloud and AI DevFest GDG Montreal on September 27, 2019.
Are you looking to get more flexibility out of your CICD platform? Interested how GitOps fits into the mix? Learn how Argo CD, Workflows, and Events can be combined to craft custom CICD flows. All while staying Kubernetes native, enabling you to leverage existing observability tooling.
Slides from OpenSource101.com Talk (https://opensource101.com/sessions/wtf-is-gitops-why-should-you-care/)
If you’re interested in learning more about Cloud Native Computing or are already in the Kubernetes community you may have heard the term GitOps. It’s become a bit of a buzzword, but it’s so much more! The benefits of GitOps are real – they bring you security, reliability, velocity and more! And the project that started it all was Flux – a CNCF Incubating project developed and later donated by Weaveworks (the GitOps company who coined the term).
Pinky will share from personal experience why GitOps has been an essential part of achieving a best-in-class delivery and platform team. Pinky will give a brief overview of definitions, CNCF-based principles, and Flux’s capabilities: multi-tenancy, multi-cluster, (multi-everything!), for apps and infra, and more.
Pinky will cover a little of Flux’s microservices architecture and how the various components deliver this robust, secure, and trusted open source solution. Through the components of the Flux project, users today are enjoying compatibility with Helm, Jenkins, Terraform, Prometheus, and more as well as with cloud providers such as AWS, Azure, Google Cloud, and more.
Join us for this informative session and get all of your GitOps questions answered by an end user in the community!
Speaker: Priyanka (aka “Pinky”) is a Developer Experience Engineer at Weaveworks. She has worked on a multitude of topics including front end development, UI automation for testing and API development. Previously she was a software developer at State Farm where she was on the delivery engineering team working on GitOps enablement. She was instrumental in the multi-tenancy migration to utilize Flux for an internal Kubernetes offering. Outside of work, Priyanka enjoys hanging out with her husband and two rescue dogs as well as traveling around the globe.
ArgoCD and Tekton: Match made in Kubernetes heaven | DevNation Tech TalkRed Hat Developers
Tekton Pipelines is an open-source project that focuses on providing a Kubernetes-native, lightweight, easy-to-manage serverless CI/CD framework. Tekton is built for Kubernetes and runs delivery pipelines in pods to scale on demand, and allow teams to fully control their pipelines and dependencies. ArgoCD is a declarative GitOps operator and makes continuous delivery possible by using Git as source of truth for declarative infrastructure and applications. In this session, you will learn how to combine the power of Tekton Pipelines with ArgoCD for a declarative approach to CI/CD based on GitOps principles.
Kubernetes for Beginners: An Introductory GuideBytemark
Kubernetes is an open-source tool for managing containerized workloads and services. It allows for deploying, maintaining, and scaling applications across clusters of servers. Kubernetes operates at the container level to automate tasks like deployment, availability, and load balancing. It uses a master-slave architecture with a master node controlling multiple worker nodes that host application pods, which are groups of containers that share resources. Kubernetes provides benefits like self-healing, high availability, simplified maintenance, and automatic scaling of containerized applications.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021William Caban
The adoption of cloud-native principles brings new challenges. Scaling and evolving operations teams and staying up to date requires the adoption of new operational models and paradigms.
This deck presents how modern paradigms map to GitOps principles and the charactersitics that must be supported by any software used for GitOps.
We will learn how to create repository, pushing, cloning and creating branches. Additionally we will talk about various workflows that are used by teams while collaborating in a project.
GitOps is a way of implementing continuous deployment for cloud native applications using Kubernetes. It focuses on a developer-centric experience by using tools like Git and continuous deployment that developers are already familiar with. GitOps uses Git as the single source of truth for infrastructure configuration and changes. It has four main principles: the system is described declaratively, Git is the single source of truth, changes can be automatically applied, and the system is continuously validated and improved. Common GitOps operators that facilitate continuous delivery include Flux, Argo CD, and Jenkins X. The GitOps model uses a pull-based deployment approach rather than pushing changes, improving security, observability, and productivity.
In one of our weekly training, we’ve talked about Git. Here is a quick overview of the main concepts, basic commands and branching strategy, how to work with Git, how to contribute to an OSS project, …
Git is a distributed version control system that allows for both local and remote collaboration on code. It provides advantages like speed, simplicity, integrity, and support for parallel development through features like branching. Common Git commands include git init to start a new repository, git add to stage files, git commit to save changes, git push to upload local work to a remote repository, and git pull to download remote changes. GitHub is a popular hosting service for Git repositories that provides a graphical interface and social features.
This document provides an introduction to Gitlab CI and continuous integration/continuous delivery (CI/CD) workflows. It discusses DevOps practices and the benefits of Gitlab CI. It then covers how to set up Gitlab runners, write a basic Gitlab CI configuration file, define jobs, stages, variables and environments. The document demonstrates concepts like Docker integration, artifacts, auto and manual deployments, and stopping deployments. It concludes with a live demo of a Gitlab CI configuration.
The document discusses GitOps and continuous infrastructure using Terraform. It describes how GitOps ensures that every change is driven by a change in source control, with the entire system described declaratively and the desired state versioned in Git. Approved changes can be automatically applied. Software agents ensure correctness and alert on divergence. The presenter then discusses their journey using Terraform over 5 years for various use cases and integrations. Common workflows for GitOps using Terraform Cloud, GitHub Actions, and GitLab Runner are presented.
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23msohn
This document discusses using Git for development and code review processes at Eclipse. It provides an overview of EGit and JGit, the history and features of the projects. It also covers Gerrit, a code review system that integrates with Git workflow. The presentation includes demos of using EGit and reviewing code with Gerrit.
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Gibran Badrulzaman
Travelio Tech Talks 2022 presentation
The recommended workflow for implementing GitOps with Kubernetes manifests is known as trunk-based development. This method defines one branch as the "trunk" and carries out development on each environment in a different short-lived branch. When development is complete for that environment, the developer creates a pull request for the branch to the trunk. Developers can also create a fork to work on an environment, and then create a branch to merge the fork into the trunk.
Once the proper approvals are done, the pull request (or the branch from the fork) gets merged into the trunk. The branch for that feature is deleted, keeping your branches to a minimum. Trunk-based development trades branches for directories.
You can think of the trunk as a "main" or primary branch. production and prod are popular names for the trunk branch.
Trunk-based development came about to enable continuous integration and continuous delivery by supplying a development model focused on the fast delivery of changes to applications. But this model also works for GitOps repositories because it keeps things simple and more in tune with how Kustomize and Helm work. When you record deltas between environments, you can clearly see what changes will be merged into the trunk. You won’t have to cherry-pick nearly as often, and you’ll have the confidence that what is in your Git repository is what is actually going into your environment. This is what you want in a GitOps workflow.
Deploying software and controlling infrastructure quickly and safely is a hard task.
In this talk, Brice Fernandes, Customer Success Engineer at Weaveworks, discusses GitOps, an operational model for Kubernetes and beyond to speed up development, while retaining extremely strong security guarantees. Brice describes and shows several open source tools developed at Weaveworks to support this approach. You will have a good idea of how to use the GitOps principles to create software pipelines that are fast, safe, and reproducible, while creating clear and high quality audit trails.
Check out the full presentation on YouTube: https://youtu.be/QdCwUUtcj4I
Git provides several advantages over SVN including faster operations, cheaper branching and merging, and a distributed model. It allows for multiple workflows including creating branches for experimental work or bug fixes. Commits, trees, blobs, and tags provide integrity for file versions and changes. Pull requests enable collaboration across remote repositories. Migrating to Git from SVN and using tools like SubGit can help transition repositories.
How to manage Kubernetes at scale with just git Weaveworks
n this talk, Stefan will speak about the challenges of managing Kubernetes clusters and how driving operations through git can enable dev teams to collaborate on infrastructure the same way they do for app development.
Stefan will explore the GitOps methodology and talk about the benefits of using Flux for Kubernetes cluster management and Helm Operator for application delivery.
He will demo a GitOps pipeline for promoting applications across environments using GitHub, Kubernetes custom resources and Flux automation features.
Introduction to Git for Network Engineers (Lab Guide)Joel W. King
This document provides an introduction to using Git and GitHub for network engineers to manage network configuration files. It describes setting up a GitHub account and installing Git locally. It then walks through various Git commands like configuring global settings, creating a repository, adding and committing files, branching, merging, undoing changes, and cleaning up. The goal is to provide hands-on experience with revision control of network configuration files using Git and GitHub.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
The slide contains Git workflow, command line instructions to work with Git, examples of project management over GitHub.
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityWeaveworks
Join us for a webinar on how to secure your CI/CD pipeline for Kubernetes with GitOps best practices and continuous runtime protection. As modern developers and DevOps teams are embarking on a quest for speed and reliability through automated CI/CD pipelines for Kubernetes, enterprises still need to ensure security and regulatory compliance.
Together with Deepfence, the Weaveworks team will explain and demonstrate how GitOps continuous delivery pipelines, combined with continuous security observability, improves the overall security of your development workflow - from Git to production.
In this webinar we will demonstrate:
Deepfence container scanning
Git-to-Kubernetes using FluxCD
Deepfence continuous runtime security
The document summarizes Ramadoni Ashudi's upcoming presentation on "Next Level DevOps Implementation with GitOps" at the GNOME Asia Summit 2021. The presentation will cover What is DevOps, What is GitOps, GitOps principles, how GitOps works, advantages of GitOps, best practices, and GitOps tools. It will include a demo of a GitOps workflow using tools like Argo CD, Kustomize, Jenkins, Docker Hub, GitHub and Kubernetes.
Git is a distributed version control system (DVCS) created by Linus Torvalds in 2005 as an alternative to BitKeeper after its free-of-charge status was revoked for Linux kernel developers. Unlike typical SCMs that track file changes, Git treats each commit as a full snapshot of the project and only stores file differences between commits. This makes Git operations like branching and merging very fast and efficient. Git allows developers to work offline and each local repository contains the full project history. GitHub is a popular hosting service for Git repositories that allows for collaboration and code review. While Git can be used as a valid SVN client, it is best to avoid rewriting history when using Git with SVN to prevent issues with other team
Yann Albou & Sébastien Féré - GitOps as a way to manage enterprise K8s and vi...matteo mazzeri
The journey to Kubernetes tends be long and tedious as it involves many changes including the CI/CD tool chain. Far from the HelloWorld demo, we will present a real feedback with a solution relying on the GitOps approach without forgetting the legacy world of traditional infrastructures ! The declarative approach — brought by the DevOps movement and enforced by Kubernetes/GitOps — brings a lot of power using Git as the Source of Truth and integrate easily in the enterprise with dozens of applications and IT environments. All these changes shake up more than ever the established assumptions, the existing tooling, the organizational structure and people. This talk is about challenges and solutions identified during our journey in which security and automation are at the heart
Similar to Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD (20)
Microservices DevOps on Google Cloud PlatformSunnyvale
The document discusses microservices architecture and describes how to build and deploy a sample "Hello World" application using microservices. It covers developing two projects ("World" and "Helidon_HelloWorld"), building Docker images using Cloud Build, storing artifacts in Google Cloud Storage, deploying the application to Google Kubernetes Engine, and exposing it via an external load balancer. The microservices architecture allows developing and deploying complex applications by decomposing them into independently deployable components that communicate over a network.
This document discusses an enterprise landscape monitoring system that provides several visual dashboards including host groups, host map with dependencies, service availability trends, and service alert history. It monitors various technologies using protocols like JMX/RMI, SNMP, and integrates with products like TIBCO Hawk. The system can monitor Java processes, file systems, CPU/memory usage, network connectivity, databases, and more. It supports notifications through Slack, ServiceNow, email, and APIs. It also describes service handlers that can automate tasks like restarting processes, garbage collection, and connection re-establishment.
Flavio Bertini, Università "La Sapienza" - Roma: Adapter-Logic Application at Sunnyvale
This document discusses distributed systems and group communication. It introduces JGroups, an open source toolkit for reliable group communication. It then summarizes Adapter-Logic Application (A.L.A.), a JGroups-based integration framework that allows for heterogeneous system integration. A.L.A. uses JGroups features like clustering and high availability to operate in both active-active and active-passive modes for scalability and fault tolerance.
The document discusses Adapter-Logic Application (ALA), a product from Sunnyvale that acts as a single solution for integrating heterogeneous applications and systems. ALA uses standard technologies like XML and Java and can connect to various backends through its controller and connector framework. It offers high availability, scalability and supports legacy systems. Customers can benefit from a unified integration approach and protection against failures.
Choose our Linux Web Hosting for a seamless and successful online presencerajancomputerfbd
Our Linux Web Hosting plans offer unbeatable performance, security, and scalability, ensuring your website runs smoothly and efficiently.
Visit- https://onliveserver.com/linux-web-hosting/
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
2. About me
Denis Maggiorotto
• CTO and shareholder @ Sunnyvale S.r.l.
• 20 years of experience in IT consulting
• Senior Software / Enterprise Architect @ Major companies in public utility,
telco, TV broadcasting and banking sector
• Oracle University Principal Instructor regarding Java technologies (Micro
Edition, Standard Edition and Enterprise Edition) and Oracle's middleware
products.
• Cloud/DevOps Engineer
• Independent IT professional trainer and public speaker
3. What is GitOps?
GitOps is a standardised workflow for how to deploy,
configure, monitor, update and manage infrastructure-as-
code
Core idea is having a Git repository that contains
declarative descriptions of the infrastructure desired in
the production environment and an automated process to
make production environment match the described state in
the repository
12. GitOps principales
• The entire system is described declaratively
• The canonical desired system state is versioned (Git)
• Approved changes to the desired state are (automatically)
applied to the system
• Software agents ensure correctness, feedback and alert on
synchronizations/divergences
15. java-hello-world sample app
WEB server is up! http://localhost:8080/greet
$ java
-cp "./target/libs/*:target/*"
it.sunnyvale.java.helloworld.Main
{"message":" World v.snapshot from host MyPCName! I'm
running in local!"}
$ curl -s http://localhost:8080/greet
• snapshot: the running application version (env. variable)
• MyPCName: the host name where the app is running
• local: the environment name (env. variable)
24. Config repo content
java-hello-world-config
├── base
│ ├── configmap.yaml
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── development
│ ├── application.yaml
│ ├── deployment-patch.yaml
│ ├── env.properties
│ ├── ingress.yaml
│ ├── kustomization.yaml
│ └── namespace.yaml
├── production
│ ├── application.yaml
│ ├── deployment-patch.yaml
│ ├── env.properties
│ ├── ingress.yaml
│ ├── kustomization.yaml
│ └── namespace.yaml
└── staging
├── application.yaml
├── deployment-patch.yaml
├── env.properties
├── ingress.yaml
├── kustomization.yaml
└── namespace.yaml
$ tree java-hello-world-config
Base
Development
overlay
Production
overlay
Staging
overlay
Base dir contains the “base”
manifests
Each overlay contains the
base manifests' specialisation
for the environment (dev,
staging, prod). Specialisation
means only the differences
against the one in base.
Thanks to Kustomize we
benefit from manifest code
reuse between environments!
25. Release 3.0 in development env
$ git checkout master
$ git branch feature-30
$ perl -p -i -e 's/newTag: "2.1"/newTag: "3.0"/g' overlay/developmnt/
kustomization.yaml
$ git add . && git commit -m "Release 3.0" && git push
$ git checkout master
$ git merge feature-30
master branchdevelopment branch
Pull request / Merge
(1) Change the app release for dev env
(2) Actuate changes on the environment
26. Desired state to actual state sync
Argo CD follows the GitOps pattern of using Git
repositories as the source of truth for defining the
desired application state on K8S. Kubernetes
manifests can be specified in several ways,
Kustomize is one of them!
Argo CD pulls a Git branch and synchronise the
app in K8S accordingly.
28. Get feedbacks from the infrastructure
Argo CD integrates with Slack and
send you messages about
synchronisations it makes
29. Release 3.0 in development env
{
"message":"Hello World v.3.0 from host development-
java-hello-world-59dfb6b554-mz4qs! I'm running in
development!”
}
$ curl -s http://development.app.127-0-0-1.nip.io/greet
31. GitOps benefits
• Auditing and attribution
• Separation of concerns
• No crossing security boundary
• Process & constraints enforcement
• Great software human collaboration point
• Easy to validate for correctness (policies)
• System can self heal