AWS Bites Podcast

5. What are our favourite AWS services and why?

Published 2021-10-07 - Listen on your favourite podcast player

Eoin and Luciano talk about their favourite AWS services and why they like them. Spoiler: we talk about EventBridge, Lambda, CloudFormation, CDK, S3, ECS/Fargate plus some honorable mentions like CloudWatch and IAM.

In this episode we mentioned the following resources:

Let's talk!

Do you agree with our opinions? Do you have interesting AWS questions you'd like us to chat about? Leave a comment on YouTube or connect with us on Twitter: @eoins, @loige.

Help us to make this transcription better! If you find an error, please submit a PR with your corrections.

Luciano: Hello everyone and welcome to another episode of AWS Bites, the show where we discuss interesting AWS questions in about five minutes. My name is Luciano Mamineo and today I am with Eoin Shanaghi and the question of the day, it's a very interesting one, is what are your favorite AWS services? So Eoin, if you should pick like your top three favorite services, what would you pick? Okay, so it's not an easy decision, but I've given this one some thought.

Eoin: For number three, I'm going to go with EventBridge and EventBridge is reasonably new. It came, it kind of spawned out of a rebranded version of CloudWatch Events, but you got a lot of options for messaging on AWS, SQS, SNS, they're all really good services, Kinesis also for streaming. I could have gone with either of those really, but EventBridge for me is really good because it's like the most serverless of services almost. There's so little to configure, you can start publishing messages to it without provisioning anything and then you just create rules with nice pattern matching if you want to consume these events. So that's why I've gone for EventBridge and I think it's a really popular service and gaining more and more traction.

Number two, I'm going to go for Lambda. A lot of people might've expected I'd go for it as number one, but I think we're going to see a lot more improvements to Lambda in the coming years. It's already quite different than when it first launched. It really threw out the rule book for how you do compute in the cloud and it's so scalable. It has so many integrations into other services and because of how it runs, it's really easy to monitor secure things and individual function level and scale things at a really fine grain level. It's got an amazing number of features these days and I think it will really take over compute into the future, especially if the pricing model changes to support longer kind of more long running computational workloads. So that's number two.

And then for my number one, probably not the most popular choice, but I think it's fundamental if you're doing AWS in any really serious way and that's cloud formation. Continuous deployment in the cloud is a must have and how you manage your deployments and your cloud resources is really critical to how that works. So that means the features that cloud formation gives you that other options don't give you like the ability to manage a stack as kind of almost an atomic unit. You've got a collection of resources that AWS is going to deploy for you based on added character template. Then you've got stack sets so you can see the different change sets so you can see you can break things down into logical structures. You can see how things will change before you deploy. It's very easy to underestimate the value that cloud formation can bring to the table and it really gives you a lot of confidence in your deployments. So those are my top three. What about you, Luciano? Are you going to go for three completely different ones?

Luciano: Yeah, I'll try to differentiate, but I'm glad that you mentioned cloud formation because it's an interesting one for me. I used to, I don't want to say hate, but I'm going to say dislike cloud formation and I rather prefer to use Terraform every chance I got. And I think it's just because of the syntax. Like I found Terraform to be much more user-friendly and simple to understand and write. So in the past I did use a lot of Terraform. Although I can see the value in cloud formation because once you try to deploy with cloud formation, everything is done by AWS. Like you don't need to manage your own secrets, your own state, which is something you have to take care if you use Terraform. So I'm going to pick CDK, even though it's not really a service, it's more of a tool that you get from AWS to use cloud formation.

I'm cheating a little bit, but please allow me that because CDK, I found it to be like the nice middle ground. Like you still get a very good experience in writing your infrastructure as code, probably even better than Terraform, but again, take it as an opinion. But at the same time, you get all the advantages of cloud formation because CDK will generate cloud formation code for you. So at the end of the day, you also get all the benefits of that.

So CDK, probably one of my three favorite services that I want to mention. The other one is S3, which probably a little bit obvious, but the reason why I wanted to mention it is because I have seen that it's kind of the entry point for many, many companies to AWS and the cloud in general. It might seem surprising today that so many companies start to think about the cloud when they think, okay, what are we going to do with all these files? Like we don't trust our disks and our backups anymore. What do we do? How do we make them highly available and resilient? And S3 then becomes kind of the gateway to the cloud for them.

So definitely want to give it a shout out, even though it's, I think one of the oldest services together with EC2 and has been there for a while. So maybe not unused, but still very, very well-worked service to mention. And the last one I want to mention is ECS and Fargate, which I will depict Lambda if you didn't do that already, but I've seen that ECS and Fargate are very good replacement for Lambda, especially in cases where you have an application that has been built for a number of years, maybe even before the cloud, and you are trying to figure out, okay, what is the fastest and easiest way for me to bring that application to the cloud? And if you know a little bit of Docker and you can write a container for that application, ECS and Fargate will allow you to rather quickly deploy all of that in the cloud. So another thing that kind of goes in tandem with my first choice CDK is that I didn't like as much ECS and Fargate before CDK, because there is, again, a lot of configuration you need to write, but with CDK, you get this library of higher level constructs, which are called ECS patterns, and those will make your life much, much simpler. Like you really need to write a very minimal amount of configuration. Of course, there are a lot of assumptions that are baked in in these patterns, but for most use cases, you'll be able to ship things to production very quickly. So those are my three picks. Is there anything you think is also worth a mention? Maybe let's do some honorable mentions.

Eoin: Yeah, what didn't quite make the list? Yeah, I'm with you on S3 for sure is just outstanding in what it can deliver. Yeah, I think one of the honorable mentions I'd have to mention is CloudWatch, and this is another one that kind of flies under the radar quite a lot because it's been there for a long time, but there's actually a constantly growing number of components to CloudWatch. And over the last couple of years, I've found myself using CloudWatch logs insights, like to do powerful distributed log querying really frequently without having to go to third parties for decentralized logging solutions. But we also use metrics and alarms. I think CloudWatch can be really powerful for creating your own customer application metrics and alarms as well. And with the right setup, you can go really far with it. And we should probably also mention the open source project we've been working on called SlickWatch, which allows you to create a lot of those resources automatically for your applications. So I'd give CloudWatch as my honorable mention. What about you, Luciano? Do you have another one? Yeah, that's a good one.

Luciano: I'm going to just mention really quickly IAM because it's one of those unescapable services that you need to learn. Again, not the easiest. Initially, I had a little bit of love and hate relationship with it, but once you understand the building blocks and how well integrated it is with every single service, then yeah, you really get the value out of it and it's something you really need to use, you cannot avoid. So definitely a good service. If you haven't paid too much attention to it, I would encourage you to have a second look and try to understand better all the different concepts around it. And with that, I think we are at time for today. So thank you very much for following us. I'm really curious to know what are your favorite services. So if you want to leave us a comment or connect with us on Twitter, please send us your top three and we'll probably make some statistics with that. That will be an interesting experiment. So thank you very much. Make sure to follow us and give us a like, thumbs up, follow us in your favorite podcast software and we'll see you at the next episode. Bye.