Serverless computing: Difference between revisions

Content deleted Content added
PaaS is too jargon-y for the lede, readers unfamiliar with the term will have to click through just to find out what the acronym stands for.
See also: removed red link and link that is already in article body, per WP:NOTSEEALSO; no external links in article body per WP:EL
Line 1:
{{merge from|Function as a Service|date=July 2016}}
'''Serverless computing''', also known as '''Functionfunction as a Serviceservice''' ('''FaaS)'''), is a [[cloud computing]] code [[executionExecution (computing)|execution]] model in which the cloud provider fully manages starting and stopping of a function's container [[Platformplatform as a service|Platform as a Service]] (PaaS)]] as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.<ref name='techcrunch-lambda'>{{cite web|url=https://techcrunch.com/2015/11/24/aws-lamda-makes-serverless-applications-a-reality/|title=AWS Lambda Makes Serverless Applications A Reality|last=Miller|first=Ron|website=[[TechCrunch]]| date=24 Nov 2015|accessdate=10 July 2016}}</ref>
 
Despite the name, it does not actually involve running code without servers.<ref name='techcrunch-lambda'/> The name "Serverlessserverless computing" is used because the business or person that owns the system does not have to purchase, rent or provision servers or virtual machines for the [[Front and back ends|back-end]] code to run on.
 
Serverless code can be used in conjunction with code written in traditional server style, such as [[microservices]]. For example, part of a [[web application]] could be written as microservices and another part could be written as serverless code. Alternatively, an application could be written that uses no provisioned servers at all, being completely serverless.<ref name='lambda-api-gateway'/>
Line 13:
Google has released an alpha version of its serverless platform, which is called Google Cloud Functions,<ref name='vb-gcf'>{{cite web|url=http://venturebeat.com/2016/02/09/google-has-quietly-launched-its-answer-to-aws-lambda/|title=Google has quietly launched its answer to AWS Lambda|date=9 February 2016|accessdate=10 July 2016|last=Novet|first=Jordan|website=[[VentureBeat]]}}</ref> and supports Node.js.<ref name='forbes-gcf'>{{cite web|url=http://www.forbes.com/sites/janakirammsv/2016/02/09/google-brings-serverless-computing-to-its-cloud-platform/#5391a66525b8|title=Google Brings Serverless Computing To Its Cloud Platform|date=9 February 2016|accessdate=10 July 2016|last=MSV|first=Janakiram}}</ref>
 
IBM announced [[Bluemix|OpenWhisk]] as an open source serverless platform of its own at InterConnect 2016.<ref name='wsk-pressrelease'>{{cite web|url=http://www-03.ibm.com/press/us/en/pressrelease/49158.wss|title=IBM Unveils Fast, Open Alternative to Event-Driven Programming|date=23 February 2016|last= Zimmerman|first=Mike}}</ref><ref name='wsk-redmonk'>{{cite web|url=http://redmonk.com/fryan/2016/02/29/swift-openwhisk-and-apis-reflections-on-ibm-interconnect/|title=
Swift, OpenWhisk and APIs – Reflections on IBM InterConnect|date=29 February 2016|last=Ryan|first=Fintan}}</ref> In addition to supporting functions as a service, OpenWhisk offers features that include user-defined triggers, function execution rules, function composition via sequences, and a model for sharing assets via packages. OpenWhisk may be hosted on premise or hosted as a service as is the case with [http://ibm.biz/openwhisk IBM Bluemix OpenWhisk].; Thethe source code is available on [[GitHub]].<ref>https://github.com/openwhisk/openwhisk GitHub].</ref> At launch, OpenWhisk included support for [[Node.js]] and [[Swift (programming language)|Swift]], as well as black box functions (in any language or runtime) via [[Docker (software)|Docker]] containers. It now officially also includes support for [[Python (programming language)|Python]] and [[Java (programming language)|Java]] as well.
 
Microsoft followed up in 2016 by announcing Azure Functions, a technology usable in both the Azure public cloud and on any other cloud environment, public or private.<ref name='techcrunch-azure'>{{cite web|url=https://techcrunch.com/2016/03/31/microsoft-answers-aws-lambdas-event-triggered-serverless-apps-with-azure-functions/|title=Microsoft answers AWS Lambda’s event-triggered serverless apps with Azure Functions|date=31 March 2016|accessdate=10 July 2016|last=Miller|first=Ron|website=[[TechCrunch]]}}</ref> Azure functions have been generally available for production use since November 2016.<ref name='azure-ga'>{{cite web|url=https://azure.microsoft.com/en-us/updates/azure-functions-is-now-generally-available/|title=General availability: Azure Functions|date=16 November 2016|accessdate=21 November 2016}}</ref>
 
== Advantages ==
Line 37:
 
=== Monitoring and debugging ===
Diagnosing performance or excessive resource usage problems with serverless code may be more difficult than with traditional server code, because although entire functions can be timed,<ref name='lambda-api-gateway'>{{cite web|url=http://www.forbes.com/sites/janakirammsv/2015/07/16/paas-vendors-watch-out-amazon-is-all-set-to-disrupt-the-market/|title=PaaS Vendors, Watch Out! Amazon Is All Set To Disrupt the Market|last=MSV|first=Janakiram|date=16 July 2015|accessdate=10 July 2016}}</ref> there is typically no ability to dig into more detail by attaching [[profiling (computer programming)|profilers]], [[debugger]]s or [[Application Performance Management|APM]] tools. Furthermore, the environment in which the code runs is typically not [[open source]], so its performance characteristics cannot be precisely replicated in a [[Deployment environment#Development|local environment]]. However, Amazon plans to provide AWS Lambda support in its APM and tracing technology called ''AWS X-Ray''.<ref>{{cite web|url=https://aws.amazon.com/blogs/aws/aws-x-ray-see-inside-of-your-distributed-application/|title=AWS X-Ray - See Inside of Your Distributed Application|date=1 Dec 2016|accessdate=6 Dec 2016|last=Barr|first=Jeff|publisher=Amazon.com}}</ref>
 
== See also ==
* [[API management platform]], a technology often used in conjunction with serverless systems
* [[Serverless Framework]], a [[software framework]] for creating serverless systems on AWS Lambda with Node.js or Python
* [[Platform as a service]] (PaaS)
 
== References ==