Conf42 DevOps 2024 - Online

Unlocking Agile Efficiency: DevOps Speedup with GIT

Video size:

Abstract

In this presentation, we will explore how to unlock agile efficiency by leveraging the power of DevOps and Git. Discover how integrating Git into your SDLC can streamline collaboration, enable effective version control, and facilitate continuous delivery

Summary

  • Jonathan, Jill or Johnny Punk is a DevOps and si re engineer at Lawan. Today we start talking about for unlocking agile efficiently DevOps speedup with kit. Let me share with you this little quote. Life is really simple but wins is making complicated by confusions.
  • Start with DevOps and Agile. What is exactly agile for define Agile? The beginning side are related for waterfall, right. Another part we have the new age that is related for agile. That reduces friction on the development and QA and business side and you generate small and quick releases.
  • When we move for DevOps, we base on agile, right? But we need exactly the agile are currently implemented on the company. If the company doesn't have this culture, it's very hard to implement DevOps.
  • Let's move on to the second part that is related for the CDLC and also the BCs. These are the biggest core values that we have currently. We need to test exactly in every part of the software development lifecycle, the new feature that we will to deliver in every time.
  • BCS is a version control system for software development. When you drop all your values for the code, you also enable infrastructure as code. It doesn't just occupy for development site, you impact more than this.
  • When we start cyclic talk for DevOps site we have here three biggest part. One that is related for development, another for operation and also the customers. How do you change the culture and move a lot of things for ascode definition.
  • You need to create here in your GitHub organization you create a new free organization. When you create this organization you need to enable the tokens for this organization. You need to generate this configuration like a manual site. And also if you will generate these configurations like continuous documentation.
  • So we talk in a big scope about the agile, about DevOps, about what is bcs and CDLC. What kind of features we can enable using exactly the IAC concepts behind of the DevOps and how to base it on these tools. That is the biggest challenge here.
  • So that for today. I appreciate if you will be contact for me. You can follow me on this social network that you able to check for that. Thank you for your time and see you on the next one.

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hi everybody, welcome to this conference. Today we start talking about for something DevOps association about for Gita and also another scopes around for DevOps side. So we start talking about for unlocking agile efficiently DevOps speedup with kit. This is me. This is me. Jonathan, Jill or Johnny Punk. I'm a DevOps and si re engineer at Lawan. You can follow me on Twitter or X like at jaden 24 or LinkedIn as Johnny Punk or Instagram as jaden 24. Three one or in YouTube. You can find my videos at Johnnypunk too. Let me share with you this little quote. Life is really simple but wins is making complicated by confusions that it's true because you start this journey for DevOps site for a complicated stuff. But when you grow in DevOps you start to generate more complicated stuff but more easily. So go ahead. That is our table of continuous today we talking about for agile something related with DevOps, common concepts here related for ETLC and also bcs and how we can use bcs and DevOps. And we have prepared for you this a little demo for you. So start with DevOps and Agile. What is exactly agile for define Agile? We need to take a look for this part for the beginning side. The beginning side are related for waterfall, right. When we start with waterfall we define how to waterfall works and how to generate this on a big scope, big requirements for the companies. So when these companies define these big requirements, we have also a big times. With these big times we have a little customer feedback and we generate a bigger releases for every new feature that you can try to deliver for the teams and also for the companies. And you have these four independent teams. So you have for one side the development teams, for another side the QA teams and also for another side the business teams. And also these teams have not well communication and they generate a lot of friction for the communication and the communication riskily. When you start talking based it on Waterfall. Another part we have the new age that is related for agile. When we talk for agile we need to define exactly how to data active works mode for the companies is established because you generate in a lesser scope the new features and also you can address the new efforts for the same path and the same goal. But you split better these goals. And how do you and your team also generate these efforts? So you generate the granular requirements. You have small teams, you have fast customer feedback. That is pretty awesome because that reduces actually this friction on the development and QA and business side and you generate small and quick releases, right? Because we have small times, we have more granularity for the requirements and also you generate this in a more easily way. So you enable for that exactly the part that we need to talk about the agile side, that is the team's collaboration. Because you start with agile for enable that. So what is the agile manifesto score values? We need to define exactly this because the manifesto mentions to us that individuals and integrating over process and tools, right. For another one, customers collaboration over contract negotiation, working software over comprehensive documentation and responding to chains over following a plan. That is the core values for this agile manifesto. And also we need to address our four for the customers and also for the developments and UAE and business teams need to address that. So let's continue with another when we move for DevOps, we base on agile, right? Because we need exactly the company are currently bulk in this culture site. Because if the company doesn't have this culture, it's very hard to implement DevOps because we need to reduce this friction. But if the friction could become from the orifice site, it's very hard to start to do this implementation for the companies we comes to support exactly the interactive, the granular requirements, the small times, the fast customer feedback, the most unquit releases and the collaboration, et cetera related for this. But we need exactly the agile are currently implemented on the company or if the implementation for DevOps will be in a wrong way. So based on DevOps we define exactly these features or these core values for DevOps, that is columns for one side the culture that comes from the agile, another side that related for automation. And also how do we can use the automation tools and also the scripts for doing something for the SDLC and also how do we can lean and we reduce exactly the perspective for the customers and how do we can impact in a bigger way this new feature for the company's values. So for another part we need to share, because when we generate this new culture, we need to share exactly how to the culture will be involved with that. And also we need to measure, because if we don't have this measure, we don't have this new picture for the impact that we currently generated for the company and also how to impact the process. Let's move on to the second part that is related for the CDLC and also the BCs. These are the biggest core values that we have currently, because we define here exactly how to the software development lifecycle recurrently is and how do we can comes to LDIs and move around from one site to another and start this software development lifecycle right. For one side we need to define exactly these requirements analysis that every company needs to start and the second part are related for design. How do these requirements will be adapt or could be addressed. This new effort for the company that is part of the development team and also the Q 18 and the business intelligent team and how to address this new platform, the notary side related for the implementation but not exactly just how to the development team create new feature for the company and these new core values that you need. So that it's very important that you have in mind because if you doesn't you need to redefine exactly what the process is. And also you have another part that is related for the testing, right? Because we need to test exactly in every part of the software development lifecycle, the new feature that we will to deliver in every time. So let's move on for the second term that is BCS. And also you can know this term like a version control system. And this version control system help to us exactly how to base it on the software development lifecycle will be defined these functionalities or using the code side, right. That it's not exactly for the development side for the development team. Sorry. Because when you drop all your values for the code, you also enable infrastructure as code. You also enable automation as code and security as code and a lot of new valuables for as code integration that currently you have for your team, right? Then you need to take this online because it doesn't just occupy for development site, you impact more than this. So based on that we move for the next topic that is related for the BCs and DevOps, right? When we start cyclic talk for DevOps site we have here three biggest part. One that is related for development, another for operation and also the customers will be a little history here related for the wall of confusion and this wall of confusion how to the development part? Take this bomb that is called code and send to Operation team. That is the first part that we need to cover here because that is exactly how to DevOps start this new change for culture. But exactly how do you change the culture and move a lot of things for ascode definition, right? That is exactly that. We need to take a look for that. Because as here we saw the development guy but this could be the QA or could be the security side or could be the infrastructure or could be a networking side. So we need to take this more in a Huk scope and also address the new Sephora for how we can operate that using the bcs for the company with that in mind we enable this collaboration between teams, right? We exactly start the points for the CI and CD part. When we talk exactly for the CI is how we can get this code, any code for example for Java or Python or node. How do we can integrate this for our company values. For example we take could be a Java application and we get this code and we download from our version control system. With that we need to generate an artifact for and also when we compile and test and generate this artifact at this we define exactly the end of the CI, the integrating for this part, right. That we call it continuous integrating. We move very quick to the deployment side. When we start talking about for the deployment we exactly take a look for how the application will be deployed on if this application deployed on kubernetes or could be on Docker or could be in virtual machine. I don't know, depends exactly what the software needs will be deployed on because that depends exactly for the architectural partner the architecture software takes for generate this. But at this moment you generate your artifact and also you will deploy that artifact on the cloud provider or could be on prime. That is the focus that we need to define here. With that in mind we enable a couple of tools behind of could be Jenkins, could be Gillab, CI, GitHub actions Azure, DevOps, a lot of tools behind of that is an orchestrates movements and tools that you can enable for. But at the end of the day you need to take this look for the CI and CD part, right? We need to talk about in deep about this because when we talk about for these new challenges we need exactly mood for the culture and what is the concepts around for the current components that we need to take a look. So we move very quick to the demo site. This is a little disclaimer, please don't execute this on production because it is a stable code. But you need to define will be another consideration for execute that on your your production environment. So we can move very quick here for this code. And also I currently deploy on you need first or could be you have enable this new consideration for we will deploy this code on GitHub, right? This is as part of GitHub configuration. Also we use here GitHub API and also we built a lot of code behind us for using these APIs and how do we can get advantage from these APIs and how do we enable new features for our companies and also for teams. Because at the end of the day the objectives for us like at DevOps engineers are related for hey, how do we can enable more easily for the teams, right? And with that we return very quick here for the slides and also we talk about for this consideration about the culture that we talk about for DevOps site because our part for the one site for the DevOps that we define it for. So for that of mine we start here and also I generate a lot of configuration that I drop here related for the readme file. Let me share with you this drop here and this is pretty as unfortunate. So you need to create here in your GitHub organization you create a new free organization and also in my case I call it Conf 42 2024 DevOps Johnny Pong belongs to personal and skip up members for this. When you create this organization you need to enable the tokens for this organization and you need to generate this configuration like a manual site because this is a very specific configuration that you need to take once a time and you don't need to execute anytime when you create that organization. So with that in mind you can follow these steps and also you can move for the next one. The next one are related for how do you create your personal access token? How to this access token will be defined for for one site for the repository permissions, another site for the organization permission. If everything going good you copy and paste like this little export that you have here. And also when you have here this export you can play with the APIs behind of 1 bar for how you can test that are related for this cure comments here. And also if you copy and paste this on your terminal you saw something different from 401. That is an auto site return value for the codes from HTTP. And also if return exactly at this moment here. This is a little gque JSOn file and also we can drop here in a pretty nice output here. And also if you see that it's because you can see and the token works properly and you saw here more full command that you can use for this exactly how you can interact with the API for the GitHub site. But it's the same yeah you have here the reference for and that's it. So that is the first part the configuration site. Then we need move very quick for this file that is called tool version and currently use hdf tooling for manage my environments on the folder side. And also these define exactly what kind of version I'm currently working on every part of this repository you need to install Python in this version and terraform, Pulumi and Opentofu. And also if you will generate these configurations like continuous documentation, you can install terraform docs and also execute commons comments for generate auto documentation for the terraform and Opentofu implementation. So that is pretty similar to this. Let me share with you when you saw the auto documentation for terraform that is something reference like this. The name, the providers, the modules, their resources and the inputs and the output generated for the different modules that you currently work and develop for the company, right? That is pretty awesome guide because when you start for that you define exactly how to the company generate or start the journey for the continuous documentation. But let's move very quick for a start for one site that is related for Opentofu. For that part we have here the main that is for terraform implementation. Also we have the provider here that is for gap at this moment in the version 50 and also we move here for the variables and we saw here exactly the conf 42 2024 DevOps and I wrote another command for rewrite these variables but it's just because you need to exactly drop here what is your current organization that you generated for and also what is the current user that you generated for interact with these APIs. That's the first collaboration. So let's move very quick for this readme on the terraforms, the opentofu sorry for this and also we enable tofu. So we need to move exactly for tofu site for Opentofu folder and we can initialize this repository or this configuration that we generated for very quick because at the end of the day you generate this for I don't know what happened here. Let's present this command because it's not normally that is the normally output for. So we have saw here exactly the collaboration, the initial collaboration for and also we generate here the first template repository. So if we move very quick for the configuration for my organization site GitHub.com is it related for comfort to Unipunk? And we have here our organization, right? We saw here exactly the settings the people surround for this organization. What is the current teams or repositories or project or something like that. So when we send this comment we generated exactly the new repository on this organization. So we need to create exactly the field repository that are related for the template repository, this template, define it for the new repositories based on this organization. You could be defined this for the current teams or hey, we need to define what is the template repository for Java or template repository for docker or for terraform or something like that, right? Then we can enable and create this field repository here. And also little move for js fear repository not found here. Yes, fears or repository are not found. It sends this general for this collaboration tofu apply. And also if we send this tofu apply we show here exactly that will we create seven new objects on GitHub that is related one for the field repository, the second one are related for the main branch, define it for this repository and what is the current branch for this repository. And also we create here the development team and we enable the repositories for this team. What is the access for this team for these new repositories that could be you generated for and you adhere exactly a new members for this team exactly at this moment at this scenario related for just me and you define exactly the branch protection that is I think the most important here because when you enable the branch protection for your repositories you exactly start with one definition for your teams that is related for what is the key strategy that you will be covered on. Because when you define this strategy on your code, you define exactly what kind of rules this repository will be defined for. So that is pretty important because at the end of the day you need to cover exactly how to the teams are enabled this feature and how to these teams are focused on and how to these teams are exactly send and generate this. So let me check here exactly what happened with the execution because it is not normally that it will be wrong. You have our field repository. Okay, I know what happened here, let me move because in variables I need to move and rewrite here. That is Johnny Pong and also my user is Jaden 20 right sense again. And like you see the time that take this new execution take more time. So the execution are currently well so we can wait a couple of minutes here and just refresh here. And you saw exactly the new repository, the templates and the teams if you move for the team side you create and see here exactly the element our team and this team I was added for that and also for this team currently have one repository and this repository you can drop in and if you saw here exactly for this repository in the settings side you saw on branch side the configuration that we define it on. So that it's pretty awesome because you exactly define these rules at the end of the day very quick and just take a couple of minutes to deploy that on GitHub, right. I generate the same code for terraform and also for Pulumi. But let me check with Pulumi because when you enable this using these IAC tools are very nice. The benefits for each tool when you deploy them so we can send here to destroy and these rebirth changes that we generated on GitHub site. Yes, and move very quick to Pulumi. And if you know Pulumi or Kulpetan you have the capabilities here more than IIC tools because I wrote this configuration on using the Python languages. Let me move for Pulumi and if we currently want to follow these steps you can copy and paste here. But the most important here is this install. If you clone this repository install that are currently take information from your token and download the dependencies and start this communication from the API side so we can activate that and send the Pulumi GitHub I currently done that and also the Pulumi install doing in the same way you could skip this, that is related for how you can update the requirement files and you can send here the same attribute like a tariff, right. You can generate this associate for the target or could be you generate in a general way. So if we saw and we send here this, they will be generate nine elements on this implementation for the infrastructure side. So they are currently generate four here. Could be the wrong parameters for the tree internally on polyme will be wrong because I execute in a wrong way. But you can follow these steps and you can generate this in a good way. So if we refresh here move very quick again for our organization we saw exactly the same implementation. So that is the power behind because you enable the same capabilities using a lot of IAC tools and also you can define what is better for you and your team. What is the capacity for your team exactly. You need to take a look for that. Let me don't forget destroy here destroy IPn s dev that is related for the stack and I confirm that will be delete all. So we return here for our presentation and this part of the end of the demo site. Let me share with you a little brief for this summary that we know for today. So we talk in a big scope about the agile, about DevOps, about what is bcs and CDLC and what kind of features we can enable using exactly the IAC concepts behind of the DevOps and how to base it on these tools. We can support exactly this part of the culture. That is the biggest challenge here because it's not easy when you know exactly how to the company works, but you don't know how to implement these tools for. And another is the same if you know a lot of the technical implementation for tools that it's good. But if you don't know exactly how to your organization generate this or could be your organization. Generate a process for something related for the sofa durm lifecycle or new feature or something related for it's very complicated. Try to generate these new features based around the companies that you currently define it for. So you need to generate this balance for that site. That is the DevOps we have these new jobs or could be. These roles are very important currently on the companies right? So that for today. Thank you for joining to this session. I appreciate if you will be contact for me. You can follow me on this social network that you able to check for that. And also here are a couple of reference that I taken from you can follow me please go ahead. Thank you for your time and see you on the next one. See ya.
...

Jhonnatan Gil Chaves

DevOps Engineer @ Globant

Jhonnatan Gil Chaves's LinkedIn account Jhonnatan Gil Chaves's twitter account



Awesome tech events for

Priority access to all content

Video hallway track

Community chat

Exclusive promotions and giveaways