Leaves of Greengrass: my life on the (AWS) Edge

Hi. I wrote some good stuff in Python and it still works.
When I heard the learn’d architect,
When the components, the devices, were ranged in columns before me,
When I was shown the recipes and groups, to add, divide, and measure them,
When I sitting heard the architect where he lectured with much applause in the lecture-room,
How soon unaccountable I became tired and sick,
Till rising and gliding out I wander’d off by myself,
In the mystical moist night-air, and from time to time,
Look’d up in perfect silence at the CloudWatch.
To my dear W.W.
This is my intro article in the “Leaves of Greengrass“ cycle. In it, I would like to share my knowledge and experience with AWS Greengrass and some extra pains someone might find entertaining and maybe even useful.
I’ve been living with AWS Greengrass for a while now. Depending on the day, it feels like either a very cool and serious project or a science experiment someone duct-taped together after too much Red Bull, and now I have to make it live.
On paper, Greengrass looks clean: “here are the components, here are the groups, here’s how it all connects.” In reality, you’re spelunking through logs in two or three different places, spewing deployments like a machine gun, and considering the next SDK update as a major threat.
The project I’m working on is far from what it should be on paper or ones might do by following tutorials. It is a production environment where internet connection is a luxury and costs a fortune, downtime is not an option, and every second of data is measured in terabytes.
Sounds badass, you’d say! Sounds like a minefield, I’d say.
So why write about this?
Because the docs are sterile, and I want to show the dirt. At least, i wanted someone to show it to me back in the days.
Because behind many fixes there’s not just a technical answer, but a survival story.
Because at 2 a.m., staring at Greengrass logs, it helps to know you’re not alone.
What Leaves of Greengrass will cover:
Components that refuse to start and won’t tell you why.
Recipes and groups that look simple in diagrams but turn into hell in practice.
The small victories when, after twenty failed attempts, something finally runs.
Anyway, I write it as my field notes. Part war stories, part technical breakdowns.
If you love polished AWS whitepapers, this will hurt.
If you want to know what Greengrass looks like in real life, welcome.
