Skip to content

Instantly share code, notes, and snippets.

@metaskills
Created March 9, 2021 10:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save metaskills/6815f5847b40505f54300640529c11f6 to your computer and use it in GitHub Desktop.
Save metaskills/6815f5847b40505f54300640529c11f6 to your computer and use it in GitHub Desktop.
Modernizing Rails with Serverless Containers - RailsConf 2021 Proposal

Abstract

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.

For Review Committee

Details

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.

Pitch

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.

Speaker Information

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.

@dazuma
Copy link

dazuma commented Mar 14, 2021

@metaskills Hi Ken! Saw your tweets. I do wish your talk had been accepted as well. It looks like yours and mine take very different approaches to the serverless question, and would have complemented each other nicely.

If I can offer a few suggestions for your next proposal. (I don't have actual experience on a review committee, but I've managed to get a few talks into both RubyConf and RailsConf over the years, so something must be working...)

  • In your abstract, you do a good job of identifying the problem you're addressing, but your solution has a bit of "we're going to rework everything from the ground up and it will be a silver bullet" feel to it. If I were the review committee, I'd be skeptical whether you can really pull it off. If you're really offering a silver bullet, you need to convince them, in your details and/or pitch, that you can deliver. On the other hand, if your solution is (as most solutions are) more nuanced, you could probably express it with a bit more realism.
  • If I were a reviewer, I'd also be concerned that you're going in a "let's redesign the framework so it's not really Rails anymore" direction, which might not be the kind of topic they're looking for. If that's the direction you want to go, you'd need to address the question of why it's relevant/topical at the conference. If not, really really clarify that (for example) you're keeping Rails as it is, and addressing only the server-oriented assumptions, misconceptions, or practices that sometimes surround it.
  • You need more details in your details. My details section was about 5 times as long as yours. Don't just state the topics you'll cover, but actually outline your argument. Demonstrate to the reviewers that you can form a cohesive argument from problem to solution, that you are able to communicate it effectively, and that you will give your audience specific, tangible take-aways. One particular technique that seems to have been effective in the proposals I've gotten accepted, has been to identify one central message or theme that will carry throughout your talk and orient your argument, and state that clearly in your details section. If you haven't spoiled your entire talk in your details, it's probably not enough.
  • Your pitch is really really important because it's the place where you prove to the reviewers that you specifically are the right person to do this talk. Don't just claim that "I can demonstrate that Rails with Lambda is not what most people think." You need to convince me, by describing what most people think (and how you know that), showing what it actually is, and most importantly, informing me of how you learned all that and what in your experience uniquely provided you with the insight that you're sharing with the community.

In any case, I hope you'll still be at the conference. I'd love to get together to chat serverless!

@metaskills
Copy link
Author

Thanks Daniel for stopping by, I really appreciate it! Some inline comments.

...we're going to rework everything from the ground up and it will be a silver bullet...
...let's redesign the framework so it's not really Rails anymore...

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.

You need more details in your details....
... Demonstrate to the reviewers that you can form a cohesive argument from problem to solution...
... identify one central message or theme...

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 😫

In any case, I hope you'll still be at the conference. I'd love to get together to chat serverless!

Indeed looking forward to it. Again, thanks for taking time to help me out.

@metaskills
Copy link
Author

@dazuma Your Twitter DMs are closed. Would you mind sharing your proposal with me?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment