An interview with the author of Amazon Web Services in Action, Third Edition
Brothers Michael and Andreas Wittig were practicing DevOps before DevOps was a thing. Here Andreas talks about keeping up with AWS changes, creating a freelance career, and writing the third version of their popular book Amazon Web Services in Action.
Take 25% off Amazon Web Services in Action, Third Edition by entering intwittig3 into the discount code box at checkout at manning.com.
What’s new and exciting in the third edition?
A big highlight is a new chapter covering modern and cloud-native architectures on AWS and deploying containers. Using containers is a game changer, as they allow you to bundle your code, libraries, the runtime environment and everything else that is needed to run an application, into a container. By using containers, it gets a lot easier to move applications around. For example: start on the developer’s local machine, ship to a testing environment, and finally deploy to a production environment. That’s why we are using containers to deploy our own applications as well. The new chapter introduces two ways to run containers on AWS: AppRunner allows you to run a containerized web application by typing a single command into your terminal, while ECS and Fargate are designed to run more complex systems. Both approaches do not require virtual machines any more. AWS manages the infrastructure required to run containers for you.
Which new features are you most excited about–and why?
AWS has evolved a lot since the second edition. For every chapter, we are adding new features or removing warnings about former pitfalls. For instance, AWS has introduced MemoryDB and in-memory database with strong persistence guarantees, as well as virtual machines based on ARM instead of Intel/AMD processors. AWS has also improved Elastic File System (EFS) and simplified the way the object storage S3 handles traffic spikes. We cover all these changes and more.
Since AWS is constantly changing, how do you keep up with every change, new feature, or version release?
We use an RSS feed reader to keep up with the AWS news, AWS blogs, and the AWS community. Also, we are always experimenting with new services and features and share our results on cloudonaut.io. On top of that, we learn a lot when implementing solutions for our consulting clients. Last but not least, we spend far too much time on Twitter keeping an eye on what’s going on in the AWS community.
You must have some sway with the platform developers by now; what changes would you like to see AWS implement?
AWS listens carefully to their customers’ feedback, and we share our feedback using formal and informal channels. Here are two things we put on the AWS wish list recently: First, expanding the free tier to include the latest services and features. We make use of the Free Tier in our book as much as possible, and it allows customers to try most services for free. It seems like AWS just forgot about adding trials of the new features under the free tier. Second, we’d love to see more services billed per request, as this changes the economics especially for low traffic applications. For example, MemoryDB without the need to provision machines and pay-per-hour would be great. Currently, some AWS services charge by the hour, others charge per request.
It’s big news that AWS has joined the container revolution, but are containers always the best approach? What are some tasks best left “outside the container”?
We use containers for workloads from cloud-native architectures to legacy systems. The benefit of automating deployments on all kinds of infrastructures stays the same. AWS provides different approaches to running containers without the need to operate the underlying compute infrastructure. Fargate and AppRunner are the two most essential services here. Besides that, it is also possible to orchestrate containers on a fleet of virtual machines (EC2 instances). But running containers on top of EC2 instances adds another layer of abstraction and complexity to your infrastructure. We highly recommend avoiding this complex approach. Keep in mind, however, that Fargate and AppRunner do not provide the same variety of compute capacity that EC2 does. This becomes an issue for workloads with specific needs, for example, compute or memory-intensive applications. On top of that, running a workload on Fargate or AppRunner comes with higher resource costs than EC2. Therefore, the math does not work out for workloads with high throughput.
Let’s talk a bit about your work life. You started out as a software developer, but how would you describe what you do now? Is it “DevOps”?
Yes, we both started as software developers in the finance industry. Michael was building systems for high-frequency trading, and I wrote software for portfolio managers. We still write code today, but we also manage the cloud infrastructure needed to run our applications. We started doing DevOps before this was a thing. Today, our work life consists of writing code for SaaS and software products we sell on the AWS Marketplace, consulting with startups and enterprise customers to accelerate their cloud journey, and educating by writing books and articles and recording podcasts and videos.
You have really carved out a varied and enviable career. Do you have any advice for engineers who want to do freelance work with a range of clients?
I highly recommend sharing your learnings by writing a blog post, recording a podcast episode, or creating a video. For us, content creation drives all parts of our business: consulting, software, and media. The demand for AWS talent is very high, so it is a great time to start your freelancing career. Instead of working with recruitment agencies, I’d recommend getting in touch with consulting firms who hire freelancers directly. Overall, I enjoy building our company. It’s a lot of work, but I also enjoy a lot of freedom.
You tend to say “we” rather than “I.” Of course you are referring to you and your brother Michael. How long have you two been in business together?
Back in 2015, we founded our own company. But even before that, we worked together writing software for the same company. When starting our own company, we were mostly doing consulting, which meant helping our clients to get started with AWS. Over time, we invested in building and selling software. Nowadays, selling software has replaced consulting as the most important part of our business.
Do you and Michael have complementary strengths and interests, both at work and away from the computer?
We are similar in many ways. But, I’d say Michael is a little more into programming and I’m a little more into marketing and sales. Michael is into reading books, I’m more into watching movies and series. We both love to discuss political and social issues. But to be honest, there is only time for one thing besides work right now: raising our young children.
Thanks for reading.