We are pleased to share with you all an interesting article contributed by Zeeshan Rizvi.
Zeeshan Rizvi Cloud / DevOps / SDN Strategy at Cisco Systems Inc https://www.linkedin.com/in/zeeshanrizvi |
|
Often times I'm approached with questions like: where should I start if I want to be in DevOps or learn about Cloud computing? Which languages to learn? Which tools to get my hands dirty on? Which process or concepts I need to be aware of or master? Which certification to pursue and so on.
But Why?
Fine you want to adopt and learn DevOps because you understand what outcomes it can drive for you. Not because everyone and their uncle is on the same band wagon (nothing wrong if that's your fore either). And it's fine everyone is going the AWS certification route and ain't nothing wrong with that either. But understand why organizations (and your potential employers and customers) are adopting AWS/Azure technologies and stacks. What are they using it for?
Do understand DevOps is a means to an end: Get your applications realize business benefits faster and efficiently. Plain and simple. Those applications could be the healthcare iOS apps or cutting edge integration of IoT with Augmented Reality/Virtual Reality/Mixed Reality or perhaps digitally transforming your existing customer interaction processes. Most certainly DevOps methodology can help you accelerate the outcomes faster.
So the important thing is to understand Why and What. How can be figured out, at least theoretically, right?
.. and How?
There are no silos anymore. There's no hard separation between compute, storage and networking. And by extension there is no separation between relevant skills. A cloud engineer or architect is not a compute or server person or just network person anymore. It's all inter related. The network guy needs to be aware of the storage iops and CPU utilization by the apps traversing the network. And the app guy needs to be aware of network as well.Yes you can build redundancy in your code but the fact that an entire AWS region can go down where you’ve hosted your apps still requires you to build a transit VPC network with replication to another AWS region (or perhaps to Azure) to ensure business continuity. And that will require you to have at least some knowledge of the underlying infrastructure requirements not just your app in it self. Don’t forget you’ll have to secure it too.
Know that majority of DevOps concepts, tools and technologies are open source. Case in point take a look at the Xebia Labs periodic table of DevOps tools (referenced above). Or the Cloud Native Computing Foundation's Cloud Native Landscape.
It is a lush landscape. Rich set of choices and avid user bases. And that posses another challenge: Choices. Yes having too many choices can be bad sometimes:
And that's just scratching the surface. So Where do you start. Cutting to the chase, here’s a suggested roadmap:
Number 3 and 5 can be interchangeable depending on your existing skills and background.
One thing that I've learnt in working with and mentoring numerous engineers, architects and thought leaders is that your existing experience is not a ‘baggage’ rather an 'asset'. Use your existing domain's knowledge that you’ve built in past to integrate with DevOps concepts and tools in your existing job and see yourself flourish.
What’s the take away:
The purpose of this reading is to help you tie all the building blocks together and understand the grand scheme of things.
Separate the day to day churn and noise from bigger picture. Know the why and what and use the roadmap above to get started. Get the foundation right and build it from there.
|
||