As an IT engineer, I believe that being successful in IT is really about being a lifelong student. Information technologies have evolved significantly over the last decade, and for those of us in the business of building and executing within these changes, it means that we must constantly learn new skills and platforms. In this post, I’ll be sharing my path to the cloud along with my tips for getting started with AWS.
Why dive into the cloud?
My first exposure to AWS was in the course of helping a friend who was starting his business. He had developed a hybrid application using AngularJS and the Ionic framework and wanted to find an elastic, cost-effective solution that offered high performance. After a massive amount of research, he found AWS.
At the time, we were both completely new to the AWS platform. Logging into the AWS console for the first time, I remember feeling overwhelmed by the number of services with abbreviations like S3, EC2, and S53. It felt like another language.
To learn more, I dug into some AWS videos and read my first AWS white paper about the cloud, which really struck a chord with me. As an IT engineer, ensuring that projects are well-architected, flexible, and scalable and that they ensure business continuity, is always the goal. I knew that the cloud could address many of these challenges. This is what encouraged me to start my career in the cloud.
Getting started with AWS: AWS Free Tier
I initially created my own AWS account with free tier, even before knowing anything about the platform. The AWS Free Tier includes certain services that are available for 12 months following your AWS registration date. After creating your AWS account, you can use any of the products and services, listed below, for free within certain usage limits.
Within a few weeks, it was clear to me that AWS is a great choice for startups. The pay as you go model has no upfront fees, and you pay more as your business grows. When this happens, the AWS pricing calculator is very helpful in understanding the costs of scaling up.
The AWS Simple Monthly Calculator helps customers and prospects estimate their monthly AWS bill. It incorporates the latest pricing changes including the tiered pricing model for download bandwidth so that you can optimize your solution.
Getting started with AWS: Understand the basics
1. Understand “what is cloud computing?”
Cloud Academy’s beginner course is a great place to start in answering this question:
“Cloud Computing is a remote virtual pool of on-demand shared resources offering Compute, Storage, and Network services that can be rapidly deployed at scale.”
Compute, Network, Database, and Storage are four the most important components in AWS. These resources allow our application to work in the cloud.
In learning AWS, our first target is to design and implement a well-architected solution for different types of projects by using AWS services. The beginner course, What is Cloud Computing? offered by Cloud Academy is an excellent for getting started with AWS.
Additionally, I strongly recommend that anyone new to the cloud read Amazon’s white paper, Overview of Amazon Web Services. This will help you gain a good understanding of cloud computing, especially the components implemented by AWS.
2. Get familiar with SPI (SaaS, PaaS, IaaS) ?
SPI is an acronym for the most common cloud computing service models, Software as a Service, Platform as a Service, and Infrastructure as a Service.
– SaaS applications are designed for end-users, delivered over the web. Examples include Google’s Google Docs, Microsoft’s Office 365 online, etc.
– PaaS is the set of tools and services designed to make coding and deploying those applications quick and efficient.
– IaaS is the hardware and software that powers it all – servers, storage, networks, operating systems, etc.
3. Take a look at the three major platforms
Since cloud computing has rapidly developed, we have numerous cloud providers all over the world. The current leading cloud providers are AWS, Microsoft Azure, and Google Cloud Platform. Take a look at Ivana Sabo’s post comparing the platforms to understand which one is best for you.
4. Understand key cloud concepts
You’ll want to really understand the concepts—scalability, high availability, disaster recovery, serverless, etc.—that make cloud computing such a powerful service.
Here is a simple example from my own experience. The cloud trend is really about serverless computing. AWS defines serverless as running code without thinking about servers. The component that implements this concept is AWS Lambda. AWS Lambda automatically runs your code without requiring you to provision or manage servers. It really allows engineers to focus on code and not on servers.
Dive into the AWS cloud
1. Have a good understanding of Best Practices in architecting an AWS cloud solution
For this area, I’d like to recommend two great white papers: Architecting for the Cloud: AWS Best Practices, published in Feb 2016 and AWS Well-Architected Framework published by Amazon in November 2016. These are excellent resources that explain how to design a well-architected solution with AWS.
2. Build your content knowledge
For me, Cloud Academy was an excellent resource for learning about AWS. I recommend starting with the following Cloud Academy learning paths for in-depth AWS knowledge: Fundamentals of AWS and Operations on AWS learning paths on CA.
3. Learn by doing
Before you get a real cloud job, you’ll need actual experience working in the platform. I highly recommend the guided, real-world experience on the AWS platform offered by Cloud Academy’s Hands-on Labs. Every session of hands-labs provides you with a temporary account and credentials for the AWS console. You can access any related service to complete your lab. It’s just like working in a real environment.
Personally, I have a lot of experience using Cloud Academy labs. I found them to be very qualified, with detailed descriptions for explaining every step. Some new labs also provide working scenarios where you help discover the solution. This type of experience is very important for understanding how can you implement your solution and why to make one choice over another.
4. Some tips about AWS certification
After comparing the AWS exams, their range, and the level of difficulty of questions (and by talking with other certificate holders), I recommend starting with the from AWS Certified Solutions Architect Associate exam. The AWS Certified Developer Associate exam is very similar preparation-wise, but has a greater focus on implementation, and you should know more about DynamoDB. At the associate level, the most complex exam is the AWS Certified SysOps Administrator Associate, which requires much more preparation compared to the other two exams.
Fortunately, we have various resources via internet, and Cloud Academy’s AWS Certifications Prep learning paths are great resources to help you succeed. Using Cloud Academy, the quiz sessions are a very useful tool to build your knowledge. Each week, I would choose my weakest area and take at least 30 questions in test mode. This allowed me to build my comprehension of that service little by little. Another great resource for preparing for an AWS CSA exam isJohn Cell’s post, AWS certified Solutions Architect associate: A study guide.
5. Continuous learning
It’s important to keep building your knowledge in the areas that align with your future goals. So, if you’re like me, a software engineer who wants to be a full-stack or DevOps engineer, continuous integration, continuous delivery, and Docker technologies would all bring real value to your current projects.
If you’re studying and working full time, balancing it all might be a little tricky. Here are the strategies that have worked for me:
1. Set your goals
Are you working toward advancing in your career or will you be launching a startup or a new business? Establish your short term and long term goals to help guide your learning path.
In my experience, I first completed all of the foundational courses (all of the fundamentals courses at CA), and then modified my course list based on my next goal. For example: if you want to build and administer your environment, I recommend the operations course (Operations on AWS ). To prepare for AWS certifications, I recommend that you start directly with the Solutions Architect—Associate Certification for AWS exam prep learning paths.
2. Make studying a daily habit
On a weekly basis, I chose at least one course to complete per week. I tried to complete one medium-difficulty lab every two days, and an easier lab every day. Taking at least one quiz per day is also useful. As I mentioned before, if I detected an area where I was week, I would do at least 30 questions for that topic.
3. Always keep yourself up to date
For those who are motivated to pass Microsoft Azure or AWS solution architect certification, and especially for the professional level AWS certifications, it’s important to keep your content knowledge up to date with the latest releases and applications.
Getting started with AWS in real life
Finally, find an AWS project that you can work on by creating your own, or finding a real world project through friends. I helped a friend build his personal website where he could showcase his project portfolio. He needed to find an inexpensive way to host the site and reduce downtime at peak times. This solution would be elastic and flexible to grow with the business.
The advantage of this choice is that it ensures that his project would be delivered using a global network of edge locations since his content would be hosted in S3 as an origin server. And, it would be well-integrated with other AWS services in the future.
If you want to learn how to setup CloudFront with your static website, the Cloud Academy lab Configuring a static website with S3 and CloudFront is very helpful.
The cloud is not only a trend, it is the future. Stay tuned for Part 2, where I will share more of my experiences of diving into the cloud.