► Follow me on IG for behind-the-scenes content 😊: bit.ly/2F3LXYJ ► Become a DevOps Engineer - full educational program: bit.ly/3gEwf4V ▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬ 0:00 - Intro 0:14 - Infrastructure as Code - X as Code 1:31 - Using IaC the wrong way 4:17 - What is GitOps? 4:38 - How GitOps works? 6:35 - CD Pipeline: Push vs Pull Model 8:48 - Easy Rollback 9:27 - Git - Single Source of Truth 10:09 - Increasing Security 11:09 - Wrap Up ▬▬▬▬▬▬ Courses & Ebooks & Bootcamp 🚀 ▬▬▬▬▬▬ ► Become a DevOps Engineer - full educational program 👉🏼 bit.ly/3gEwf4V ► High-Quality and Hands-On Courses 👉🏼 bit.ly/3nIouPW ► Kubernetes 101 - compact and easy-to-read ebook bundle 👉🏼 bit.ly/3mPIaiU
I'm beginning to realize your youtube channel is the best spot on the web for all things Devops. When I learn something from you channels I will always share the URL. We are connected on linkedin. My name is Elliott Arnold. Just want to let you know how effective your Tubes are. Happy 4th of July (Im in America lol)
A pattern we are using is to apply to a very low environment (e.g., dev or a devops dev env) from the PR itself. This allows teams to test the apply of their PR before merging to main and helps catch "apply time" errors. One challenge you have with this is that multiple PRs can overwrite each other's test apply maybe before the first one has been completely validated. To support this we put have a standing rule if there is an open PR < 2 hours old, hold off creating yours, or talk to the requestor first. If its over 2 hours, go for it unless you are nice then go talk to them first. Since we have composed our repos around teams there is rarely a conflict.
Thanks Nana for the great video! Honestly, i don't know why 'gitops' appers as a separate direction, because as soon as you treat your infrastructure as a code, you have to apply all practices that you use for developers code i.e. vcs, build pipelines, tests, stages etc. - because it's a code. But, how to build your 'build' infrastructure as code (egg or chicken:))
'gitops' appears as a separate direction -> Simply speaking, GitOps is IaC. I think it's going in a different direction (personal opinion, I could be wrong) is this practice is popular in container space (especially in orchestration tools like Kubernetes), where there is a concept of operators/controllers which keep looking for declarative config changes on git and making sure deployed state always reconcile with git state. It's the same thing in IaC, where IaC can have CI/CD pipeline doing the same job. Same principle, same workflow, but gaining popularity because k8s (or similar orchestration) becoming more mature.
@@jelledenburger992 In my opinion, the most critical size of GitOps related to "storing IaC files and monitor evolution" is in the testing part. The way in which you verify the deployment (both by reviewing or which some sort of automation) makes the difference. (Just an opinion)
wow! Thank you so much for this review Nana! Super helpful and I finally understand why some people choose to use jenkins versus argocd! Thank you so much!
Wow Nana. I am falling in love with these videos. why I found these videos so late. Thank you so much for these detailed concepts explanations. your videos are exactly what I needed at this point of time. Thank you. Please don't stop.
Thank you! GitOps is really valuable for AI research teams as well. Most of the time, blockers in development are caused by limitations in the infra and the turn around time before requirements are applied are usually long because of submitting ticket requests and discussions just so infra managers can do the changes.
So good! Thank you very much Nana!! What I loved from this video is you make no assumptions, therefore elaborated the idea of GitOps in a very clear way for beginners and probably for advanced users who might lost any bits of info before… brilliant!!
I just discovered your channel and it's really really helping me begin to understand all this concepts and technologies! Thank you so so much, your videos are wonderful
Love this video! You did a great job explaining IAC. XaC was a new concept to me, but I may use this in the future. Also, I appreciated the clear way in which you described the natural evolution of IAC, why the local dev pattern is flawed, and how we solve that with git-managed pipelines.
Amazing and clean explanation. Straight to the point! One question: why the need of a separate git repository? Why not the same production code repository?
I came across one of your videos this morning completely by chance (well, not exactly by chance, ain't it, google?) and now I'm hooked on your channel. Kudos, Nana! All videos clear and precise. This will save me a few bucks. Sorry, Udemy! ;-)
I am new to the devops practices and these kind on videos are really great, simple, clear and easy to understand for me. It helps me to figure out instantly what is what and what direction to go. Thanks 🙏
Many thanks for the video Nana. A really very exciting feature for sys admins and net admins. Could you please consider a video that explains your ideas about SRE role? Ironically I found many professionals who don’t really know what an SRE is!!
Thank you for the explanation. As you mentioned testing the config files and IAC code. Do you have any videos on how to test our IAC code and config files?
Great information! One thing I'd like to add is that in any urgent events (example the need to upgrade infrastructure due to high traffic) you would still want to leave open doors to do this quickly, like just doing terraform apply and skipping the whole commit and CI/CD workflow. Of course you should still commit this change but when seconds count you have to be prepared to break certain rules.
Great stuff as always Nana! I would love to see Rancher/Longhorn/NeuVector type preso on GitOps-CI/CD. For us Rancher on EKS users with CodePipeline, etc. Exciting stuff - thanks again
Hi Nana, Great job once again. You did it right, I am extremely satisfied with more information in less than 12 mins. You got a great teaching skills too :)
Thank you for this informative presentation, as a developer this seemed really obvious to me and it's what we did when we moved to cloud. The CI/CD pipeline is pretty much the same as app dev pipelines. What I'd like to see is the automated testing and validation of IaC - this is a well defined process with rich tooling in coding languages like Java, C# etc etc. but what are the best practises for IaC?
Well explained and very clear, for me the difficulty are testes/unit tests for infrastructure for example with terraform it's not straight same thing with ansible and it takes time (we don't have access to world wide cloud like amazon or google) so for me I am using gitops I would say at 50% and trying to get it to 100% great video thank you
@@rb3694 Hi as I said in my previous comment we don't have access to aws GCP or Azure in my country so virtualization is still using on premise servers using vmware for most of them I mainly use terraform and ansible for IaC and for tests I tried to use ansible with molecule and goss there is also terratest but I don't master go language to be able to use it I am still learning
Topic: Best ways to help identity differences in environments. Dev, QA, Staging, Production. There are so many ways, what are the best practices for maintaining environments for code hotfixes, db structures changes etc. That might be different between environments/servers. Or best ways to validate there are no differences. Broad topic. But curious.
Can you show a live example of how Gitops would work when multiple people are updating it? I would really like to see a real-project like situation where Gitops is helping in project development.
It's actually explained in the video, maybe you missed it. Different people submit different changes as PRs that need to be reviewed and approved by other members of the team. Once the PRs are approved, they are merged into the main branch (sequentially, in the same order they get approved). Each time the main branch changes, those changes are pulled to (or pulled from) the actual infrastructure.
Something that I think is a kind of interview questions. Rollback are ok, but... What does it happen with "migrations", or something that you might need to "rollback", these scenarios are not trivial I think... Great Content and useful!!! I would like to start your intro to kubernetes, Perhaps... following week.
It's amazing lot more better than other videos I watched. Because very clear speech, nice easy and slowly pronouncing words. And lot more efforts put in visualization. This is the key and makes it amazing and best of the best. Keep up the good work. I have one question, how do we test IaC, can we write tests for it, or just create all infra in test account or something and then verify manually???
Or do you create a feature branch and make your changes, and then raise a PR for someone else to review your changes and, hopefully, approve the PR so that you can merge your update(s) into Main?
► Follow me on IG for behind-the-scenes content 😊: bit.ly/2F3LXYJ
► Become a DevOps Engineer - full educational program: bit.ly/3gEwf4V
▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬
0:00 - Intro
0:14 - Infrastructure as Code - X as Code
1:31 - Using IaC the wrong way
4:17 - What is GitOps?
4:38 - How GitOps works?
6:35 - CD Pipeline: Push vs Pull Model
8:48 - Easy Rollback
9:27 - Git - Single Source of Truth
10:09 - Increasing Security
11:09 - Wrap Up
▬▬▬▬▬▬ Courses & Ebooks & Bootcamp 🚀 ▬▬▬▬▬▬
► Become a DevOps Engineer - full educational program 👉🏼 bit.ly/3gEwf4V
► High-Quality and Hands-On Courses 👉🏼 bit.ly/3nIouPW
► Kubernetes 101 - compact and easy-to-read ebook bundle 👉🏼 bit.ly/3mPIaiU
hi nana GitOps seems more like git pull request pls clarify me bit confused..,
I'm beginning to realize your youtube channel is the best spot on the web for all things Devops. When I learn something from you channels I will always share the URL. We are connected on linkedin. My name is Elliott Arnold. Just want to let you know how effective your Tubes are. Happy 4th of July (Im in America lol)
@@elad3958 Wow thank you for this amazing feedback Elliott! Thanks especially for sharing and spreading the word 😊Happy Independence Day! :)
I read many articles but did not find any article in which concepts are explained in a clear and crisp manner. You are awesome!
You have a gift for making complicated stuff seem easy! Your teaching is smooth, clear, and packed with technical expertise.
This the only video one needs to watch to know what GitOps is all about. Great explanation Nana. Thanks.
Thanks a lot Yashkumar, happy to hear that! :)
Presenting and explaining complex concepts in a simplified and easily understandable manner is your superpower! Thank you!
A pattern we are using is to apply to a very low environment (e.g., dev or a devops dev env) from the PR itself. This allows teams to test the apply of their PR before merging to main and helps catch "apply time" errors. One challenge you have with this is that multiple PRs can overwrite each other's test apply maybe before the first one has been completely validated. To support this we put have a standing rule if there is an open PR < 2 hours old, hold off creating yours, or talk to the requestor first. If its over 2 hours, go for it unless you are nice then go talk to them first. Since we have composed our repos around teams there is rarely a conflict.
As always, clear and cogent information with no wasted time. Thank you.
Agreed great channel
Thanks Michael, really happy to hear! 😊
+1
+1, Yes, as always. Thank you
Thats why i am here ;)
Thank you Nana for clear and crisp explanation. It clearly shows your passion for tech!
Thanks Nana for the great video! Honestly, i don't know why 'gitops' appers as a separate direction, because as soon as you treat your infrastructure as a code, you have to apply all practices that you use for developers code i.e. vcs, build pipelines, tests, stages etc. - because it's a code. But, how to build your 'build' infrastructure as code (egg or chicken:))
Alex Have you got the answer to your question. It seems she is not answered
I agree, I find the line between IaC & GitOps to be very blurry. I think most IaC guys already adopt some kind of GitOps without realizing it.
'gitops' appears as a separate direction -> Simply speaking, GitOps is IaC. I think it's going in a different direction (personal opinion, I could be wrong) is this practice is popular in container space (especially in orchestration tools like Kubernetes), where there is a concept of operators/controllers which keep looking for declarative config changes on git and making sure deployed state always reconcile with git state. It's the same thing in IaC, where IaC can have CI/CD pipeline doing the same job. Same principle, same workflow, but gaining popularity because k8s (or similar orchestration) becoming more mature.
We were doing GitOps without realizing it. When I first heard about GitOps I thought that it is a new framework, but at it seems that the name is new.
@@jelledenburger992 In my opinion, the most critical size of GitOps related to "storing IaC files and monitor evolution" is in the testing part. The way in which you verify the deployment (both by reviewing or which some sort of automation) makes the difference. (Just an opinion)
many thanks. I did the gitops in my project for many years. But only now I realized it is called gitops
These videos are great Nana. Thank you so much
wow! Thank you so much for this review Nana! Super helpful and I finally understand why some people choose to use jenkins versus argocd! Thank you so much!
Cristal clear explanation thank you Nana
Wow Nana. I am falling in love with these videos. why I found these videos so late. Thank you so much for these detailed concepts explanations. your videos are exactly what I needed at this point of time. Thank you. Please don't stop.
Thanks. The explanation in video is short and but clear and understandable.
Very clear and understandable explanation of GitOps. Thank you.
Thanks for making the video that finally made the pull based GitOps concept click for me.
Thank you! GitOps is really valuable for AI research teams as well. Most of the time, blockers in development are caused by limitations in the infra and the turn around time before requirements are applied are usually long because of submitting ticket requests and discussions just so infra managers can do the changes.
Loved the video. Simple... Powerful and very visual. I watch every day to gain small amount of wonderful knowledge
we are exactly using & following the same process, good to know follow this in detail and the global standards.
Great explanation on what GitOps is! Loved the CD integration part explanation, it's spot on!
Appreciate your great feedback, thank you! :)
Just clear and crisp. Bless you. Thanks so much
Your videos are very clear and the animation is so sharp ! Thank you
Thanks Nana!!, this is what I was looking for, you made it easy to understand! :)
Thanks Nana for the great GitOps introduction!
Now this is how you make an educational video! Great job!
Nana, your contents are amazing! thank you very much!
Sounds great when you put it that way, perhaps organizations should emphasize more in this, always thanks for sharing!
So good! Thank you very much Nana!! What I loved from this video is you make no assumptions, therefore elaborated the idea of GitOps in a very clear way for beginners and probably for advanced users who might lost any bits of info before… brilliant!!
Hats off Nana for such precise and informative video of topic I was struggling to understand. Thanks and keep posting. Best wishes
Simple and clear. Thank you for putting it up
I just discovered your channel and it's really really helping me begin to understand all this concepts and technologies! Thank you so so much, your videos are wonderful
Outstanding way of presenting an overview with clear and concise info 🙏
Love this video! You did a great job explaining IAC. XaC was a new concept to me, but I may use this in the future. Also, I appreciated the clear way in which you described the natural evolution of IAC, why the local dev pattern is flawed, and how we solve that with git-managed pipelines.
Amazing and clean explanation. Straight to the point!
One question: why the need of a separate git repository? Why not the same production code repository?
Well one logic according to me is
Benefit 1 : Access to infra code to only those team members , clear separation of concern between app code and infra
Nana explanation is amazing
As always, top notch, Nana!
Thanks!
Congratulations from Brazil for the didactics and for the english
I came across one of your videos this morning completely by chance (well, not exactly by chance, ain't it, google?) and now I'm hooked on your channel. Kudos, Nana! All videos clear and precise. This will save me a few bucks. Sorry, Udemy! ;-)
Very nice video, short and concise.
I am new to the devops practices and these kind on videos are really great, simple, clear and easy to understand for me. It helps me to figure out instantly what is what and what direction to go.
Thanks 🙏
Many thanks for the video Nana. A really very exciting feature for sys admins and net admins.
Could you please consider a video that explains your ideas about SRE role? Ironically I found many professionals who don’t really know what an SRE is!!
Thanks Mohamed and yes we will consider it!
Awesome video Nana, thank you a lot!
I'm waiting for one about argocd.. Greetings from Brazil :)
Thanks Nana again, its helpful. I hope will do some hands on...
Thank you for the explanation. As you mentioned testing the config files and IAC code. Do you have any videos on how to test our IAC code and config files?
Nice and clear explanation. Thank you.
Thank you so much for this wonderful explanation!
Very helpful. Smooth explanation!
So clear and useful- thank you!
Hey Nana, Kindly make videos on Network as code, Policy as code, Security as code, Configuration as code. 💯 Thanks.
Great information! One thing I'd like to add is that in any urgent events (example the need to upgrade infrastructure due to high traffic) you would still want to leave open doors to do this quickly, like just doing terraform apply and skipping the whole commit and CI/CD workflow. Of course you should still commit this change but when seconds count you have to be prepared to break certain rules.
great, concise summary as usual :)
Excellent content as always. Thank you, Nana!
Thanks Dane, appreciate your comment :)
Great stuff as always Nana! I would love to see Rancher/Longhorn/NeuVector type preso on GitOps-CI/CD. For us Rancher on EKS users with CodePipeline, etc. Exciting stuff - thanks again
Kindly, make a complete course material on GitOps with all Practical deployments and GitOps structure… end to end GitOps course please
Awesome job Nana - thanks!
Thanks for your support, much appreciated!
Great video Nana!
Crystal Clear explanation Nana. Great work !! Can you please make a video on Chaos Engineering and CHaos Mesh tool. Just a request. Thanks
Awesome! Please more videos on the subject!
Consistently high S/N ratios. Thanks Nana!
Great video. Excellent explanation about GitOps.
Thank you for the great explanation! Easy to understand!
Thank you for this video, i've learned a lot!
Hi Nana, Great job once again. You did it right, I am extremely satisfied with more information in less than 12 mins. You got a great teaching skills too :)
So well explained, kudos to this kind of quality content!!!
As usual great video, simple and easy to understand, this is helping new learners very much. Thank You!
Very clear explanation! We'll have to change focus and start DevOps teams to develop their own CI/CD pipelines
Re: Push vs. Pull, which one is considered better and why?
Love all your courses. Wish there was a course on Apache Spark from you.
loving your videos👏👏 .. very informative and easy language ..please keep making videos for us 🙏🏻🙏🏻
Your videos are wonderful, Thanks!
I'm huge fan of u'r explanation
i was just learning devops but this also makes me interesting.
very nice and useful video, my company flow is the same with your video. Pluse terraform enterprise, which has a queue for TF changes.
Hi Nana excellent content as usual. Tip: you probably need some phono absorbing panels to remove the annoying echo :-)
You can try surrounding the mic with stuffed animals or ruffled blankets.
Thank you as always!
Thank you so much! Brilliant video!
Thank you for this informative presentation, as a developer this seemed really obvious to me and it's what we did when we moved to cloud.
The CI/CD pipeline is pretty much the same as app dev pipelines.
What I'd like to see is the automated testing and validation of IaC - this is a well defined process with rich tooling in coding languages like Java, C# etc etc. but what are the best practises for IaC?
Great Explication thank u very much , Just I have a question , u have a great presentation so what tool did u use to make this presentation please ?
Well explained and very clear, for me the difficulty are testes/unit tests for infrastructure for example with terraform it's not straight same thing with ansible and it takes time (we don't have access to world wide cloud like amazon or google) so for me I am using gitops I would say at 50% and trying to get it to 100% great video thank you
testes for infrastructure? i'd like to know what sort of tools you use for that son
@@rb3694 Hi as I said in my previous comment we don't have access to aws GCP or Azure in my country so virtualization is still using on premise servers using vmware for most of them I mainly use terraform and ansible for IaC and for tests I tried to use ansible with molecule and goss there is also terratest but I don't master go language to be able to use it I am still learning
Topic: Best ways to help identity differences in environments. Dev, QA, Staging, Production.
There are so many ways, what are the best practices for maintaining environments for code hotfixes, db structures changes etc. That might be different between environments/servers. Or best ways to validate there are no differences.
Broad topic. But curious.
As always, awesome content
Can you show a live example of how Gitops would work when multiple people are updating it? I would really like to see a real-project like situation where Gitops is helping in project development.
It's actually explained in the video, maybe you missed it. Different people submit different changes as PRs that need to be reviewed and approved by other members of the team. Once the PRs are approved, they are merged into the main branch (sequentially, in the same order they get approved). Each time the main branch changes, those changes are pulled to (or pulled from) the actual infrastructure.
@@laffinkippah explaining a concept and showing a practical example is not the same thing. maybe you missed that?
Thank you for the video.
Very informative.
So good videos, dude, helped me so much 🤗
Something that I think is a kind of interview questions.
Rollback are ok, but... What does it happen with "migrations", or something that you might need to "rollback", these scenarios are not trivial I think...
Great Content and useful!!! I would like to start your intro to kubernetes, Perhaps... following week.
I love these slides, how do you make them?
It's amazing lot more better than other videos I watched. Because very clear speech, nice easy and slowly pronouncing words. And lot more efforts put in visualization. This is the key and makes it amazing and best of the best. Keep up the good work. I have one question, how do we test IaC, can we write tests for it, or just create all infra in test account or something and then verify manually???
Great video, thanks for sharing.
Your videos are great !!!!
Thank you Nana.
Awesome video! Congrats
Or do you create a feature branch and make your changes, and then raise a PR for someone else to review your changes and, hopefully, approve the PR so that you can merge your update(s) into Main?
Thanks for this knowledge.
Thanks for the video, is so good, Saludos desde Perú! :3
outstanding explanation
Thanks, that was very clear!
hey Nana, thank you :) learning a lot from your videos
That's great to hear, thank you Akash :)
How do you check your changes are good before making the PR? Do you have another environment for this?
I have the same question.Lets say I'm working on new yaml .where would I run it from my local before committing it ?
Thanks for the video. How about one on Crossplane? Do you see advantages to using it over Terraform in the context of GitOps?