Many people want to learn how to work in the cloud, and loads of folks will point you towards resources like A Cloud Guru, Linux Academy, YouTube, and many other resources. Those are great resources, while there are many of these and many of YouTube videos out there for getting started, I find that often these focus on the what rather than the why and how. Further, I find that most of these teach cloud in a way that just prepares you to be a mile wide and an inch deep; that is, they’re all based in the web UI and don’t show you how things fit together.
I’ve written this for AWS; you can do all of this in Azure, GCP, etc., though you’ll probably need to use something like this comparison chart from Google to find the analagous services.
So how should you learn the cloud?
AWS has a free tier. Sign up. You get 750+ hours worth of t2.micro and/or t3.micro instances - that’s enough to run a single instance for a whole month! Don’t do that.
The cloud is so dang cool because of orchestration and a different way to think about how workloads are run. Some ideas for you to practice:
- Orchestrating multiple instances
- Configuration management (e.g.: Ansible, Chef, Puppet, etc.)
- Make the root drive disposable by putting data exclsively on a backed-up EBS data drive
- Create some custom AMIs
- Find some cool Lambdas on GitHub; get used to configuring, deploying, running, and monitoring them
- Use SES
- Use S3 lifecycle rules
- Understand IAM roles. Better yet, do these labs from Rhino Security Labs
- Do everything again, except from this point forwards no more use of the Web Console (Use the AWS CLI for everything, as it’s much more efficient and repeatable, plus it teaches to think of everything “as code”)
- Write some Terraform to deploy some infrastructure. Maybe also CloudFormations & compare them!
- Try out AWS CDK
- Make a website with GeoIP, CDN, where it takes markdown documents from one S3 bucket and transforms them into HTML via Lamba to another bucket.
This will take time. A LOT OF IT. But it won’t cost more than a few dollars, and will really open your eyes to the power of the public cloud.
You may notice that there are a lot of things that are not strictly cloud that are featured here. This is no accident; the cloud is another tool in your toolbox. While incredibly powerful, what really makes the difference in terms of transformational success and ROI is your ability to leverage it properly – that is, in a cost-efficient and scalable manner.
VMware brought revolutionary change to running datacenters. Public Cloud builds on those lessons and introduces even more non-persistence and access granularity, which – if done well – can save boatloads of money and can empower an organization to run extremely lean. Lifting and shifting virtual servers as-is isn’t it though, so I suggest not doing that.
Other fun things
There are a ton of ways to build upon your knowledge in the free tier – everything from Rekognition to SageMaker; from Lex and MQ to Comprehend and Glue, and all of the developer-centric tools such as CodePipeline, CodeRepo, CodeBuild, & CodeDeploy. Over time you’ll be able to start wiring these things together as part of your learning journey, and in no time you’ll be harnessing the power of the public cloud!