The software development lifecycle is imperative regardless of whether we're
working inside of just
programming, doing a maintenance on a particular system, or if we're actually
developing something
that's going to go inside of our cloud infrastructure. Now, I know that
software as a service doesn't
really allow us a lot of access to the actual programs that are being ran
inside of our provider's
responsibility of the cloud infrastructure. But that's okay because as you'll
see as we go out
through this portion of the skill, that SDLC can be implemented from our WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
through this portion of the skill, that SDLC can be implemented from our
vantage point or our
foxhole to make sure that the programs being implemented or the applications
meet a certain standard
mostly to do with security. But as we start going into platform as a service
and infrastructure as
a service, we have definitely have more control over the application, the
runtime, and the operating
systems depending on which model we're utilizing for our organization. Now, if
you've seen this before, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
this should look pretty familiar as this is the software development lifecycle
from a
other course here on CBT Nuggets. I had the link for below as I did this skill
also. The reason I
bring this up is because this software development lifecycle process is the
general idea of how we do
software development life cycles. It's not rated to just one particular method
or program or vendor.
It's the overall idea of software development life cycle. Now, there are a WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It's the overall idea of software development life cycle. Now, there are a
little bit of changes
inside the Cisco modeling. And I'm going to show that on the screen here. And
this is the one that I
really want to go through because you'll notice that even though it is similar
to what's actually in the
overall generic software development life cycle, we rename a couple of things
when we're taking a
look at the Cisco one. And the reason for that is is because it's tailored for
our cloud infrastructure
environment. Now, stay in the same. We always deal with planning because we WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
environment. Now, stay in the same. We always deal with planning because we
have to know what's
being implemented, even the simplistic task of identifying systems to restart
in their cycle times
needs to be planned out. Users are going to be working all hours if we're in a
large organization
that has employees or users in different time zones. So we don't want to just
restart everything
all at once. Something that has to be planned out. Now, when our development
team is coming up with
new implementations, these have to be designed out with the idea that therefore WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
new implementations, these have to be designed out with the idea that therefore
our organization and
for the particular environment of cloud infrastructure that we're utilizing,
whether it be software,
platform or infrastructure as a service. The design portion of this software
development life cycle
is really important because what if we're developing an application for
platform as a service
and we don't have total access to the runtime. Well, that alters our design,
whereas an
infrastructure as a service, we definitely have to go take a look at how we're WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
infrastructure as a service, we definitely have to go take a look at how we're
implementing all of
our programming and coding and development. And that leads us into the actual
development portion
of this because depending on the actual model that we're using for our
organization, depends on
what systems and what capabilities are going to be developed for this actual
piece of software.
Is it something that affects networking devices directly? Is it something that
affects the people
in data that's the same plant responsibility in all three of our models? There WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
in data that's the same plant responsibility in all three of our models? There
's a lot of different
questions here in terms of development of the software. Who's it supposed to
affect? Why is it
supposed to affect? Basically, the five W's be an implemented here. Now, once
we do have it developed
and this is basically the design and coding portion, making sure that it's
working well with the
different systems throughout our organization, whether they be computer systems
such as this or
networking devices across the actual network infrastructure for communication, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
networking devices across the actual network infrastructure for communication,
we have to be able
to test them. And this is where we go inside of a sandbox environment, probably
. Sometimes I know
that doesn't exist based on budget measures, but we try to test as much as we
can outside of
live production environments. That way, if something that we've designed and
developed goes into
the live environment, we don't want it to cripple it if there's a vulnerability
or a flaw in the actual
code. Testing is always imperative. Anytime there's a patch update or a pick on WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
code. Testing is always imperative. Anytime there's a patch update or a pick on
Windows here for a
second, anytime there's a service update to actual Windows, it's tested before
it's actually delivered
to the actual clients in the real world. That doesn't take out all the flaws in
it, but what it does do
is take out the majority of them to where basically the only thing left are
zero-day vulnerabilities,
things we don't know about until it actually happens, or vulnerabilities that
we overlooked.
Now, this takes us into the next step of SDLC for Cisco into deploying. Deploy WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now, this takes us into the next step of SDLC for Cisco into deploying. Deploy
ing the actual
software in our live environment, whether it be on an application or an actual
server within our
cloud infrastructure model, when we deploy, we're going to be making sure that
the software that we
developed is suitable for working with the actual platform or versioning or
different device that WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
different device that
we've actually made it for. The testing that we did previously is going to try
and reduce all the
vulnerabilities down to zero. Now, it's not always going to be that way, but
when we deploy, if we find
something along the way, we can create something like an access control list
and making sure that we
deploy it out on a proper schedule to make sure that it doesn't affect the
actual usability of our
systems within the organization. Then, we start going into review and making WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
systems within the organization. Then, we start going into review and making
sure that everything is
working as intended. Now, if it passes all the smell tests for everything that
we've done inside of
our circle here, it goes to actual launch into full production. But what I want
to point out is,
is that design, development, testing, deploying, reviewing are all continuous.
From planning to launch,
those are only two statiquents because there's going to be a plan phase and it
's going to happen.
And then, once it goes in between and we're doing the actual development of the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then, once it goes in between and we're doing the actual development of the
software itself,
we're going through and making sure that all these cycles are continuously
working with each other
because you heard me in design, we'll talk about different aspects of different
portions of what's
in the software development lifecycle. The reason for that is because it's not
just static as far
as the steps that we have to flow through. There's always a developed test and WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
as the steps that we have to flow through. There's always a developed test and
proceed in making sure
that we have everything accounted for or as much as humanly possible. In
addition to that,
we want to try to involve our security team as well to make sure that all the
vulnerabilities,
like we said, are as minimal as possible before we do our actual launch. Now,
as I said at the
beginning of this portion of the skill, when we look at software development
lifecycle, it's important
to remember that this is modified from a very generic baseline SDLC platform.
This is tailored to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
This is tailored to
be within Cisco and how we should approach in a modified view. Remember, we're
adding to and not
taking away from, make sure that everything that we develop and implement
follows the SDLC model
to make sure that we're making this as easy on the organization and more
importantly,
the actual users that are processing that data for us.