惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Last Week in AI
Last Week in AI
IT之家
IT之家
A
About on SuperTechFans
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
Vercel News
Vercel News
博客园 - Franky
有赞技术团队
有赞技术团队
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
量子位
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Building a Low-Cost Image Converter on AWS With Rust Lambda
fayismahmood · 2026-05-18 · via DEV Community
Cover image for Building a Low-Cost Image Converter on AWS With Rust Lambda

fayismahmood

Project demo link: https://image-ignite.vercel.app/

This started as a hobby project. I was thinking about a simple image conversion service for resizing ,convert, compress uploaded images.

Since it was a personal project, cost mattered a lot.
Keeping EC2 instances running 24/7 felt unnecessary for a workload that only existed for a few seconds per request.

So I started experimenting with AWS Lambda.


First Attempt: Node.js + Sharp on Lambda

My initial stack was:

Component Tech
Runtime Node.js
Processing Sharp
Compute AWS Lambda
Storage AWS S3

The architecture was very simple:

Upload → Lambda → Process Image → Store Result

Enter fullscreen mode Exit fullscreen mode

At first, Lambda felt like the perfect solution:

  • no idle server costs
  • automatic scaling
  • no server management
  • pay only when used

Exactly what I wanted for a hobby project.


The Problem I Started Noticing

After some usage, cold starts became noticeable.
Especially for image-heavy requests.

The actual image processing was fast enough, but startup time sometimes became a large part of the total request.

Approximate numbers from my experience:

Metric Node.js + Sharp
Cold Start ~700ms – 2s
Warm Start ~50ms – 150ms
Memory Usage ~180MB – 350MB

For a workload that only runs a few seconds, that startup overhead feels significant.


Why I Switched to Rust

I rebuilt the processor using Rust Lambda.
Not because of hype.

The workload simply matched Rust better.
The difference became noticeable almost immediately.

Metric Node.js + Sharp Rust Lambda
Cold Start ~700ms – 2s ~80ms – 300ms
Warm Start ~50ms – 150ms ~10ms – 40ms
Memory Usage ~180MB – 350MB ~40MB – 90MB

For this type of workload, lower startup time mattered a lot more than I initially expected.


Final Thoughts

This project started as a small hobby image converter where I wanted to avoid the cost of always-on infrastructure. I initially used Node.js with Sharp on AWS Lambda, but cold starts became noticeable for short-lived image processing tasks. Moving to Rust improved startup time and reduced memory usage significantly. More importantly, it changed how I think about infrastructure — some workloads work better as temporary, event-driven compute instead of persistent servers.