Wednesday, December 14, 2016

AWS re:Invent 2016

Introduction

From 27 November until 4 December 2016 I headed to Las Vegas to attend Amazon Web Services' re:Invent conference - my third trip out since the conference began in 2012 ('13, '15, '16). I have enjoyed attending these conferences in recent years, both for the technical talks that come out of it, and for the change in atmosphere compared to the DC area.

AWS Lego Logo: every year different Lego scuptures get built up
during the length of the conference. [flickr]
With a background more focused on programming and application development, my job over the last year required a shift to include more infrastructure setup and system configuration. The project I'm working on already uses AWS some, but it wasn't built keeping up with modern techniques/practices, so it gave me a focal point this year for picking up AWS primary concepts like S3, EC2, better IAM practices, and CloudFormation setup. It also moved me down the path reviewing other [non-AWS] automation tools for infrastructure, like Vagrant, Docker, and Ansible. Generally our project's AWS environment is only for build and development purposes, though I've been slowly expanding the AWS role wherever I've been able.

A photo posted by Tom Olson (@spelchec) on
I had a few goals for this conference. First was to get a clearer direction of where to go with infrastructure automation within AWS; I've worked with several different tools that provide different benefits, and there are several more like Puppet, Chef or OpsWorks that I haven't investigated yet for various reasons. Second was to get a better grasp of what things are coming down the road for AWS, since keeping up with the new technology is best for taking in some cost-cutting measures down the road, and for keeping up within a fast-paced industry. Lastly I hoped to get more AWS certificated, to reinforce and legitimize my understanding of these tools.

Development

I signed up for several sessions relating to simplifying infrastructure, both in reducing complexity (with AWS built-in tooling) and simplifying design (microservices). The sessions varied in how beneficial they were, but some were great to pick up. Some of these talks included the following:
  • Born in the Cloud; Built like a Startup (ARC205)
    talks about architecture patterns from conventional to serverless structures.
  • Simplifying Microsoft Architectures with AWS Services (WIN201)
    offers an overview of Microsoft product inclusion and support in AWS.
  • How I learned to embrace DevOps and Configure Infrastructure at Scale (WIN402)
    gives a good presentation about better EC2 tooling and management materials (focusing on Powershell CLI tools).
All the sessions I attended are available through this YouTube playlist (and all sessions can be found on the AWS YouTube page). I don't recommend all of them (for instance, NET302 was too dry for my tastes), but a majority of the sessions were ones that caught my attention.

A photo posted by Tom Olson (@spelchec) on
The vendor hall (re:Invent Central) offered some good groups to speak with as well. I was able to talk with the Red Hat people about Ansible and Ansible Tower a little; Github about their version control tool (though this visit was more about the stickers); Nginx about their application delivery platform, seeing if it's something worth suggesting to customers in the future.

I also went to the AWS Hands-On Labs area at re:Invent, provided by the folks at Qwiklabs and took a class on CloudFormation. Although I find their demos a little too guiding at times (I've done several of them between conferences), I do like that it provides a platform to experiment under. I do recommend Qwiklabs if you want orientation and experience with the AWS interface, though it has very limited depth.

Keeping Ahead

Although I'm not very sociable at conferences, there's something comforting in attending the talks at re:Invent - I think in no large part because of the fresh discussions about new technology, and the thinkers behind those ideas. I like to try and keep up with all the technologies and capabilities that AWS is continuously adding to their stack, at re:Invent gives me a way to focus and dedicate time to those technologies.

One of my favorite talks was Amazon s2n: Cryptography and Open Source at AWS (NET405), which described the development process behind building an alternate solution to OpenSSL. One reason that I'm highlighting this session separately from the list above is that I appreciated how it highlighted the fallibility of code used so ubiquitously in technology. Not only that, but it showed how the technological community came together to address the problem, and although you start to get some fragmentation after that, it makes for a nice window showing how the tech community is continually getting better.

Beyond that, re:Invent had a lot of sessions about serverless technologies - the extension of lambda functions to build functional websites and enterprises. The Operating Your Production API (SVR402) talk was a decent overview of the technology. While I think it'll definitely lead to a fascinating sea change in system development (removing middleware will be nice), I wonder if this change can extend fast enough, or if some other lambda-like application mesh will catch up (maybe Google AppEngine will adapt, or some open source alternative like Apache Felix / OSGi will expand its grid computing concept further).

Education

As part of educating myself in the AWS environment I chose to take some of the certifications offered. At the time of this writing there are 5 base certifications (3 associate, 2 professional), of which I took the Developer Associate exam over the summer. In addition to the base exams, three specialty exams are being offered in beta in the topics of Advanced Networking, Security and Big Data.

A photo posted by Tom Olson (@spelchec) on
I attempted the two associate exams remaining for me: Solutions Architect and SysOps. Pretty much every day I had down time I was studying for the exams, utilizing the blueprints and A Cloud Guru study material from a Udemy Black Friday sale the week before. Currently preparation for these certifications are tricky, with AWS recommending a lot of hands-on experience and a lot of practice through their training classes and practice exams... but not much material beyond that. I tried one of the AWS Professional DevOps bootcamps at last year's re:Invent and found it only so-so at the time, but they're constantly looking to improve. They started releasing official study guides in October (Solution Architect associate), which is a great step forward.

Both of the exams are difficult, although there is some repetitiveness in the material between each of the associate exams. I've heard Developer is easiest, then Solutions Architect, then SysOps, and based on my test experiences and results I can agree with that assessment.

By the end of the conference I passed the Solution Architect associate exam, but failed the SysOps one. I kinda expected the SysOps failure, because I haven't done a lot of monitoring setup or OpsWorks work, and the weakest section of my exam reflected that with low scores in monitoring and metrics. In the breakdown for the SysOps I was happy to get 100% in one section (Data Management) though, because it's the first perfect score I'd ever received in an AWS section - and it means it is possible. 🙂

In any case, I'm hoping to get past the SysOps exam in the future, and move onto the professional exams in the next year or two. These exams have been a good way for me to focus on the features of AWS, and get better at understanding how to use these tools overall.

Conclusion

I was very happy I attended re:Invent this year: I was able to breathe in the experiences of modern development; I could engage in technical sessions and discussions with my peers; I managed to get another AWS certification and reinforce my resume a bit more for the future. Though I didn't get to do everything I wanted - there are only so many hours in a day - I greatly enjoyed the firehose of AWS information that blasted me through the week, I look forward to the next one, and hope I'll be able to make it there.