Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id F053A200CC2 for ; Wed, 5 Jul 2017 12:11:45 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id EEC90162DDF; Wed, 5 Jul 2017 10:11:45 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id E5F7E162DDD for ; Wed, 5 Jul 2017 12:11:44 +0200 (CEST) Received: (qmail 43926 invoked by uid 500); 5 Jul 2017 10:11:44 -0000 Mailing-List: contact dev-help@openwhisk.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwhisk.apache.org Delivered-To: mailing list dev@openwhisk.apache.org Received: (qmail 43913 invoked by uid 99); 5 Jul 2017 10:11:43 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Jul 2017 10:11:43 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 5E4DA18940C for ; Wed, 5 Jul 2017 10:11:43 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.496 X-Spam-Level: X-Spam-Status: No, score=-1.496 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-2.796, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 2V6NCdh7j-k5 for ; Wed, 5 Jul 2017 10:11:39 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 0FFBF5FC97 for ; Wed, 5 Jul 2017 10:11:39 +0000 (UTC) Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v65A92Ob058128 for ; Wed, 5 Jul 2017 06:11:38 -0400 Received: from e06smtp15.uk.ibm.com (e06smtp15.uk.ibm.com [195.75.94.111]) by mx0b-001b2d01.pphosted.com with ESMTP id 2bgapunr41-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 05 Jul 2017 06:11:38 -0400 Received: from localhost by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 5 Jul 2017 11:11:36 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp15.uk.ibm.com (192.168.101.145) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 5 Jul 2017 11:11:35 +0100 Received: from d06av23.portsmouth.uk.ibm.com (d06av23.portsmouth.uk.ibm.com [9.149.105.59]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v65ABYfx46465100 for ; Wed, 5 Jul 2017 10:11:34 GMT Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9CBD7A405B for ; Wed, 5 Jul 2017 11:09:00 +0100 (BST) Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 363D3A4040 for ; Wed, 5 Jul 2017 11:09:00 +0100 (BST) Received: from d50lp01.ny.us.ibm.com (unknown [146.89.104.207]) by d06av23.portsmouth.uk.ibm.com (Postfix) with ESMTPS for ; Wed, 5 Jul 2017 11:09:00 +0100 (BST) Received: from localhost by d50lp01.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 5 Jul 2017 06:11:32 -0400 Received: from smtp.notes.na.collabserv.com (192.155.248.67) by d50lp01.ny.us.ibm.com (158.87.18.20) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128/128) Wed, 5 Jul 2017 06:11:29 -0400 Received: from localhost by smtp.notes.na.collabserv.com with smtp.notes.na.collabserv.com ESMTP for from ; Wed, 5 Jul 2017 10:11:28 -0000 Received: from us1a3-smtp01.a3.dal06.isc4sb.com (10.106.154.95) by smtp.notes.na.collabserv.com (10.106.227.16) with smtp.notes.na.collabserv.com ESMTP; Wed, 5 Jul 2017 10:11:27 -0000 Received: from us1a3-mail132.a3.dal06.isc4sb.com ([10.146.45.157]) by us1a3-smtp01.a3.dal06.isc4sb.com with ESMTP id 2017070510112659-333843 ; Wed, 5 Jul 2017 10:11:26 +0000 In-Reply-To: <881128BB-2FEF-4E21-9B0A-D766D09D936F@adobe.com> To: dev@openwhisk.apache.org Subject: Re: Improving support for UI driven use cases From: "Michael M Behrendt" Date: Wed, 5 Jul 2017 12:11:27 +0200 References: <881128BB-2FEF-4E21-9B0A-D766D09D936F@adobe.com> MIME-Version: 1.0 X-KeepSent: 94C18058:7B5F5211-C1258154:003782A1; type=4; name=$KeepSent X-Mailer: IBM Notes Release 9.0.1EXT SHF692 April 27, 2016 X-LLNOutbound: False X-Disclaimed: 56131 X-TNEFEvaluated: 1 Content-Type: multipart/alternative; boundary="=_alternative 0037F375C1258154_=" x-cbid: 17070510-0020-0000-0000-00000399FC83 X-IBM-SpamModules-Scores: BY=0; FL=0; FP=0; FZ=0; HX=0; KW=0; PH=0; SC=0.433748; ST=0; TS=0; UL=0; ISC=; MB=0.237889 X-IBM-SpamModules-Versions: BY=3.00007323; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00883134; UDB=6.00440537; IPR=6.00663325; BA=6.00005453; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016090; XFM=3.00000015; UTC=2017-07-05 10:11:28 X-IBM-AV-DETECTION: SAVI=unsuspicious REMOTE=unsuspicious XFE=unused X-IBM-AV-VERSION: SAVI=2017-07-05 09:13:32 - 6.00006976 x-cbparentid: 17070510-0328-0000-0000-000015A34DE8 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused X-TM-AS-GCONF: 00 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-05_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1707050169 archived-at: Wed, 05 Jul 2017 10:11:46 -0000 --=_alternative 0037F375C1258154_= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="ISO-8859-1" Hi Michael, thanks for the feedback -- glad you like my stmt re value prop :-) I might not yet have fully gotten my head around Steve's proposal -- what=20 are your thoughts on how this would help avoiding the reimplementation of=20 an autoscaling / feedback loop mechanism, as we know it from more=20 traditional runtime platforms? Thanks & best regards Michael From: Michael Marth To: "dev@openwhisk.apache.org" Date: 07/05/2017 11:25 AM Subject: Re: Improving support for UI driven use cases Hi Michael, Totally agree with your statement ?value prop of serverless is that folks don't have to care about that" Again, the proposal at hand does not intend to change that at all. On the=20 contrary - in our mind it?s a requirement that the developer should not=20 change or that internals of the execution engines get exposed. I find Stephen?s comment about generalising the runtime behaviour very=20 exciting. It could open the door to very different types of workloads=20 (like training Tensorflow or running Spark jobs), but with the same value=20 prop: users do not have to care about the managing resources/servers. And=20 for providers of OW systems all the OW goodies would still apply (e.g.=20 running untrusted code). Moreover, if we split the Invoker into different=20 specialised Invokers then those different specialised workloads could live = independently from each other (in terms of code as well as resource=20 allocation in deployments). You can probably tell I am really excited about Stephen's idea :) I think=20 it would be a great step forward in increasing the use cases for OW. Cheers Michael On 04/07/17 20:15, "Michael M Behrendt" =20 wrote: >Hi Dragos, > >> What stops >> Openwhisk to be smart in observing the response times, CPU consumption, >> memory consumption of the running containers ?=20 > >What are your thoughts on how this approach would be different from the=20 many IaaS- and PaaS-centric autoscaling solutions that have been built=20 over the last years? All of them require relatively complex policies (eg=20 scale based on cpu or mem utilization, end-user response time, etc.? What=20 are the thresholds for when to add/remove capacity?), and a value prop of=20 serverless is that folks don't have to care about that. > >we should discuss more during the call, but wanted to get this out as=20 food for thought. > >Sent from my iPhone > >On 4. Jul 2017, at 18:50, Dascalita Dragos wrote: > >>> How could a developer understand how many requests per container to=20 set >>=20 >> James, this is a good point, along with the other points in your email. >>=20 >> I think the developer doesn't need to know this info actually. What=20 stops >> Openwhisk to be smart in observing the response times, CPU consumption, >> memory consumption of the running containers ? Doing so it could learn >> automatically how many concurrent requests 1 action can handle. It=20 might be >> easier to solve this problem efficiently, instead of the other problem >> which pushes the entire system to its limits when a couple of actions=20 get a >> lot of traffic. >>=20 >>=20 >>=20 >>> On Mon, Jul 3, 2017 at 10:08 AM James Thomas =20 wrote: >>>=20 >>> +1 on Markus' points about "crash safety" and "scaling". I can=20 understand >>> the reasons behind exploring this change but from a developer=20 experience >>> point of view this adds introduces a large amount of complexity to the >>> programming model. >>>=20 >>> If I have a concurrent container serving 100 requests and one of the >>> requests triggers a fatal error how does that affect the other=20 requests? >>> Tearing down the entire runtime environment will destroy all those >>> requests. >>>=20 >>> How could a developer understand how many requests per container to=20 set >>> without a manual trial and error process? It also means you have to=20 start >>> considering things like race conditions or other challenges of=20 concurrent >>> code execution. This makes debugging and monitoring also more=20 challenging. >>>=20 >>> Looking at the other serverless providers, I've not seen this featured >>> requested before. Developers generally ask AWS to raise the concurrent >>> invocations limit for their application. This keeps the platform doing = the >>> hard task of managing resources and being efficient and allows them to = use >>> the same programming model. >>>=20 >>>> On 2 July 2017 at 11:05, Markus Th=F6mmes =20 wrote: >>>>=20 >>>> ... >>>>=20 >>>=20 >>>>=20 >>> To Rodric's points I think there are two topics to speak about and=20 discuss: >>>>=20 >>>> 1. The programming model: The current model encourages users to break >>>> their actions apart in "functions" that take payload and return=20 payload. >>>> Having a deployment model outlined could as noted encourage users to=20 use >>>> OpenWhisk as a way to rapidly deploy/undeploy their usual webserver=20 based >>>> applications. The current model is nice in that it solves a lot of >>> problems >>>> for the customer in terms of scalability and "crash safeness". >>>>=20 >>>> 2. Raw throughput of our deployment model: Setting the concerns aside = I >>>> think it is valid to explore concurrent invocations of actions on the >>> same >>>> container. This does not necessarily mean that users start to deploy >>>> monolithic apps as noted above, but it certainly could. Keeping our >>>> JSON-in/JSON-out at least for now though, could encourage users to >>> continue >>>> to think in functions. Having a toggle per action which is disabled=20 by >>>> default might be a good way to start here, since many users might=20 need to >>>> change action code to support that notion and for some applications=20 it >>>> might not be valid at all. I think it was also already noted, that=20 this >>>> imposes some of the "old-fashioned" problems on the user, like: How=20 many >>>> concurrent requests will my action be able to handle? That kinda=20 defeats >>>> the seemless-scalability point of serverless. >>>>=20 >>>> Cheers, >>>> Markus >>>>=20 >>>>=20 >>> -- >>> Regards, >>> James Thomas >>>=20 > --=_alternative 0037F375C1258154_=--