Rails 6 API with React frontend, Postgres database, hosted on Heroku.
I've been using some version of this stack for different projects, across companies, for several years and it's an absolute joy. It's only gotten more refined and streamlined over the years.
Admittedly I don't have many alternates to compare to, but it's wonderful. It's essentially the best parts of Rails MVC (M and C), which gives just enough out of the box (ActiveStorage for attachment management, ActiveJob for background jobs, ActiveRecord for ORM, ActionMailer for emails) to allow developers to focus on writing business logic without getting bogged down with some of the lower level implementation details, while also remaining flexible. Excellent framework coupled with a beautiful language (ruby).
Could you please give me (a person who just started learning and using AWS) few tips and advices about how to become AWS professional and other info that you think it is important for me to know?
I have good prior programming experience with Python and R, and mostly work in data science projects.
Properly done AWS is always infrastructure as code, so learn CDK. Becoming proficient in building services where everything is wired by CDK will basically force you to understand the operating model of AWS and the building blocks. You essentially have:
IAM/Security -> Grant access between services
Networking/VPC -> Open interfaces between services
Services themselves -> S3/DynamoDB/Lambda
From there, you realize everything kinda follows the same pattern, and you can rely on the CDK typescript type system to chain and link things together.
From there, focus on microservice architectures, distributed coordination of writes to Dynamo DB from lambdas, when to use containers, etc
Even though it's not out of beta yet, I feel really productive using SvelteKit. It's the first framework that I've used in 15 years of programming and said "Ahh, finally". I use it in production and am going to release a SaaS starter kit for other folks to use so they don't have to build all the same features every app needs: https://sveltesaas.com/
If you'll indulge me as I wax poetic: Things I like about SvelteKit: none of the front-end/back-end plumbing you usually need to do with JS/HTML/CSS, can use JS/TS throughout the entire stack, filesystem-based routing is so easy to use and maintain, performant and SEO-optimized server-rendered routes with automatic client-side hydration, optional client-side routing for optimal performance, can specify statically-generated pages per route (marketing site and app are all part of one bundle), super fast dev experience.
And Svelte itself is awesome too: Svelte components run super fast (no virtual DOM), have tiny build sizes, stellar interactive documentation, and the developer experience is fire. Svelte was also just voted the #1 most loved web framework in the 2021 Stack Overflow developer survey (it beat out React, Rails, Django, Spring, Laravel, etc): https://insights.stackoverflow.com/survey/2021#section-most-...
Docker, Kubernetes, and AWS make me feel like I can deploy just about anything in a way that will scale for a very long time.
Usually I put python and flask on top of that. Though I always feel like I should be switching to Django or possibly Go.
I've also been experimenting with Nix lately. That feels like it's going to be a way to do even smoother and more predictable deploys using the same stack.
For me, it's Go, probably hosted on AWS. I've been building my productivity with TypeScript and JS as well, but I'm still a bit less sure of my skills there so I wouldn't say it's the most productive. I'm getting there!
For me its Java with Spring or maybe something like Micronaut. Its what I'm most familiar with.
Plus the massive Java ecosystem means I can probably find a library to do just about anything.
Database would be MySQL or Postgres.
The application containers would run on something like Google Cloud Run, other serverless options are available.
16 comments
[ 3.2 ms ] story [ 36.1 ms ] threadI've been using some version of this stack for different projects, across companies, for several years and it's an absolute joy. It's only gotten more refined and streamlined over the years.
I have good prior programming experience with Python and R, and mostly work in data science projects.
Thank you.
IAM/Security -> Grant access between services
Networking/VPC -> Open interfaces between services
Services themselves -> S3/DynamoDB/Lambda
From there, you realize everything kinda follows the same pattern, and you can rely on the CDK typescript type system to chain and link things together.
From there, focus on microservice architectures, distributed coordination of writes to Dynamo DB from lambdas, when to use containers, etc
If you'll indulge me as I wax poetic: Things I like about SvelteKit: none of the front-end/back-end plumbing you usually need to do with JS/HTML/CSS, can use JS/TS throughout the entire stack, filesystem-based routing is so easy to use and maintain, performant and SEO-optimized server-rendered routes with automatic client-side hydration, optional client-side routing for optimal performance, can specify statically-generated pages per route (marketing site and app are all part of one bundle), super fast dev experience.
And Svelte itself is awesome too: Svelte components run super fast (no virtual DOM), have tiny build sizes, stellar interactive documentation, and the developer experience is fire. Svelte was also just voted the #1 most loved web framework in the 2021 Stack Overflow developer survey (it beat out React, Rails, Django, Spring, Laravel, etc): https://insights.stackoverflow.com/survey/2021#section-most-...
Usually I put python and flask on top of that. Though I always feel like I should be switching to Django or possibly Go.
I've also been experimenting with Nix lately. That feels like it's going to be a way to do even smoother and more predictable deploys using the same stack.
Database would be MySQL or Postgres. The application containers would run on something like Google Cloud Run, other serverless options are available.
Still to this day nothing beats it even if you go barebones because everything you need is included out of the box.