Hey there. Welcome to So You Think You Can.
No, no, no, no. Ah Chad, Chad. Wrong show. Other show. Cool. Oh,
that's right. So You Want To Be A DevOps Engineer?
Yes. DevOps. The ultra buzzword in the industry. Marketing loves it,
and managers use it to apply to pretty much everything.
Just sprinkle some DevOps on it and everything will be okay.
Let's try to break it down by going back into time.
Let's for a moment, imagine the world of 2007.
Wow, yeah. A world of disparate IT projects,
a world devoid of DevOps. When working on a software project,
developers would be adding features, making bug fixes and other changes.
But nobody would ever check to see if those changes work together with
the other components.
After months of working on a project and with bated breath,
the projects were tested, not knowing if they would succeed or fail.
When there was a failure,
there would be a series of error messages and those error messages would
sometimes not appear until weeks later in which someone would
essentially copy the error messages and scramble to try to fix it.
They would try and run the program again,
and they would get another set of error messages.
And this process would repeat over and over and over again.
The lack of insight into dependencies and hidden connections could mean changes
were extremely expensive and often never happened.
This is insane, right. Project costs would often blow out,
and issues would not be known until the users were reporting them.
If something did go wrong,
the downtime could be significant until the fault was found and rectified.
Now, fast forward to the present,
we have a process now called DevOps that allows us to go through this
process of running the program testing and fixing bugs much
faster.
This result in features getting released faster and fixes getting out to our
customers without any downtime. Hurray,
there's a famous graphic of an infinity symbol. There it is,
which alludes to that process of build, test, deploy, monitor, plan,
code, and repeat indefinitely. And a lot of times,
multiple times a day, this is what DevOps introduced to the world.
There's a lot to like about what DevOps introduced to the IT space.
If you've enjoyed this episode, as much as I've enjoyed DevOps,
let us know with a big like.
Feels good to be back in 2020. Right?
So let's jump into what exactly a DevOps Engineer does apart from writing code,
working in teams and wearing pretty cool T-shirts, right.
You could be designing and implementing a continuous integration and continuous
deployment pipeline also called CI/CD. This is when the code,
the developers have written is automatically tested, built,
confirmed and pushed to the production environment. Fully automated,
without any human input whatsoever. If something goes wrong, you know,
straight away, and you can do this tens or even hundreds of times a day,
you could be defining dependency management between various parts of the system
to monitor and recommend tools to do that management.
Other tasks include security inspections to ensure code doesn't contain common
vulnerabilities and exposures also called CVEs,
managing code quality to ensure bugs are worked out and the program behaves as
expected analyzing where applications are hosted in order to optimize
performance,
building infrastructure for new applications in a way that's building
infrastructure as code and improving the communication between
project managers, project stakeholders, and the rest of the company.
Being a DevOps Engineer really involves wearing a lot of
hats.
Of course, being a DevOps Engineer, isn't all sunshine and rainbows.
First of all,
you'll often get stuck between wearing your developer hat and your operations
hat, two hats.
The role is still relatively new and many places will dump both developer tasks
and operations issues on your desk. Second,
if you walk into a company that already has a more established system and ways
of doing things,
introducing new DevOps practices may not be met with open arms or not
open. There can be significant cultural challenges,
as DevOps tends to introduce a pace and working method that can be foreign
and hard to adapt to.
Also trying to apply DevOps practices to legacy or monolith
applications can be difficult being that even the slightest change affects each
and every part of the application. So yeah,
moving from a monolith to a microservices application,
allowing for a more fast moving release,
cadence takes some major shifts and cultural changes.
Taking all of this into consideration,
how do you end up in a role like a DevOps engineer? Well,
you've got to have skills.
The following are the five major skills you need on a path
to DevOpsiness. Configuration.
So learning how to configure computing systems using modern tooling.
Versioning,
understanding how versioning of code applications and templates
ensures minimal downtime and maximum release cadence. Packaging,
getting a handle on how applications are packaged.
That means how you make sure all the various dependencies of the are
included in that package. Deployment,
understand the way that software is deployed. Where will the application run?
What are the hosting options? Such as Kubernetes. Which cloud platform?
And many, many more. And then monitoring,
appreciate that you need to monitor solutions already in production and learn
which tools can help you do that.
When you have those five parts well understood and feel comfortable with their
complexities and connections between them,
you can start looking at DevOps roles.
DevOps as a role is possibly the least well-defined.
And one of the most complex within cloud computing and IT infrastructure.
Actually being a Cloud Architect is pretty hard too. So check this out.
Bridging a gap between two distinct roles and two distinct cultures can be a
huge ask. So You Want To Be A DevOps Engineer,
but what's next? It's time to build your experience in cloud.
So if you're still learning about the cloud, then check out our courses,
get your hands dirty with Hands-on Labs and follow the path of resources we
recommended to help you get started.
If you'd like to learn more about the cloud, then make sure you subscribe.
So you don't miss out on our new episodes.
Thanks for joining us and keep being awesome DevOps Professional Guru.