Replies: 2 comments 1 reply
-
CEL is non-Turing complete, so it means you can offer pretty tight guarantees on memory and CPU impacts of expressions from otherwise untrusted users without the need for sandboxing. If you're trying to expose a platform features as a function library that's accessible from CEL, then it can be a reasonable way to offer cheap, safe, yet limited scripting capabilities within your platform. You can also compile in Go and evaluate in CEL in C++ or Java, so depending on your infra requirements you have some flexibility to move CEL logic closer to the data or to a more performant / popular runtime with ease. |
Beta Was this translation helpful? Give feedback.
-
@sprappcom FWIW we are using an enhanced version of CEL as a safer method of running untrusted code in a multi tenanted SaaS environment. We have a number of additional custom types added but we have tried to ensure we don't inadvertently introduce tight loops etc. I wrote this article a couple years back providing a high level view. It might be of interest. https://medium.com/@viv.shankar/running-untrusted-code-in-saas-d27512bd94d1 Regarding your questions -
There are other factors IMO that will determine whether you would want to use it. Answering some of these helped me reach a decision.
|
Beta Was this translation helpful? Give feedback.
-
with reference here, would like to know if it's advisable to use cel-go as a FaaS alternative like cloudflare workers.
expr-lang/expr#669
Beta Was this translation helpful? Give feedback.
All reactions