Now, taking into account our software development life cycle and the planning
that goes into being able to integrate new tools, features, and all sorts of
other great bells and whistles to our cloud environment.
We have to be able to do this in a continuous integration and continuous
development type model.
Where simply put continuous integration means that we're constantly improving
by including new features and code that we develop or even new physical systems WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
by including new features and code that we develop or even new physical systems
into our actual cloud environment.
And constant development allows us to be able to go through and continuously
develop new features or even security patches for some vulnerabilities that we
find later on.
Now, we're going to take a look at these individually to make sure that we don
't confuse the two and then circle back around to put both of them together with
an example.
The first one I want to go through is continuous integration. Now, CI is the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
The first one I want to go through is continuous integration. Now, CI is the
practice of constantly integrating code and changes into the existing program
or programs throughout its entire life cycle.
That's why I wanted to touch back on the software development life cycle that
we did just a moment ago.
And with regard to our software development life cycle that we just learned
about the process of continuous integration follows the exact same path as new
software being developed.
The tricky part here is the constant integration of our finished product making WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
The tricky part here is the constant integration of our finished product making
its way into the live environment.
Our testing phase of SDLC is where CI or continuous integration can be
validated the most, but requires us to maintain a sandbox environment that is
closed to as our real world production network is part of the process.
And this may not always be the case depending on our organization and budget.
So if we're restricted by budget or just the fact that we're a smaller
organization, we're going to try to test as best as we can and try to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
organization, we're going to try to test as best as we can and try to
incorporate a second set of eyes to validate.
This is more the review portion of the software development life cycle. And
that way we can make sure that we're sure of what's being developed before it's
being launched.
And continuous integration isn't all about coding and introducing new programs
to the mix. It could also be that we're trying to expand our actual
infrastructure.
And we're going to be adding more memory to a server. We could be adding new WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And we're going to be adding more memory to a server. We could be adding new
servers altogether to account for load balancing as an example.
And while CI uses the SDLC model overall development follows a pipeline flow.
And this would be source build test and deploy source would be actually this
source code that we're using to be able to develop whatever it is we're trying
to develop.
This could be hardware as well. So source could be a piece of physical hardware
build would be more of our compiler. So if we're doing this in a C++ WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
build would be more of our compiler. So if we're doing this in a C++
environment, we would actually have to compile it out or go into an actual do
cker.
And we're going to test basically go through and see if there's anything that
we need to double check fix patch for security purposes and then we'll go into
deploying or staging everything up for our actual production environment.
All this kind of falls into that constant development that we've been going
over and speaking of development, that's where we're going to pass off to our WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
over and speaking of development, that's where we're going to pass off to our
next portion of this section.
Because like I said, I wanted to separate CI and CD a little bit before we
bring them back together to hold hands.