📢 What do you use Sidecar for? #116
Replies: 13 comments 5 replies
-
We've created two automations for our product, one managing Zoom dashboard and other third-party. We have 4 sidecar lambdas running in sync doing magic! let me know if I can help We're using node 14, chromium, puppeteer and vapor. |
Beta Was this translation helpful? Give feedback.
-
We wanted to move to Laravel Vapor, but we needed to support PDF generation, document conversion, and image optimisation. The appeal of serverless was to not worry about servers, but it seemed like we would need a Forge/EC2 box to run a queue worker on. Luckily, I stumbled across Sidecar and was pretty happy with the outcome. We currently use two Lambdas:
Our basic needs are covered with those. We avoided our dreaded server and code maintenance burden. Given these lambdas are invoked from the backend and that they don't have access to our app, I'm assuming I should rarely need to update these lambdas or worry too much about silly buggers (malicious users). The initial learning curve was worth the effort. We're having a lot of fun with Sidecar. We're also only thinking about file handling at the moment. We're now looking into similar file wins by making lambdas for:
The runtimes above are node and python. The newbie things I needed to learn were:
|
Beta Was this translation helpful? Give feedback.
-
My use-cases are all very 3d-based:
In the future I'm considering moving my main 3D content generation pipeline (python & custom binaries) over to another lambda, but I'm holding off until I understand the performance impact better (I currently generate in 200-500ms which is one of the defining features of my product). |
Beta Was this translation helpful? Give feedback.
-
Y'all this is fascinating. Stuff I never ever would have guessed, I love it so much. Thank you for responding in such great detail, this is wildly helpful and extremely cool for me to see! @adrianb93 those sticking points you laid out are terrific, I'll address some of them in the docs. |
Beta Was this translation helpful? Give feedback.
-
Hey @aarondfrancis, At the company I work for we were using Kubernetes for our Laravel backend but we recently moved to Laravel Vapor which has many benefits for us. We use React for our frontend application and we have an Envoy router that handles a lot of redirects from our legacy websites but, for SEO reasons these must still be handled (unfortunately). I wonder if we can bring in the redirection (envoy-like) to Laravel using Sidecar... Then I won't have to manage this Kubernetes cluster including Envoy :) |
Beta Was this translation helpful? Give feedback.
-
Well, we're only just moving to Sidecar, but before discovering it we had already built a similar feature, using AWS SAM to create the Lambda deployments but invoking them from our Laravel backend using Guzzle HTTP via API Gateway. SAM is pretty good, but it's a headache to go through the API Gateway, so looking forward to ditching it entirely...! Thanks for inventing this :-) We use Lambdas (so far) for letting Laravel/Vapor do:
The move to Vapor kind of triggered the change to this architecture as we no longer could run all these kind of things on our servers, and this makes the whole maintenance much cleaner. One function per "server"... Just looking at getting the container runtime working with Sidecar now... |
Beta Was this translation helpful? Give feedback.
-
Does anyone have a working version of sidecar + Docker (for container builds) + puppeteer-extra? |
Beta Was this translation helpful? Give feedback.
-
Thanks @aarondfrancis and other contributors for this awesome package. I was previously using Symfony process to call a few node scripts that would train ML models and return a JSON representation of the model. I installed this package and an hour later, these scripts are running flawlessly in lambda instead of hogging resources on a web server 🙌 |
Beta Was this translation helpful? Give feedback.
-
Sidecar has saved me so much time and reduced complexity by way too much. Currently just got it up and running to generate QR Codes, that later get put into s3 to be utilized in the body of an email. Between switching to the docker vapor runtime or trying to do something hackish (since the vapor run time does not bring along Imagick), pulling in Sidecar was a total breeze. |
Beta Was this translation helpful? Give feedback.
-
We have an app that manages veterinary medical records to which PDFs can be attached, then the PDF is compressed and an image is taken from the first page and shown to the vet. The process was done on the server, it is a costly process in resources, the biggest problem was when there were many processes, let's say processing about 100 documents in parallel was not possible, as they are in a queue, we only processed 5 at a time. With Sidecar we migrated to a Lambda function with NodeJs and it works great. The next step we have planned is the generation of the medical history in PDF, for this we must convert the pages of each PDF into images, generate the HTML incorporating each image and then with Prince generate the PDF. |
Beta Was this translation helpful? Give feedback.
-
@danatemple how are you running R on Lambda? Or better, how are you running an R function on Lambda? I found few (outdated?) R layers on github, but I'm not sure how well they work (or not), and I also found some docs/tutorials on how to use Docker containers, but that sounds quite more complex, though it seems - if I'm not mistaken - it overcomes some Lambda limitations like max memory and deployment package size. Any suggestions? |
Beta Was this translation helpful? Give feedback.
-
@stebogit This is indeed with a Docker container, based on a Nodejs container with R and all the necessary packages installed. Then we use Javascript code to handle the event coming in, execute on R and send the response back. It calls R through a shell exec. Files are stored in /tmp in the container. Javascript was just because we had other Sidecar functions using it, could have used any language AWS supports. With larger files, you'd need to put them on S3 and have the Docker code fetch them from there. Works a treat! |
Beta Was this translation helpful? Give feedback.
-
One use I have given this package is for zipping files stores in S3. Created a function that receives a list of S3 files and streams them to a new |
Beta Was this translation helpful? Give feedback.
-
Hey yall!
I'm looking for some more use cases to mention in the docs, as my "generate an image" ones are relatively uninspired.
So... what do you use Sidecar for? What use cases, and what runtimes?
Thank you 🙌
Beta Was this translation helpful? Give feedback.
All reactions