3 ms·
I mentioned this in the other thread (https://news.ycombinator.com/item?id=11398402 https://news.ycombinator.com/item?id=11398402), I'm Chris from the Azure Fun
by crandycodes 11y ago
I mentioned this in the other thread (https://news.ycombinator.com/item?id=11398402 https://news.ycombinator.com/item?id=11398402), I'm Chris from the Azure Functions team. Feel free to AMA. :)
- gagege 11y agoLooks nice, and if I ever have a need for something like this I'll use it over Lambda, because of C#. But, why no F#? Seems like an obvious language to support.
- crandycodes 11y agoI replied to you below. Mostly it's a time thing. We built this thing in under 90 days. We should have support for F# soon, based on our C# implementation. We're using a pipeline for C# which we think F# should just drop into. (You can see our C# implementation here: https://github.com/Azure/azure-webjobs-sdk-script/blob/master/src/WebJobs.Script/Description/CSharp/CSharpFunctionInvoker.cs#L414 https://github.com/Azure/azure-webjobs-sdk-script/blob/maste...)
- gagege 11y agoThat makes sense. Thank you so much!
- lindydonna 11y agoIn fact, Don Syme and the F# team are working with us to get this done more quickly. @VisualFSharp on Twitter can tell you more.
- crb002 11y agoHow about shelling out to native C/C++? I have Haskell running on AWS Lambda would be nice for Azure Functions, https://github.com/chadbrewbaker/introToAWSLambda https://github.com/chadbrewbaker/introToAWSLambda
- ahmelsayed 11y agoYou certainly can do this. Though keep in mind that your functions are running on Windows, so make sure to compile your native binaries to target Windows.
- existencebox 11y agoHey! Love this work, this is a model I've been very fond of for some time now. However, as a Python koolaid drinker, I do have to ask, is Python on your roadmap? (and if not, whyso?) Edit: realized in hindsight that many of the posts in this thread are/may be about "do you support X" (as for any shiny new feature like this), I imagine you guys may have a doc to describe this so feel free to just drop a link and not waste time explaining (to me at least) if I missed it when reviewing the primary docs. :)
- crandycodes 11y agoIt absolutely is on our roadmap. You can actually try out an early experimental version via the portal, but it will change DRASTICALLY before we announce "full support" for Python. It's definitely high on our list. Check out this article for a good overview: https://azure.microsoft.com/en-us/documentation/articles/functions-overview/ https://azure.microsoft.com/en-us/documentation/articles/fun...
- jonny1090231 11y agoI second Python!
- ahmelsayed 11y agoIt's on the road map, yes. There is already an experimental support for it but it needs a lot more polishing https://github.com/Azure/azure-webjobs-sdk-script/blob/807cf0be03f16acf07e615470c226060061b5fdf/src/WebJobs.Script/Description/ScriptFunctionInvoker.cs#L49-L76 https://github.com/Azure/azure-webjobs-sdk-script/blob/807cf...
- thenipper 11y agoThis is pretty neat. Any chance of an Excel add on like Blockspring? Probably not the expected use case but it seems like it could be useful.
- crandycodes 11y agoThat sounds nifty. Could you provide an end to end flow for what you'd like to do? We'll be opening up the platform for partners to add extensions soon, maybe this is a good candidate.
- thenipper 11y agoSure thing. Though I'm in SQL hell right now so my apologies if this doesn't make sense. Ideally it'd be cool to provide some sort of custom designed function in Excel that is hosted in Azure. So I could write some C#(Eventually F#! Woot!) and then link it into a worksheet I have. So I could write a function like: getTheWeatherByZip and then in excel call it and get say a string back with the weather. Hopefully that makes sense.
- alesh 11y ago[MSFT] employee here. Among many other things, we've announced today, we talked about Excel REST APIs. This API allows you to access and modify Excel Spreadsheet. This may do what you’re looking for. There are more details at http://dev.office.com/blogs/build2016release http://dev.office.com/blogs/build2016release. (about half way through the page). Hope this helps.
- tszming 11y agoSame as Lambda, why Python but not Ruby support?
- cdnsteve 11y agoI've noticed this as well on all platforms. Google Cloud, Azure, AWS - Python seems to be getting support first.
- lindydonna 11y agoIt might be a chicken and egg problem, but on Azure Web Apps, Python is much more popular than Ruby. This might be because of Windows vs. Linux, but that's where things are at right now.
- crandycodes 11y agoHonest answer: we need to improve the Ruby experience, in general, on App Service before we'd prioritize Ruby support. We want to improve Ruby for App Service in the near future, so I can imagine Ruby support on Functions later on.
- tszming 11y agoThanks for the reply. One more question: Is it still true that your team must develop service on top of Windows? Can your team use Linux? (I cannot see the direct relationship between these cloud services and Windows, except C# support)
- crandycodes 11y agoI use a Mac for my daily driver, honestly. We are built on Windows because that's what App Service uses. If App Service adds Linux and Ruby support, we'll definitely light that functionality up on Functions. :)
- lindydonna 11y agoMicrosoft has been more open to Linux lately, so if App Service supports it, then Functions will as well.
- cdnsteve 11y agoWhat's the process to develop these locally, how do you add tests? I couldn't find any docs on either.
- crandycodes 11y agoWe should have some more docs on this coming soon, but it's a work in progress, honestly. We think there are too many steps to get it going locally today. You can read more on how to setup the Host here: https://github.com/Azure/azure-webjobs-sdk-script/wiki https://github.com/Azure/azure-webjobs-sdk-script/wiki
- agrafix 11y agoAre there any plans to add Haskell support? :-)
- crandycodes 11y agoI was waiting for this question to get asked here. :) We don't have any official plans, but because we're open source, you can take a look at how we're doing things and think about adding it yourself later on. We'll have some contributor guidelines up soon. We're going to try to clean up the code and write down a bunch of dev/test guidance this month. https://github.com/Azure/azure-webjobs-sdk-script/wiki https://github.com/Azure/azure-webjobs-sdk-script/wiki
- lindydonna 11y agoAs this is not a common ask, probably not, but we are open source and take contributions! Take a look at our F# support. This should be a relatively easy integration, you'd just need to pass the code to a command line for Haskell. It might even be possible to do this with a Batch script today. Just upload the Haskell binary, and have it load a particular file in your functions directory. There's are some Batch templates you can get started with.
- kshmir 11y agoIs there anywhere where you document using native libraries, or even more, running a secondary process? (like phantomjs/slimerjs). We know we can do that on AWS Lambda.
- crandycodes 11y agoWe'll have more docs and guidelines on this coming out. Overall, its the same limitations as App Service, if you're familiar with that. We don't have phatomjs working out of the box today, but it's something I'd like to see. Not sure where it will fall on our roadmap. Feel free to file and issue and we can track it there. https://github.com/Azure/azure-webjobs-sdk-script https://github.com/Azure/azure-webjobs-sdk-script
- us0r 11y ago"use with compute metered to the nearest 100ms at Per/GB price based on the time your function runs and the memory size of the function space you choose." Why can't you use simple pricing like VMs or storage?
- david-given 11y agoThis is like Amazon's Lambda, right? So you don't get a dedicated VM --- you're not using up any infrastructure if your code isn't running, so you only get billed for time when it is running.
- crandycodes 11y agodavid gave a good response. We actually have TWO options (even simpler right? :)). You can just buy a dedicated instance to run on and it will always be hot and running your code. You have to manage scale for that though. You can, more interestingly, also use our "dynamic compute" model where we manage scaling and provisioning everything and we only charge you for the time your CPU was running. This is great for folks who have highly elastic workloads.
- icefox 11y agoDo you plan on adding support for web assembly? Also in your account you don't list your email or a private way to reach out to you.
- crandycodes 11y agoWhoops. I just added that to my profile. We don't have any current plans for that. Feel free to file a feature request. https://github.com/Azure/azure-webjobs-sdk-script https://github.com/Azure/azure-webjobs-sdk-script
- itaysk 11y agoThis has some overlap with Logic apps, don't you think? What are the use cases for each?