[x^2 for x in lst]

Online course: AWS CloudFormation Master Class

2019-07-01

When I was preparing for the AWS Certified Solution Architect Associated exam I bought some online courses from a company called Udemy. After that I regularly get mails from them informing me about discounts (which they always have) and promoting their courses. I usually just discard these mails, but a couple of weeks ago I yielded to the temptation and bought one: AWS CloudFormation Masterclass. Link to the course here.

We use CloudFormation at work and some parts of this blog is setup using CloudFormation, but I've never really studied it, just googled a bit to solve the problem I faced just then so I thought it would be good to have a thorough going through of topic. The course costed just £10, so I bought it. As a gift form myself for it being Friday. Or something.

I've watched to course during the last two weeks, a little bit each day and finished this Friday. It's always a good feeling with something you have started :)

The course is divided into 12 chapters where each chapter contains a number of lectures. The lectures are short, most are less than six minutes, the longest being around 13 minutes. This is good as it lets you squeeze in one while doing something else, like building or deploying the stuff you're currently working on. It also tempts you to "just watch another, it's only three minutes...".

The course starts with the regular course introduction chapter. It explains why you should learn CloudFormation, what it is in general terms, and lets you download a package of example files that are used in the course.

The following chapters are dedicated to the top level elements contained in a CloudFormation template namely:

  • Resources
  • Parameters
  • Mappings
  • Conditions
  • Outputs
  • Metadata

Each chapter contains one or more theory sections in which the element of the chapter is described. Both its syntax, main usage areas and configuration possibilities are described. Almost all chapters have a companion code example that is included in the code example package that could be downloaded in chapter one. The example belonging to each chapter (some chapters have more than one example) are also described in the theory sections. This is a good thing as CloudFormation code could be quite terse.

Some of the sections of these chapters are practical lessons in which the teacher deploys different CloudFormation templates and shows the results using the AWS Console. The pupils are encouraged to try out the stuff that the theory sections has presented. These demonstrations are highly useful considering that the AWS Console can be quite...non-intuitive at times.

Each practical session ends with the advice "Do not forget to delete the stack that you've deployed otherwise it might be costly". Sound advise indeed.

After the chapters describing the main elements of a CloudFormation template, the course continues with chapters on CfnInit, CloudFormation drift and nested stacks before finishing off with a chapter on "advanced concepts". It turns out that these concepts are not really that advanced, the chapter just contain some (useful) stuff that did not fit into any of the previous chapters and where the topic was too small to warrant a chapter of its own. Some of the things handled in this chapter are: using the AWS CLI, using a deletion policy and getting an cost estimate for a CloudFormation template.

So, what are my impressions of the course? I think the course gives a brief but really useful overview of CloudFormation templates and the CloudFormation part of the AWS console. You cannot expect to be a CloudFormation expert after having finished this course, but you can expect to being able to start writing templates using the AWS documentation as support trusting that you have at least heard about most of the things in it. The course is presented in a easy-to-follow way and each section is, as previously mentioned, so short that you are able to squeeze one in while building your project (at least if your project is of a fair size ;) This means that you without much effort will be able to finish the course in a short time and after having done so will feel confident that you can start creating your own templates with a little help from the documentation.

I would recommend this course to anyone who is planning to start using CloudFormation templates or just having started to do so. If you have used CloudFormation for a while you probably can pick up a thing or two, but if you are an advanced user then you probably should look for some other course.

After having completed the course, you get a nicely looking certificate ;)

course certificate