I turn 35 years old on Friday, which is significant because it's divisible by 5!
To celebrate, here's a list of my 35 favorite AWS services. 🥳
As Mario would say, "Here we gooooo!"
35. AWS Snow Family
This family of services consists of Snowcone, Snowball, and Snowmobile, and I've never used any of them. 🤠
But, how could I not include a service that allows you to send 100 PB of data to S3 on a semi-truck?!
Narrator: he could not, not.
34. AWS Security Hub
Security Hub is a service that allows you to sleep soundly knowing you're on top of your security posture.
With approximately 1 gazillion integrations to other AWS services, this is very much the hub of your security monitoring efforts on AWS.
33. Amazon Elasticsearch Service
Elasticsearch is great when you're looking for a full-text search solution with a side of open-source drama. 🍿
This would be higher on my list if it offered a serverless deployment option. #awswishlist
32. AWS X-Ray
X-Ray is a service I always feel like I should be leveraging more.
It shines in distributed systems (✨microservices✨) where you need to track down performance issues or failures within a complex chain of services.
31. AWS Organizations
Early in your cloud journey, you'll likely just throw everything into a single AWS account.
Eventually you'll come to realize that there's much to gain by separating workloads into isolated AWS accounts. AWS Organizations makes this manageable.
30. AWS Systems Manager
Is it a family of services? I'm still not sure. It's also a mouthful ("AWS Systems Manager Session Manager"). 🙃
Along with a dozen other features/services, Parameter Store lives here and it's really great for storing and organizing dynamic config.
29. AWS Security Token Service (STS)
STS gives us the ability to create short-lived, limited privilege security credentials for interacting with other AWS services.
But, it's on this list for one reason:
$ aws sts get-caller-identity
Speaking of the CLI...
28. AWS Command Line Interface (CLI)
I use the CLI every day. It's great for one-off tasks and managing my local dev environment, among other things.
It's super well organized and, with some experience, you can mostly predict how to make new/unfamiliar calls with it.
27. Amazon Simple Notification Service (SNS)
The OG pub/sub service on AWS, SNS provides some unique benefits in the messaging space.
These days I mostly use it for sending messages to users (SMS, push, email, etc), but it has some attractive features for m2m messaging as well.
26. AWS Fargate
When someone makes me use containers, Fargate makes it tolerable.
A "serverless compute engine" that abstracts away EC2 clusters (in ECS and EKS) and muddies the waters in the serverless v container wars, Fargate is yet another way to run your containers on AWS.
25. AWS Config
Ever wished you could see all of the resources configured in your AWS accounts? AWS Config gives you this and a whole lot more, like continuous monitoring of your resource configs.
It's also leveraged by higher-level services like Security Hub and Control Tower.
24. AWS CloudTrail
CloudTrail logs CLI, SDK and AWS Console activity (all AWS API calls) giving you visibility into changes to your cloud infra.
I appreciate CloudTrail so much more having recently helped a client navigate a tough situation with a co-founder-turned-bad-actor.
23. Amazon SageMaker
SageMaker is home to all things ✨machine learning✨ on AWS. This service is huge, and powerful, and hard to keep up with.
In the time it's taken you to read this far into the thread they've probably launched three new ways to "get started" with SageMaker.
22. AWS Certificate Manager
You know what I don't miss? Buying SSL certificates and staying on top of cert renewals.
AWS Certificate Manager does exactly what its name implies, and most of the time I forget it exists. 😍
Let's ditch the CloudFront us-east-1 restriction, pls.
21. AWS Secrets Manager
When I want to avoid publishing my app secrets into public GitHub repos—which is mostly all the time—I reach for Secrets Manager.
It has a nice integration with RDS for auto-rotation of creds and such, but I just use it to store API keys. 🤷♂️
20. Amazon QuickSight
I'm still pretty new to the QuickSight world, but it plays nicely with my preferred serverless analytics stack (see the next few services in this list) and seems super powerful.
Think AWS-native Tableau. The Adam Selipsky of AWS services.
19. AWS Glue
My favorite service when I want to dress up and play data scientist.
"Do I ETL?! Pssssht. I'm an ETLer from wayyyy back. Hang on, gotta debug this Scala job. 😎"
I also amaze myself with how quickly I can run-up a Glue bill. 😅
18. Amazon Kinesis
Another family of services, Kinesis makes ingesting and processing streams of data easy.
I use Kinesis Data Firehose a ton for streaming data from various sources into S3 data lakes. You can even provide a schema and Firehose will output parquet files! 💯
17. Amazon Athena
I really enjoy Athena and it still feels like superpowers every time I execute a complex SQL query against data in S3.
I'm a big fan of this serverless data analytics stack (Kinesis, Glue, Athena, and QuickSight) and Athena is my favorite service of the bunch.
16. Amazon CloudWatch
We're getting into "services I use every single day" territory.
It's easy to take CloudWatch for granted, and I definitely grumble every time I can't track down the right log stream.
But, I'd be nearly blind without it, so thanks for existing CloudWatch!
15. Amazon API Gateway
Before I started reaching for GraphQL so often, this was my go-to service for standing up APIs. I will say, the versioning (REST vs HTTP) is a pain point each time I come back to APIGW.
The logo looks like a TIE fighter, which is nice.
14. Amazon Route 53
If you've made it this far, you deserve to know the meaning behind this service's name.
53 is the DNS port.
You're welcome! 🤗
13. Amazon CloudFront
The jelly to S3's peanut butter, CloudFront is probably still provisioning that distribution I created before I started this thread. Kidding, mostly. 😅
CF gets a pass for any time spent waiting on it, given that it's moving bits all over the globe for us.
12. Amazon Cognito
An oft-misunderstood and under-appreciated service, Cognito is brilliant for its tight integration with myriad AWS services and for saving us all from spending a bazillion dollars on a certain third-party auth solution. 😬
11. AWS SDKs
Often the only import in my Lambda functions, the AWS SDKs wrap the wonderfully consistent and stable AWS API for use in your programming language of choice.
I only use it less over time because AWS keeps building more direct integrations; a great problem to have.
10. AWS Identity and Access Management (IAM)
You can't avoid IAM if you build anything on AWS, and I continue to appreciate it more and more over time.
If you're early in your cloud journey and find yourself frustrated with IAM, just give it time. It'll grow on you.
9. Amazon Simple Queue Service (SQS)
The service that started it all back in 2004 (!), SQS hasn't lost relevance with age.
There are so many useful patterns that rely on SQS; it finds its way into nearly every solution I implement.
8. AWS Step Functions
The service that has me questioning every line of code I write in a Lambda function: "wait, should I handle this in step functions?!"
This is the service I would lose my cool around, if AWS services were celebrities. I'm a fanboy for sure.
7. Amazon EventBridge
Event-driven architectures are all the rage, and for good reason. The artist formerly known as CloudWatch Events, EventBridge provides all the event routing functionality you could ever ask for.
But, you'll probably just use it as a lambda cron trigger. 😅
6. AWS CloudFormation
The primary source of YAML in my dev diet, CloudFormation will always have a place in my toolbox even as tools built on top of it garner more of my daily attention.
If you're not leveraging infrastructure-as-code, yet, jump in! You won't regret it.
5. AWS Cloud Development Kit (CDK)
The CDK is basically a TypeScript/Python/Java/C#/Go to CloudFormation compiler, and it can save you a ton of time (and lines of YAML).
It's also open-source, has an incredible community around it, and keeps getting better at a dizzying pace.
4. AWS AppSync
Serverless GraphQL APIs that play nicely with Cognito/DynamoDB/etc.? Yes, please.
I came for GraphQL and I stay because I'm hooked on VTL. My only complaint is that it's somewhat at odds with my desire to over-optimize my single-table designs in DynamoDB.
3. AWS Lambda
The face of the FaaS movement, Lambda was my gateway drug into serverless. Now with per-ms billing! Because we totally make it out of the free-tier to notice. 😅
This might have been #1 on my list if I weren't steadily replacing functions with direct integrations.
2. Amazon Simple Storage Service (S3)
What else is there to say about S3 that hasn't already been said?
It's a key cog of the internet, at this point, and it's no less a marvel today than it was 15 years ago when it changed the tech world forever.
1. Amazon DynamoDB
I've tried a dozen different ways to put into 280 characters what I love about DynamoDB, but I can't land on something I'm happy with.
If you haven't given ddb a shot, I hope that your curiosity is sufficiently piqued enough to explore it further.
The best.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
wife and i started wearing continuous glucose monitors a couple weeks ago just to learn more about our metabolic health and we've both learned so much!
going to share the most basic takeaways and then get more and more specific
most basic:
- eat less
- move more
more specifically, eat smaller meals and move immediately after
anytime i eat a meal i would have called "normal" sized before, i'm in for a big spike
if i sit after a meal (usually at my desk for work), that spike is exacerbated (and the insulin dump is going to be intense)
it's actually incredible how effective a post meal walk is at regulating blood glucose
my wife and i have very different bodies and different learnings from this process but that's been consistent for both of us
😱 omg, next 14 leak!
don't ask how i got these details:
Next.js 14
◆ `site` directory w/ opt-in RSCs ("use server")
◆ AI powered router (GPT-4)
◆ Turbopack now in Beta*
◆ Turboformat (Rome Tools acquisition)
◆ `next/favicon`
◆ `next/centered`
"Next.js 14 (very stable) ushers in a new era of computing, transcending the boundaries of space and time, and empowering you to create the unimaginable."
I don’t like to be negative. It’s a lot more fun to only ever be positive and ignore the stuff that bothers you.
But, lack of accountability on the internet is a problem, and the last few months have brought that to a head for me, personally.
Story time:
I hang out on Twitter, almost exclusively. I’m mostly interacting with the AWS community here, but also broader tech twitter, and the indie hacking crowd.
Like everyone else, I see the 37293746 (info) products and services hawked on this platform; I also hawk my own on occasion.
I’d say I have a bias towards working with other folks on Twitter. I’d guess that’s fairly common.
In the last two months I hired two indie businesses based on Twitter appearances, and the results were comically bad.
I love the DynamoDB API. You can look at any operation and be certain of the performance characteristics.
Contrast that with a SQL query (or ORM operation) where you have to have a lot of context to understand whether a table scan will be needed, etc.
This is a huge difference over time. If you’ve built any non-trivial app and maintained it over a year+, you know the pain of troubleshooting poorly performing SQL queries and dissecting query plans.
I get that DynamoDB has a learning curve, but so does SQL (esp indexes)!
And then there’s hardware…
DynamoDB is a managed service, and performance doesn’t vary based on how much hardware you’ve provisioned. Operations perform the same in dev/test/prod/whatever, always.