TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Fission: Serverless Functions as a Service for Kubernetes

216 pointsby ferrantimover 8 years ago

17 comments

ekiddover 8 years ago
From the article:<p>&gt; To optimize cold start overheads, Fission keeps a running pool of containers for each environment. When a request for a function comes in, Fission doesn&#x27;t have to deploy a new container -- it just chooses one that&#x27;s already running, copies the function into the container, loads it dynamically, and routes the request to that instance. The overhead of this process takes on the order of 100msec for NodeJS and Python functions.<p>100 ms of overhead is pretty steep. Google recommends a limit of twice that for the entire server response (<a href="https:&#x2F;&#x2F;developers.google.com&#x2F;speed&#x2F;docs&#x2F;insights&#x2F;Server#recommendations" rel="nofollow">https:&#x2F;&#x2F;developers.google.com&#x2F;speed&#x2F;docs&#x2F;insights&#x2F;Server#rec...</a>):<p>&gt; You should reduce your server response time under 200ms<p>Still, I&#x27;ve heard that AWS Lambda may run around 200 ms, so perhaps Fission is doing OK here.<p>But with modern progress in fast-starting compiled languages like Go and Rust, I&#x27;d love to have some easy way to supply small static binaries instead of source code. With compiled web server frameworks, it&#x27;s feasible to handle over 250,000 (very simple) requests per second, or thousands of requests while Fission is trying to figure out where to send your source code. It doesn&#x27;t always make sense to pay for interpreter startup overhead on every request (EDIT: this is not the case according to the Fission developers), especially not now that compiled code is so easy.
评论 #13523113 未加载
评论 #13524141 未加载
评论 #13522817 未加载
评论 #13522779 未加载
评论 #13523143 未加载
评论 #13524279 未加载
评论 #13523401 未加载
Mizzaover 8 years ago
Zappa author here, very excited by this project!<p>We&#x27;ve been planning on supporting other DIY&#x2F;non-AWS offerings in this space - particularly IBM&#x27;s OpenWhisk[1]. If the Fission authors are here - can I ask how the two stack up? OpenWhisk&#x27;s ability to write your own custom even sources seems like a leg up, as does their wider language support, but Fissions&#x27;s Kubernetes foundation seems preferable. Curious how the two compare!<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;Miserlou&#x2F;Zappa" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Miserlou&#x2F;Zappa</a> [1] <a href="https:&#x2F;&#x2F;developer.ibm.com&#x2F;openwhisk&#x2F;" rel="nofollow">https:&#x2F;&#x2F;developer.ibm.com&#x2F;openwhisk&#x2F;</a>
评论 #13523639 未加载
zeptomuover 8 years ago
It might be the case that docker was just some enabling technology to go back to static binaries even with dynamic languages that IMHO expect a more complicated runtime setup.<p>So if one goes with statically compiled web services written in e.g. Go, Rust, Haskell or any other language supporting static binaries (most languages support this actually, but not all of them encourage you to do it), the only thing missing is a deployment framework that distributes your binaries to your (potentially virtual) machines. So am I correct that this is the point where Kubernetes comes in?<p>So how to use Docker in production is a controversial topic and the consensus seems to change rapidly, but in my opinion is mostly used as a weapon against dependency hell, but this problem is mostly solved using static binaries. Other use it for sandboxing, but I am not sure what security guarantees one can expect here.<p>If one compares static binaries with Docker containers how do they compare from a security point of view if one is hyperparanoid that the code executed may harm the host?
评论 #13528861 未加载
lars_franckeover 8 years ago
I&#x27;m relatively new to the Serverless&#x2F;FaaS space. Or to be more precise: I missed AWS Lambda and only heard about it when OpenWhisk was donated to Apache.<p>I have a couple of questions, maybe someone here has answers for me:<p>1) In particular I&#x27;m wondering about expensive one-time&#x2F;setup operations (e.g. opening a database connection) that are usually done once at startup of a service. But that doesn&#x27;t really apply here. How are these things handled?<p>2) As a Java guy I also wonder which of these tools support Java and how they deal with dependencies and JVM startup times etc.<p>3) And my last question: How do these integrate into development workflows? Continuous integration? Run this offline&#x2F;local etc. Will I need a Kubernetes instance on my machine?
评论 #13525676 未加载
评论 #13527555 未加载
评论 #13545752 未加载
chrissnellover 8 years ago
This is handy. It would be great if you could add Go as a supported service language.
评论 #13524527 未加载
评论 #13524860 未加载
binocarlosover 8 years ago
A serverless framework using k8s to hide the servers make a lot of sense
soamvover 8 years ago
Hi all, Fission developer here. Happy to answer any questions.
评论 #13526339 未加载
评论 #13522957 未加载
kozikowover 8 years ago
I think it feels like a competition for celery. It fits into those tasks that are too heavy to run on the primary web server, but too small to set up the dedicated deployment&#x2F;replicaset.<p>On slightly different note, I am still looking for a good job pattern for my use case. I run jobs on very custom docker images (including deep learning and computer vision stuff). I currently use redis queue with todo items, each pod in deployment picks up items from the queue in the loop, but I dislike some things about it. Fission is not the good fit, but I am wondering if HN community would have some suggestions. I thought about kubernetes jobs, but they have some things I don&#x27;t like.
评论 #13524029 未加载
评论 #13523500 未加载
评论 #13523291 未加载
ridruejoover 8 years ago
Kubeless from Skippbox is another open source serverless offering for Kubernetes <a href="https:&#x2F;&#x2F;github.com&#x2F;skippbox&#x2F;kubeless" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;skippbox&#x2F;kubeless</a>
allcenturyover 8 years ago
Your article mentions the reason you chose client code vs docker images, which I understand and can agree with. However, is there any plan to support docker images in place of client code?<p>What you&#x27;re suggesting [initially] is very similar to what the folks at iron.io did but I&#x27;d really want to ship containers all around, not pieces of code. Iron.io addressed that a little too late in my opinion and their feature set around docker leaves a lot to be desired.<p>IMO, AWS Lambda and Google Cloud Functions are going to support docker in the near future, they have to if they want their ecosystem to be adoptable by all.
评论 #13524824 未加载
andyflemingover 8 years ago
Isn&#x27;t one of the big benefits of serverless functions being able to scale transparently? Can a kubernetes cluster give you anywhere near the elasticity of something like lambda?
评论 #13524492 未加载
评论 #13524513 未加载
alexellisukover 8 years ago
I&#x27;ve spent some time on a PoC FaaS project with Docker Swarm primitives and Docker 1.13 features - exploring things like auto-scaling.<p><a href="http:&#x2F;&#x2F;blog.alexellis.io&#x2F;functions-as-a-service&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.alexellis.io&#x2F;functions-as-a-service&#x2F;</a><p>Long version:<p>&gt; FaaS is a platform for building serverless functions on Docker Swarm with first class metrics. Any UNIX process can be packaged as a function.<p>&gt; Enabling you to consume a range of web events without repetitive coding.
_Marak_over 8 years ago
Please see: <a href="https:&#x2F;&#x2F;github.com&#x2F;stackvana&#x2F;microcule" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;stackvana&#x2F;microcule</a><p>We&#x27;ve got better functionality, streams ( not a buffered context ), more language support, and better response times.
valuearbover 8 years ago
I&#x27;m a long time software developer, have recently implemented a series of web application servers on Heroku using Node.js, and I have no clue what this article is about. My suggestion is a better introduction might broaden it&#x27;s readability.
评论 #13528874 未加载
评论 #13528038 未加载
johnhenryover 8 years ago
This popped up a few days ago and it seems worth it to compare: <a href="https:&#x2F;&#x2F;github.com&#x2F;alexellis&#x2F;funker-dispatch&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;alexellis&#x2F;funker-dispatch&#x2F;</a>
geertjover 8 years ago
How does this compare against funktion (<a href="https:&#x2F;&#x2F;funktion.fabric8.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;funktion.fabric8.io&#x2F;</a>)? Both projects seem very similar.
brilliantcodeover 8 years ago
so basically a host your own AWS Lambda? very interesting wondering if this has any of the cold boot time lags
评论 #13523394 未加载