Information Center

Public cloud providers join the wave of serverless computing

  

Server less computing is popular among all cloud service providers, and tools like AWS Lambda may change the way resources are used, although it is still in its infancy.

The serverless architecture is the latest upsurge among cloud service providers, US host But this new method of using public cloud resources may be a trend worth all hype at this stage.

Amazon Web Services (AWS) launched the so-called event driven, serverless computing resources in 2014 through AWS Lambda for the first time. This business has always occupied an absolute leadership position until this year when IBM, Google and Microsoft launched their own versions. They are all trying to stand out in a market where users increasingly delegate responsibility to cloud service providers, but at the same time seek more fine-grained control over resource allocation.

The idea behind serverless services is that developers can deploy their code without worrying about purchasing, configuring or managing any basic resources. Of course, in the serverless architecture, the server still exists somewhere in the large data center of the public cloud provider, but this abstraction allows both users and providers to achieve higher efficiency and focus on what they are best at.

"In this case, this hype is absolutely guaranteed," said Dave Bartoletti, chief analyst of Forrester Research.

Applications have traditionally been designed as a single whole, that is, all code is integrated into a large block. The serverless architecture allows developers to cut their applications into small pieces and deploy them in a highly scalable way in an elastic infrastructure, even more convenient than using containers, Bartoletti said.

A common example of the advantages and disadvantages of these serverless computing modes is uploading photos to websites. Start an instance first, and then developers can write a bunch of code and tasks, including opening a folder, resizing images, making backups, and ensuring that images are loaded correctly.

Alternatively, developers can just write a small piece of code and use a lambda function to monitor the directory, execute code, and upload images. Users only need to pay for a few milliseconds of running this function, rather than minutes or hours of running an instance on the cloud platform.

In this view, the point of serverless computing is not its technology, but its pricing and scheme, explained Andrew Reichman, research director of 451 Research. It has the potential to change the way resources are used and more closely link the infrastructure and application development platform, while its positioning is between infrastructure as a service and platform as a service (PaaS).

"It's a big decision to rent a server by hour or minute, but in fact, even that doesn't reach the granularity of business segmentation you need," Reichman said. In the end, users want to "do the required calculations and pay only for the time actually used, rather than waiting for jobs to run after paying."

Because of the uncertainty surrounding requirements, it is difficult to know what kind of server to choose for a job, Reichman said. Even though you may not choose a typical five-year contract for a private data center, developers will still be forced to choose a server to write their workload.

Google, Microsoft and IBM follow Amazon

Lambda is still the best example to show the potential of serverless computing, because Amazon has a considerable lead in the market, a longer running record and user awareness. Google started alpha testing of Cloud Functions in February, but kept the details secret. IBM subsequently added OpenWhisk to its PaaS product Bluemix in March, although the service is still in the pilot stage. Microsoft added Azure Functions at the end of March as the end of their series of releases. At present, this function is still in the trial period.

In fact, Lambda is not the first serverless infrastructure, just like containers existed long before the birth of Docker. In fact, in the face of all hype, some cloud providers have taken measures to rename existing services as serverless services. At the recent user conference held in San Francisco, Google mentioned at least four serverless products on Google's cloud platform, including App Engine, Google's first PaaS product in 2008.

Amazon has not disclosed the growth rate of Lambda, which is still regarded as a service provided by early adopters, but is being used by high-end customers Netflix, Capital One and MLB. Popular use cases include serverless data processing function, micro service of web application running through API gateway and simple storage service collaboration, using IoT devices as development platform and providing connection for countless AWS environments.

The revolution of x86 makes people have low requirements for application design, because when the server is idle for 90% of the time, there is no so-called efficiency. But now, serverless architecture is reversing this trend and starting to enter the optimized deepwater area, Reichman said. This is reminiscent of the early mainframe era when punch cards were used and job execution was scheduled, he added.

be premature

It is difficult for many IT professionals to fully understand tools like Lambda, especially those who conduct preliminary cost performance evaluation of local and public clouds, said David Pippenger, a senior server business engineer of GREE, a game company headquartered in San Francisco.

There are some very simple use cases, but the real potential lies in the future, Pippenger added.

"Cloud is as convenient as adjusting the button to make the water bigger. We are getting closer to this analogy."

GREE has used Lambda, but the company is still adapting to this service. The game company originally intended to use it as a trigger in the process of migrating from Amazon Relational Database Service (RDS) to DynamoDB, but finally gave up the plan. RDS is stored in a virtual private cloud, but the additional steps required to ensure transmission security while using lambda on the public Internet are daunting, Pippenger said.

Although some security access controls have been significantly improved, these types of cases highlight that they are still in the embryonic stage. US host It is not fully ready for widespread use, "Pippenger said.

Lambda only supports certain types of events. Although its big selling point is that it can run immediately after writing code, it currently only supports Node.js, Python and Java. To get more productized use cases, it would be helpful to see more service level agreements in terms of delay assurance, Reichman said.

Before evaluating a serverless computing method, enterprises should conduct research on their developers to understand the extent to which their current applications may benefit; If a task is better handled with microservices, there is no need to waste time on serverless computing, Bartoletti said. For new applications, developers should first consider the architecture of microservices, but they should be careful to implement it, because the increased complexity may exceed imagination when the process is divided into smaller parts.

It is not easy to transform legacy applications, and it is better to limit them to companies that have native cloud architecture and work in DevOps mode, Reichman said.

"If you have an application at the infrastructure level at best, serverless computing has nothing to do with you," he said.