TJ Holowaychuk

Up - Deploy serverless apps and APIs in seconds to AWS Lambda

by•

Up deploys infinitely scalable serverless apps, APIs, and static websites in seconds, so you can get back to working on what makes your product unique.

Add a comment

Replies

Best
Mohamed Saleh
Sounds great, I have a question What is the difference between Up and Serverless Framework? Do Up has any capability fro remote debugging of lambda functions?
TJ Holowaychuk
@engmsaleh good question! The primary difference is that Up is designed specifically for existing paradigms, you write your app/API as you always would locally with any HTTP framework you like, and then `up` to deploy it. You could think of it as a serverless Heroku, letting you test apps locally very easily and use existing knowledge. Serverless (and others) by contrast require specific knowledge of the serverless ecosystems, where you're managing individual Lambda functions per-route, and writing your application to fit that model. I don't have remote debugging functionality right now, I'd have to look into that.
Mohamed Saleh
@tjholowaychuk I'm personally using serverless framework and I agree with you as a start it is a bit of challenge I will give Up a shot In my opinion one of the most struggles that I have found when developing serverless in general is debugging if you make Up work for that I think it will be a huge addon 😄
Navi
@engmsaleh @tjholowaychuk : Thanks for this Q&A. I always had this doubt myself about Up. So if I've understood it right - Up takes any http based app and makes-or-deploys a lambda (aws serverless) version of it ?
TJ Holowaychuk
@engmsaleh @o1lab yep that's correct. Technically what it actually does is run your application inside of Lambda, via `node server.js`, or `./main` for binaries etc, and Up has an internal proxy which takes the Lambda API Gateway event, and translates it back into HTTP, forwarding it to your server. This is what lets Up provide middleware features such as CORS, logging, redirects, error pages and gzip compression as well. It sounds like it would introduce latency, but in practice it's very low, typically less than 1ms.
Navi
@tjholowaychuk WOW ! That is really seamless !! The title in Up github is selling it short for me 😀 ! >>> Deploy ANY apps, apis, and sites within seconds as serverless in AWS (would be great) I've played with GCP cloud functions and had come across serverless.com framework. The whole concept of writing yaml in serverless.com is really not it. PS: Im a big fan of your work 😍😍 - Great moment for me to have interacted with you😀
TJ Holowaychuk
Hello everyone! Up is a free and open-source tool for deploying and managing apps and APIs to your own AWS account in a single command, utilizing Lambda for near-infinite automatic scaling and extremely cost-effective on-demand pricing. Up is focused on deploying "vanilla" HTTP applications, there's no need to learn a new framework or manage individual Lambda functions—you can use Express.js, Koa, Golang, Django or whatever you prefer. You can think of it more like a serverless Heroku. Up Pro adds additional functionality such as encrypted per-stage environment variables, instant rollbacks, alerting, and a deployment log, for $10/mo — using the "product-hunt" coupon. There are no restrictions on many team members or the number of applications you can deploy.
Tal Bereznitskey
@tjholowaychuk We've been using up for over 2 years for multiple projects. It just works amazingly well! Well done
Tal Bereznitskey
@tjholowaychuk Oh... and I've written about the experience here https://hackernoon.com/lessons-l...
Danić Filip
The whole aesthetic and design looks way too much like Zeit.co and it’s off-putting.
TJ Holowaychuk
@vandanic yeah the logo part was unfortunate, mine is supposed to be an "A" but kind of looks like a triangle. As for the aesthetic in general, I've always had a minimalistic monochrome style, long before Zeit existed. Hell their v2 stuff looks a lot like Up, it's basically a router in front of Lambda.
pete bray
@vandanic @tjholowaychuk You gotta go w/ bigger fonts for us old timers. The tiny sliver fonts are really really hard to read for those of us who haven't yet made the journey to reading glasses.
TJ Holowaychuk
@petebray ahah noted, thanks!
Andreas Pizsa
@vandanic @technodevochka I remember using up for quire a while before zeit was around. His design style has been consistent for many years, I agree that @tjholowaychuk was first.
~~
@vandanic @technodevochka yes tj was first, and got something that works perfectly. I ended up on Up after huge frustration trying to run things on zeit v2. Their v2, not only being an horrible breaking change, does not work as (loudly) advertised. And not only being first, i'd say, reliable
Katerina Limpitsouni
This is so cool!!! Normally I wouldn't comment on something so technical, but lately I've had my ear chewed off about the benefits of serverless and how Up makes it ridiculously easy and manageable!!! Great project!
TJ Holowaychuk
@ninalimpi thank you 😸
Adrian Mejia
@tjholowaychuk What's the difference between apex/up and zeit/now?
TJ Holowaychuk
@adrian_mejia I haven't used Now v2, but from the looks of it some major things would be: - Up runs in your own AWS account, so you get complete isolation, security and don't have to worry about third-party infrastructure going down - Up lets you deploy regular HTTP applications, you can generally take an existing Express.js app for example and just run `$ up` - Much cheaper logging, Now's logs are very expensive in comparison, Up's are just AWS' $0.50/gb—charging per line is a bit extreme, they add up very fast in real apps - Up follows industry best practices of infrastructure-as-code, up.json contains dns records etc, instead of defining them via CRUD commands - Up is one flat fee, and can be used for any number of applications, no per-seat pricing - Up's support is included in Pro, Now's is very expensive - Up has alerting for errors and so on, I don't think Now has metrics in general, nor alerting - Up has stages (production, staging, etc) and instant rollbacks, Now uses a more convoluted deployment scheme - Up has pretty comprehensive structured log querying capabilities, I'm not sure what Now has on that front, looks like only substring matches for queries - You can take advantage of the 1,000,000 free requests/mo on AWS - Now may have slightly nicer UX in some scenarios due to AWS limitations, for example AWS makes you verify ownership of a domain name via email for the free HTTPS cert - Now has a higher upper limit on the duration of a request — 5 minutes, vs Up's 30s, which is an API Gateway limitation - Now has nicer static site support, though Netlify.com is more feature-rich than Now and free I think that covers the bulk of it, happy to answer any questions!
James Ide
Speaking to using Up for small websites, it’s very robust and cost effective for dynamic websites and APIs. Up is a relatively easy way to use serverless compute (AWS Lambda) with optimized, secure internet connections for users (AWS CloudFront CDN). The compute and bandwidth costs for my personal site deployed with Up are under a dollar a year. Route53 DNS is my highest cost on top of that ($0.50 per month) and is convenient but optional. With Up, I like that if my site were to get a spike in traffic, Lambda would automatically handle the load and my costs would grow linearly for just the duration of the spike. Up also can remove older versions of your site so your storage costs don’t grow. This timely ProductHunt post realizes some of the nascent benefits of serverless computing laid out in “A Berkeley View on Serverless Computing”, published last Sunday (https://www2.eecs.berkeley.edu/P...). Websites and APIs deployed with Up are cost efficient and geographically distributed, and you can “scale to zero” and scale back up.
TJ Holowaychuk
@ji didn't realize you were using Up! haha thanks for the comment :D
Simon Mansfield

I've been using Up in production for a variety of client projects over the last year, and it's been great. Not only that but TJ is incredibly quick to reply to any issues you might have in the Slack channel.

Pros:

Simplicity, ease of use and docs are great!

Cons:

Adding support for a "global" lambda deploy would be neat.

David
Up + Ping (https://ping.apex.sh) seems like a pretty cost-effective substitute for Heroku, which I love dearly. Nice work.
Simon Mansfield
I’ve been using Up for a little while now, and I can safely say that it’s saved me a huge amount of time, effort and money in making my Lambda deploys trivially easy. If you haven’t given it a go yet, I’d definitely recommend it!
TJ Holowaychuk
@simon_mansfield thanks Simon!
Arik Fraimovich
So happy to see Up show up on ProductHunt. It's an amazing product, and it definitely deserves more people getting to know it and use it.
pete bray
Great stuff! P.S., Wait, TJ, have we conclusively established that you're real yet?! https://medium.com/@kelas/how-is... P.P.S., Come back and innovate in Javascript!
Kieran Huggins
I've also been using up in production for years, and it has been an absolute joy. Up somehow manages to simultaneously tame both AWS and serverless, neither of which is a small feat. The benefits of running vanilla http servers on lambda cannot be overstated. The ability to run an existing server both locally and in lambda feels both obvious and revolutionary. Deployment is exceptionally simple, and hosting costs are often measured in pennies. The Pro features are split out thoughtfully, and are an incredible value for teams. I feel like I'm gushing here, but honestly it's just been a great experience. Try it.
TJ Holowaychuk
@kieran thanks a lot! Glad it's working out 😄
Tanaka
A massive fan of Up, it makes working with AWS lambda very enjoyable while taking advantage of the benefits of using serverless architecture
TJ Holowaychuk
@tanakasamuel thanks :D glad you're liking it!
Bruno Francisco

Have been using it as a side kick project and it is awesome

Pros:

Easy to use. Much better than other deployment tools

Cons:

Add suport for a global lambda would be awesome

Louis-RĂŠmi BabĂŠ

Been using it in production for more than a year. First the community edition and recently switched to the professional one, which saved me a lot of hours if I had to do the same things by hand.

Pros:

Really easy to get started and configure multiple environment. Pro features are neat!!

Cons:

Can't think of a real disadvantage

Neil Sarkar
Been using this in production for the last two years and I’ve been extremely happy with it. Like heroku, Up provides a development solution that lets any developer deploy a normal express app with a single command and no code changes / ops knowledge. Unlike heroku, Up keeps costs at a bare minimum when you scale globally in production...all you pay are lambda costs.
Mat Silva

I switched to it in the early days and have been impressed ever since then!

Pros:

Drop my aws compute costs from $80-120/month to $20/month So easy to use!

Cons:

Haven't used it since I had to shut down my web app, but would definitely use again.

Arti Villa
Could we also get a comparison with begin that uses aws as its underlying infrastructure.
~~

Best choice if you're valuing minimal and bulletproof tool. Up helps you understand serverless, will not force you to learn a new paradigm

Pros:

the less you talk, the more you do. And that's what's up about : no fake bell and whistles; the thing just work. Does supports crystal

Cons:

Underrated compared to similar tooling Does not support ruby (yet)

Logan Powell
I have used Zeit Now, AWS Amplify, AWS CLI and Heroku. Nothing comes close the ease of use of Up. It's fool proof. Nothing beat this thing and its predictable cost model (monthly subscription with an overly generous free option).