Most love for the sphere of technology stems from the rudimentary fact that it is as diverse as one is willing to go. It is a landscape dotted with myriads of beautiful sceneries and multiple paths to follow to arrive at them. Cloud computing is one of those sceneries that has recently had a lot of attention from around the globe. Why is this so? One may ask. There is a way in which current businesses are being modeled. It is an era that efficiency, uptime and hence reliability of the services being offered cannot be bargained. Clients are in need of more and thus the need to come up with solutions that will meet such demands.
To give one example, Voice over IP is growing in leaps and bounds. For Voice to work well, uptime and quality of service cannot be compromised. This, in turn, means that the infrastructure built to run and support the services rendered by VoIP have to be innovative to meet the needs demanded by the users. Believe it or not, Cloud Computing has come as a savior and has turned the service around in ways that can only be felt when you experience it. As you already understand, cloud computing is offering solutions that could not be achieved as effectively as it is currently doing.
With the above brief preamble which meant to serve as an eye opener and thus an inspiration into the growing world of cloud computing, let us now hit the road and learn how one can begin from scratch and rise to an expert level as a Cloud Architect. This is not a rigid process because most people can begin from anywhere after they have solidified the basics.
Introduction To Cloud Computing
Cloud Computing is the practice of using a network of remote servers hosted on a data center somewhere to store, manage, and process data, rather than a local on-premise server or a personal computer. The services rendered include servers, storage, databases, networking, software, business analytics, intelligence and much more. It is simply using a computer resource hosted in a place with security, guaranteed up-time and fast internet accessibility for your personal or business needs.
The benefits that ensued after you embrace cloud computing includes:
Cost – In stead of heavily investing in your own private set of racks, servers, power and technical team to manage it all, the cloud cuts it all like crazy. Just do the math and you will see how many beneficial result cloud platforms bring to the table such as:
Speed – Cloud platforms have vast amounts of computing resources. This means that large scale or small scale computing resources can be provisioned in minutes, typically with just a few mouse clicks.
Global scale – What the cloud has managed to beat is the ability to scale elastically. Whether you need more or less computing needs (storage, bandwidth, servers) at whatever time, you can be able to do that with a lot of flexibility at your disposal.
Security – Most public clouds offer an array of tools that strengthen the security posture of their infrastructure.
Learn Cloud Computing from Scratch
For the total beginner, this is going to be an adventurous journey especially if you are wholeheartedly ready for the ride. There is going to be a lot of exploration, a lot of discovery, a lot of building and a lot of breaking stuff down. It is all defined as the beauty of the learning process. Sum it all in one, it is going to be fun. And guess what, you do not need any college degree to get started. To begin with, cloud computing covers a lot of areas in IT such as: hardware infrastructures, software infrastructures, data center facilities, virtualization technologies, and software engineering concepts.
Step One: Learn and get acquainted with Operating Systems.
This is the foundation of everything. I believe you have dug around Windows for a while and you feel pretty confident with its tools such as PowerShell, Registry Editor, Command Line and others. It is time to hop over to Linux and spend some quality time there. The Linux operating system should by all means become your best friend as you approach into Cloud Computing. Begin with Ubuntu, Debian, Linux Mint, Centos 7 Desktop and any other you fancy.
Many companies prefer Linux there is a high chance the virtualization platforms you will use in the future will run atop Linux. When you master it, I guarantee you that you will never be the same again. It may take some time to get comfortable with file systems, how to partition and resize disks, where things are, getting to know the shell and all that. It will be worth it in the end. As it has been emphasized in the beginning, this is the foundation of everything. So please get solid on this area. In case you are interested with Linux, there are plenty of resources on this blog. Just click on the Link below and get served..
Step Two: Get Comfortable with Virtualization
Virtualization Technologies play a very big role when we speak about cloud computing. The concept of Virtualization is a genius one since it allows you to create virtual environments that have specific amounts of CPU, RAM and disk space assigned and their own installation of an Operating System like Linux or Windows. The best place to start is Virtual Box or VMware Desktop. Virtual Box can run on both Linux and Windows. Please get started with it and make sure you play around with it as much as possible.
In there, you will learn a bit of Networking, Virtual Machines and Storage. Play around with bridge networks, host-only stuff and get to see how it all has an impact on how Virtual Machine Communication takes place with each other.. There is plenty to learn here. Since it gives you the power to run multiple instances, you can explore other Distributions of Linux and even Windows Servers. Be as adventurous as possible in this area.
Important Concepts to know about Virtualization
Hypervisor: Get to learn what hypervisors are and the various hypervisors you will encounter for example VMware, KVM, Xen, HyperV or OpenVZ
Step Three: Learn the basics of Networking
Once you get busy with virtualization, you will notice that there is a need for the different instances you created in Virtual Box or VMWare Desktop to communicate with each other and the outside world. For this, consider doing a side project of learning the basics of Networking. This is really really important and totally good for you. The reason why it is important is that it is the glue that puts everything together in the realm of computing. Is it not awesome to get to know how different servers around the world communicate with each other as well as with your devices such as your smartphone? All the magic happens due to Networking. So please inundate your mind with networking concepts and yeah, you will be on your way to a wonderful place. There is a List of CCNA books on our blog and you can find them on the link below:
Step Four: Learn something about Storage
This part may come off as unnecessary but from my experience storage will come up in one way or another. You will soon begin administering systems and guess what, they all need storage. Get curious and learn about NFS, iSCSI, Ceph, Fibre Channels, RAID, LVM and much more that you will definitely stumble upon.
Step Five: Venture into Amazon Web Services or Any other Cloud Provider
Once you have a thorough understanding of Virtualization and the basics of Networking, you will realize that big Cloud Companies such as Amazon Web Services have been built with those very concepts.There are physical servers running hypervisors which enable the creation of virtual machines. You will access the virtual machines because of networking done on the physical hosts. As you can see, the basic outlines above cannot be taken for granted because a lot more will depend on them as you progress. At this point, we assume you understand and have a good grasp of how a Cloud system works and how the different pieces come together
You can begin from the free tier offered by Amazon Web Services. You can launch an instance (Virtual Machine) and get to see that it has the same look and feel like the ones you have interacted with before on your local machine. At the background, you know what makes it happen, right?
Step Six: Get Deep in your area of expertise
When you finally get comfortable with the whole idea of computing and you have the whole picture in your mind, it is now time to deepen you knowledge in the various facets that come together. Create personal Labs for as many projects as possible. As you continue in this journey, you will meet other many things and technologies such as containerization. You will meet Docker, LXC/LXD, rkt, Kubernetes, and many many more technologies that are rising and getting used. The trick is to stay open-minded and always eager to learn. At the end of the day, it all pays off.
Step Seven: Learn as much automation as possible.
Automation will help you a great deal in configuring your servers and their general day to day management. Get acquainted with Ansible, Chef, Puppet and Salt Stack. At this juncture, you will be treading on elevated grounds. Keep learning them as much as you can..
To make your work even easier, we have come across books that will guide you on a slow pace in this quest. Click on the links below to yourself a copy.
For the advanced guys, please check:
Cheers guys. We wish you the very best as you walk your way to be the next big thing in the Cloud.