New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research item: Azure Container Instance - ACI as FaaS backend #117

Open
alexellis opened this Issue Aug 8, 2017 · 12 comments

Comments

Projects
None yet
4 participants
@alexellis
Member

alexellis commented Aug 8, 2017

Item - Research into running FaaS with Azure CNI as a back-end

This may be via the Azure API or through the ACI Kubernetes Connector.

ACI:

https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/

Kubernetes connector:

https://github.com/Azure/aci-connector-k8s

Container instances have granular billing, public or private IPs and can be deployed to multiple regions easily. No backing VM is necessary either.

@bketelsen

This comment has been minimized.

Show comment
Hide comment
@bketelsen

bketelsen Aug 8, 2017

Would you want an implementation of the entire infrastructure running on ACI, or just the functions themselves with the controlling parts running elsewhere?

Would you want an implementation of the entire infrastructure running on ACI, or just the functions themselves with the controlling parts running elsewhere?

@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Aug 9, 2017

Member

I'd like to see how this works when using the Kubernetes connector and what the effective cost is. It should (I am guessing) deploy as-is without changes? There are instructions in the faas-netes repo

The second idea is also very interesting - deploying the Gateway onto a Kubernetes cluster and introducing a new external plugin that manages functions via the ACI API.

Member

alexellis commented Aug 9, 2017

I'd like to see how this works when using the Kubernetes connector and what the effective cost is. It should (I am guessing) deploy as-is without changes? There are instructions in the faas-netes repo

The second idea is also very interesting - deploying the Gateway onto a Kubernetes cluster and introducing a new external plugin that manages functions via the ACI API.

@alexellis

This comment has been minimized.

Show comment
Hide comment
Member

alexellis commented Sep 7, 2017

Ping @bketelsen

@bketelsen

This comment has been minimized.

Show comment
Hide comment
@bketelsen

bketelsen Sep 7, 2017

I'm pretty busy until this weekend, is there something specific you want help with? Do you just want to stand up FaaS on ACI with kubernetes?

I'm pretty busy until this weekend, is there something specific you want help with? Do you just want to stand up FaaS on ACI with kubernetes?

@JockDaRock

This comment has been minimized.

Show comment
Hide comment
@JockDaRock

JockDaRock Sep 8, 2017

Contributor

I have tried the ACI-connector. Are some bugs on the Azure side that need to be worked out.

Bug 1: You cannot connect ACI services to functions spun up with the ACI-connector. This might be solved by deploying the whole application to ACI, but this runs in to bug 2. https://github.com/Azure/aci-connector-k8s/issues/51

Bug 2: When creating deployments with replicas the ACI-connector node starts spinning up pods for your deployment continually. So instead of 1 pod, you might have 20. https://github.com/Azure/aci-connector-k8s/issues/24

As of right now I have been stalled out on this feature, but I say try it out anyway and keep adding comments to the issue threads ;).

Let me know your thoughts.

Contributor

JockDaRock commented Sep 8, 2017

I have tried the ACI-connector. Are some bugs on the Azure side that need to be worked out.

Bug 1: You cannot connect ACI services to functions spun up with the ACI-connector. This might be solved by deploying the whole application to ACI, but this runs in to bug 2. https://github.com/Azure/aci-connector-k8s/issues/51

Bug 2: When creating deployments with replicas the ACI-connector node starts spinning up pods for your deployment continually. So instead of 1 pod, you might have 20. https://github.com/Azure/aci-connector-k8s/issues/24

As of right now I have been stalled out on this feature, but I say try it out anyway and keep adding comments to the issue threads ;).

Let me know your thoughts.

@JockDaRock

This comment has been minimized.

Show comment
Hide comment
@JockDaRock

JockDaRock Sep 8, 2017

Contributor

On bug 1. I meant you cannot connect regular k8s services to pods spun up by the ACI-connector node, or vice versa.

Contributor

JockDaRock commented Sep 8, 2017

On bug 1. I meant you cannot connect regular k8s services to pods spun up by the ACI-connector node, or vice versa.

@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Sep 8, 2017

Member

Thanks for the updates @JockDaRock. @bketelsen would love your input on this and if you could try setting things up with ACI.

Member

alexellis commented Sep 8, 2017

Thanks for the updates @JockDaRock. @bketelsen would love your input on this and if you could try setting things up with ACI.

@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Sep 28, 2017

Member

Derek add label: hacktoberfest

Member

alexellis commented Sep 28, 2017

Derek add label: hacktoberfest

@open-derek open-derek bot added the hacktoberfest label Sep 28, 2017

@radu-matei

This comment has been minimized.

Show comment
Hide comment
@radu-matei

radu-matei Oct 20, 2017

@alexellis @JockDaRock - so if I understand correctly, you deployed using the aci-connector and encountered some issues - I know the second bug is now solved as part of https://github.com/Azure/aci-connector-k8s/pull/54

For the first bug I don't think there's a fix (I'm not working on Azure Container Instances, cannot officially speak 😄) - my question, @alexellis - what does it mean if the function pod cannot talk back to the rest of the system?

I will try to deploy later tonight (hopefully) and document the process.

@alexellis @JockDaRock - so if I understand correctly, you deployed using the aci-connector and encountered some issues - I know the second bug is now solved as part of https://github.com/Azure/aci-connector-k8s/pull/54

For the first bug I don't think there's a fix (I'm not working on Azure Container Instances, cannot officially speak 😄) - my question, @alexellis - what does it mean if the function pod cannot talk back to the rest of the system?

I will try to deploy later tonight (hopefully) and document the process.

@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Oct 20, 2017

Member

Good news on the fix and thanks (to team ACI) for stopping by again.

The function should be able to make use of other Kubernetes services as exposed by kubedns, but it's not necessarily a deal-breaker for some workloads. I'd appreciate your input @radu-matei - looking forward to seeing how you get one and maybe you could put together a quick blog or guide too?

Member

alexellis commented Oct 20, 2017

Good news on the fix and thanks (to team ACI) for stopping by again.

The function should be able to make use of other Kubernetes services as exposed by kubedns, but it's not necessarily a deal-breaker for some workloads. I'd appreciate your input @radu-matei - looking forward to seeing how you get one and maybe you could put together a quick blog or guide too?

@alexellis

This comment has been minimized.

Show comment
Hide comment
@alexellis

alexellis Nov 29, 2017

Member

@bketelsen what state is ACI in.. can containers talk to each other yet over private networking?

Member

alexellis commented Nov 29, 2017

@bketelsen what state is ACI in.. can containers talk to each other yet over private networking?

@JockDaRock

This comment has been minimized.

Show comment
Hide comment
@JockDaRock

JockDaRock Nov 30, 2017

Contributor

On the the issue on https://github.com/Azure/aci-connector-k8s/issues/51, there is someone there that seems to think testing with k8s version 1.8.1 might be worth a try on integrating with the k8s connector for ACI...

Contributor

JockDaRock commented Nov 30, 2017

On the the issue on https://github.com/Azure/aci-connector-k8s/issues/51, there is someone there that seems to think testing with k8s version 1.8.1 might be worth a try on integrating with the k8s connector for ACI...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment