Rails was made for servers. From web servers to background jobs, orchestrating the complexity of Rails in our cloud's infrastructure is hard work. We can not Kubernetes our way out of it either. There is a better way...one that is not well understood. With AWS Lambda and event-driven methodologies, we can fundamentally reinvent our beloved framework. It can change, and indeed thrive, without servers.
AWS Lambda is a commoditized compute platform of the future. Deeply integrated within AWS, it allows your Rails architecture to be completely reimagined atop fully managed infrastructure resources like API Gateway, SQS, S3, CloudWatch, VPC NAT Gateways, IAM, and so much more. As we explore Rails on Lambda, a pattern of evaporating concerns will become a common theme.
Don't worry, I’m not here to pitch microservices or convince everyone to smash our Rails applications into hundreds of smaller function calls. AWS Lambda is a wonderful deployment target that can host your entire application, similar to Heroku, with little to no internal changes.
Rails has two hard problems to solve in the coming years. First, being a relevant choice in today's newer application framework options. Most are moving to, or are born from, serverless methodologies. Netlify & Amplify are great examples. We need to Railify Rails! The other is how we make that transition. Our community is steeped in a server-based mindset. One that views serverless as a microservices-first dogma. I can demonstrate that Rails with Lambda Containers is nothing like what most think. That serverless is ready for today's new, or legacy, application frameworks.
Principal Engineer at Custom Ink and AWS Serverless Hero. Ken focuses on growing Custom Ink's DevOps culture within the Ecommerce & Operations teams. Custom Ink is approaching its 21st year in business and is entering its second phase of Cloud adoption, where he helps a growing platform succeed using AWS-first well-architected patterns.
Thanks Daniel for stopping by, I really appreciate it! Some inline comments.
Darn it... both of these are not true. Lamby is a simple Rack adapter. At Custom Ink we are doing lift and shift Rails of small to large applications from EC2.
Really good advice!!! I struggled a lot with the proposal because I thought it should be short and non-identifiable. So I did not include Custom Ink, how we have actually being doing #serverless Ruby & Rails successfully for years, and my project links and more details because I thought it would break other rules. So literally was afraid do what you were suggesting 😫
Indeed looking forward to it. Again, thanks for taking time to help me out.