<div dir="ltr">+1<br><br>With some care, one solution could be used for both containers, serverless functions and more. We just need two new types of charms:<div><br></div><div> - A "platform" charm which connects to the serverless platform and deploys the function.<br> - A "job" charm which describes the function. This is basically a bundle of metadata.</div><div><br></div><div>Connecting the `platform` to the `job` charm will cause a `job-joined` hook in the platform charm, which can then use `job-get` to get the metadata describing the function and deploy the function on the platform. This way, you empower the community to create new "platform" charms for whichever platforms they see fit: AWS lambda, Kubernetes, Heroku and even Apache Spark.</div><div><br></div><div> - Juju doesn't need to know the details of each platform because the connection to the platform is part of the charm.</div><div> - Juju doesn't need to know the details of each "job" type, because the "job" charm is just a bunch of metadata.</div><div><br></div><div>Now add the ability for "job" charms to optionally include relation hooks, and you can seamlessly connect serverless functions to your existing infrastructure. Or connect Apache Spark jobs to your existing infrastructure.</div><div><br></div><div>We've created a number of prototypes of this to model and deploy Kubernetes and Apache Storm topologies in Juju. We used normal charms and relations for our "platform" and "job" charms. This works really wel, the only issue is that deploying an entire Juju Agent is waaaay too much overhead for modeling a single Docker container, so we would be really happy if Juju could introduce the idea of "job" charms.<br></div><div><br></div><div><br></div><div><br></div><div>Kind regards</div><div>Merlijn</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-16 17:04 GMT+01:00 James Beedy <span dir="ltr"><<a href="mailto:jamesbeedy@gmail.com" target="_blank">jamesbeedy@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>How do people feel about Juju supporting a serverless model type, and serverless charm?</div><div><br></div><div>Some innovative wrappers popping up that facilitate deploying lambda functions:</div><div>  - `serverless deploy` - <a href="https://serverless.com/" target="_blank">https://serverless.com/</a><br></div><div>  - `zappa deploy` - <a href="https://github.com/Miserlou/Zappa" target="_blank">https://github.com/Miserlou/<wbr>Zappa</a><br></div><div><br></div><div>I feel like Juju has the proper constructs needed to support a SL model type, and a special SL type charm.</div><div><br></div><div>Just an idea, thought I would throw it out there....</div><div><br></div><div>Thoughts?</div><div><br></div></div>
<br>--<br>
Juju-dev mailing list<br>
<a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/<wbr>mailman/listinfo/juju-dev</a><br>
<br></blockquote></div><br></div>