Learning Chef – where to start?

Over the last six months or so, I’ve had the opportunity to learn Chef, and have worked through a number of training resources, to the point that I am now developing cookbooks for general consumption. This was the first of the ‘big three’ Configuration Management tools that I put decent amount of time into, followed by some work with Ansible a couple of months ago.

While the need for Configuration Management tools like these is somewhat diminishing with the growth of cloud-native applications, and containers, there is still a serious amount of infrastructure which can benefit from such tools, and the time to pick up and learn one of these has never been better.

So in this post I wanted to talk about some of the resources I found really useful when working through the various products in the Chef portfolio.


Chef Fundamentals course on UdemyChef Fundamentals course on Udemy – this is delivered by Robin Beck (@stellarsquall) from TechnoTrainer, and is really a great hands-on video course, in which you use Vagrant on your laptop to run a local on-demand Chef infrastructure. Cannot recommend this highly enough.

Basic Chef Fluency Badge – this is the entry level certification for the Chef product suite; the first towards the Chef Certified Developer accolade. This is a great way to target studies towards a broad knowledge of the various products offered by Chef Inc.

Chef Rally – this site came along after I had done my first certification exam, but it would have been really useful beforehand! This runs through every element of the Chef Inc product suite, diving in deep to teach some complex topics.

Chef Documentation – the documentation site is the mecca for details on the core product – how to use, deploy, and develop infrastructure based on Chef. Some of it is out of date, but it is still an often referenced source of truth.


Having now worked with all the major CM platforms, I still believe Chef is the best one to get started with – it has great Windows support, and a huge library of existing cookbooks. The community is large, and writing cookbooks is a great way to learn things like Test Driven Development and the Ruby programming language. With first-class services on Azure and AWS by way of Chef Automate and OpsWorks Automate, Chef is taking center stage in the public cloud, and Chef Inc are piling effort into educating and publicising the Chef ecosystem.

Advertisements

AWS Certified Developer and SysOps Administrator Associate Exam Experience

So since my post on the AWS Certified Solutions Architect Associate exam (here), I’ve now completed the Certified Developer Associate, and Certified SysOps Administrator Associate exams.

I found these a lot easier to study for after doing the first exam, as I had an idea of the level the exams were pitched at, and the types of questions which would be on the exam. I didn’t do a post immediately after the Developer exam, because the study I did was largely the same as for the Solutions Architect exam, and this was the same for the SysOps Administrator exam.

Again I used mainly A Cloud Guru courses (purchased cheaply from Udemy), and the Linux Academy courses, accessed for free through Microsoft’s Dev Essentials program. As for the Solutions Architect exam, these helped to give me the basics for the exams, and focus on those areas I was lacking in.

Another good resource is the A Cloud Guru discussions forums (here), where kind people share their experiences about the exam they had, and point out specific areas which should be investigated.

I got 96% on the Developer exam, and 92% on the SysOps Administrator exam, so the methods I have been using are obviously working for me. Next I’m going to move on to the Professional certs; most likely the Solutions Architect exam first, then the DevOps Engineer exam, as that maps more to my day job.

Good luck to anyone looking to do the AWS exams, I have got through all the entry level ones in a little over 2 months from having no experience, so they are not too scary. It’s been an enjoyable ride, and I am pretty pumped to learn more and get the Pro exams passed.

AWS Certified Solutions Architect – Associate Exam Experience

I sat my AWS CSA Associate exam today, and I’m happy to say I passed with 78%. This post will talk about my previous experiences with AWS, and the resources I used to study it.

A bit of history about this certification; AWS currently have a total of five generally available certifications, and three in beta:

Associate level (the easiest):

  • AWS Certified Solutions Architect – Associate – aimed I guess at Solutions Architects (pre-sales or post-sales consultants), and covering most of the core services, with a focus on designing highly available infrastructures
  • AWS Certified Developer – Associate – aimed at people developing software solutions to run on top of AWS, this looks to cover most of the same ground, but aimed more around using APIs, using the services to build applications, and some of the tools available to help developers consume services more easily
  • AWS Certified SysOps Administrator – Associate – aimed at people administering AWS environments, covering a lot of the same ground as the other two associate level exams, but focussing more on the tools available to keep things running, and troubleshooting

Specialist level (the new ones – currently beta):

  • AWS Certified Big Data – Specialty – focussing on the Big Data type services available in AWS
  • AWS Certified Advanced Networking – Specialty – focussing on the networking concepts and services in AWS
  • AWS Certified Security – Specialty – focussing on security in AWS

Professional level (the hard ones):

  • AWS Certified Solutions Architect – Professional – focussed on designing and implanting highly available systems and applications on AWS
  • AWS Certified DevOps Engineer – Professional – focussed on developing and managing distributed applications on AWS

The associate level exam blueprints talk about having hands on experience and time served with AWS; I haven’t used AWS at work, so had to start from scratch basically. Having a good understanding of how modern applications are architected, databases, Linux and Windows, and infrastructure in general will definitely help with getting your head around the concepts in play in AWS.

Free Tier Account:

The first thing you will need is a Free Tier account with AWS, this gives you 12 months of basically free services (but there are limits). You will need a credit card to sign up for this, but don’t worry about spending a tonne of money with it. You can put billing notifications in place which will tell you if you are spending any cash, and as long as you shut stuff down when you are not using it then it wont cost you any money. Get your free tier account here. When you have it then spend as much time as possible playing with the services, checking out all the options, and reading about what they do, this is the easiest way to understand the service.

Some video training:

This is optional I guess, but if you’re new to AWS, as I was, then it should help focus you on the things you need to pass the exam. I used the following courses:

  • Pluralsight – Nigel Poulton (@nigelpoulton) – AWS VPC Operations – I watched this course probably a year ago or more, and while I didn’t use it directly when studying for my CSA Associate exam, it did give me a broad understanding of VPCs in AWS and how things tie together, definitely worth a watch
  • A Cloud Guru – this course is widely lauded by people on social media in my experience, and the guys have done an excellent job of the course, although I felt it didn’t cover some bits in as much detail as needed to pass the exam. This is available on their site (at a discount until 19/01/16), or (where I bought it from) on Udemy where I paid £19 (think it is £10 for January as well). I would definitely say this course is worth it anyway, but I would look at another one as well to complement the parts lacking in the ACG course.
  • Linux Academy – the instructor for this course was not quite as good as Ryan from ACG in my opinion, but the depth and breadth of the subject matter, hands on labs, and the practice exams make this worth looking at. To top it off, if you join the Microsoft Dev Essentials program (here) you can get 3 months access to both Linux Academy and Pluralsight for free!

Books:

There is an official study gude, but it’s near enough 30 quid, and the reviews on Amazon were generally negative so I avoided it.

Whitepapers etc:

The Exam Blueprint (here) lists a bunch of whitepapers and these were definitely worth swotting up on. In addition, the documentation for each technology should be read and understood: there really is a lot to learn here, and you need to know everything in reasonable detail in my opinion.

Other:

These flash cards were pretty good, but think they’re generally taken from the ACG practice exams anyway.

Note taking:

I have taken a lot of notes for each of the services; I used Evernote for this which i found to be very useful in summarising the key fundamentals of each service. I will likely tidy these up now the exam is out the way and publish them as a series of blog posts, to hopefully help other exam candidates.

The Exam itself:

I was seriously stressed going into this exam; the breadth and depth of information you need to take in is pretty daunting if you only give yourself a couple of weeks to learn it as I did, and while the exam was slightly easier than I thought it would be, I still found it tough. I would suggest giving yourself 4-6 weeks of preparation if you have no AWS experience.

One gripe I have is that although I am lucky enough to have a Kryterion exam centre only 5 miles away, they only seem to do the exams once a month, which doesn’t give much flexibility. Looks to be the same in Leeds as well, so hopefully this will improve in the future.

Glad I got it done anyway, and putting myself under intense time pressure seems to have paid off anyway. Onwards and upwards to the Certified Developer Associate exam now. I would recommend doing the exam to anyone, AWS certification is in high demand at the moment, and getting a foot on the ladder will definitely help anyone in the IT industry over the next few years. I hope to go on and do as many of these exams as I can because I genuinely find what AWS are doing, and the way the services are implemented, to be interesting.