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.