This article was written by Dynatrace.
Amazon Lambda is kicking off a small trend in the enterprise cloud market. Many in the industry have found that more and more companies are adding Lambda functions to their technology stacks.
This trend is not difficult to understand...
One, the threshold is low. Amazon Lambda provides a relatively low barrier to entry for enterprises to enter cloud computing without the need for an immediate full-scale migration upgrade.
Second, it is economical. Amazon Lambda functions are billed strictly on a usage basis, which means you incur zero cost when your Lambda function isn't running.
Three, feature-rich. An Amazon Lambda function can take on almost all the operational responsibilities of running an application. All a business person needs to do is provide the code that should be executed on a given event or trigger. This means that there is no need to configure or manage servers (or even containers), Lambda already handles all of the following:
- load balancing
- auto scaling
- retry on failure
- Safe isolation
- Operating system management
- Utilization and Capacity
Therefore, a well-designed Lambda architecture can save a lot of money for a business. However, there are pros and cons, and while there is little operational overhead when running functions, there are three major challenges to be aware of when migrating to Amazon Lambda.
Challenge 1: Local development is difficult
Lambda functions run in the Amazon Lambda runtime environment and are deeply integrated into the Amazon technology stack. So providing the same environment during local development can be complicated.
Also, "Serverless" means that production technologies other than Lambda functions are also required. When using Lambda, you may soon use more other serverless products, such as databases. This makes it difficult to simulate the same environment locally.
Challenge 2: Difficulty in deployment and orchestration
While Amazon can ease the operational overhead of running functions for businesses, using Lambda functions at a larger scale requires a sophisticated deployment strategy. So is there a way to get the best of both worlds?
In fact, Infrastructure as Code (IaC) may be the answer to your pressing needs. The biggest benefit of IaC here is to avoid the trap of ending up with manually deploying functional instances. As for the development phase, we should focus on continuous integration and continuous deployment. With this reality in mind, the Dynatrace Lambda monitoring extension supports all major IaC technologies.
Lambda deployment method
Challenge 3: Enterprise-level observability is difficult to achieve
Soon after developers start adopting Amazon Lambda, operations and website reliability engineering teams start looking for ways to create the same level of insight that traditional workloads provide. Soon, specialized products emerged that focused only on monitoring Lambda deployments. However, they fall short of the common enterprise need for end-to-end observability between on-premises and hybrid cloud. This is because, while most of these specialized products are built on top of Amazon CloudWatch and Xray, their agents are very limited, so running agents and Lambda functions in-process presents some challenges.
With the release of the Dynatrace Lambda extension, that is a thing of the past. Today, Dynatrace can monitor Lambda in hybrid environments, thus meeting the needs of enterprises.
Lambda is good, but there are many challenges
With Dynatrace, good steel can be used on the blade!
Then, let's analyze the common application scenarios of Amazon Lambda in detail.
Scenario 1: Extending an existing enterprise technology stack
For many enterprises, Lambda functions provide a convenient way to leverage cloud computing without having to initiate an entire cloud migration program. Common services for edge computing are where Lambda shines.
In the case of Dynatrace's customers, we have observed that functions such as authentication or compute tasks are being moved to Lambda . Often, a Lambda function just acts as a gateway to other Amazon managed services, which leads us to the next use case.
Scale Your Enterprise Technology Stack with Amazon Lambda
Scenario 2: Gateway/proxy layer for other Amazon services
Amazon offers a range of managed services that also fall under the "Serverless" category. Using these services in a Lambda function is very convenient. Just use the Amazon SDK for a given service and provide the ARN of the endpoint. This puts all of Amazon's services at their fingertips, allowing them to build complex applications without deploying a single host or container.
Use a Lambda function as a gateway to other Amazon services
Scenario 3: Single Page Application Backend
This might come as a surprise, but another common use case for Lambda among our customers is to provide a backend for a single page application (SPA).
For regular web pages, most user interactions result in entire page reloads and server-side generation of pages, while single-page applications change their content dynamically through JavaScript. Today, front-end frameworks like Angular, React.js, and Vue.js are used to do the job. To serve dynamic content, single-page applications rely primarily on REST APIs to fetch data using methods provided by modern browsers, such as XHR or fetch.
A Lambda function behind an API Gateway can serve as such an API endpoint, fetching data from other Amazon services, and even calling back to enterprise applications (such as mainframes).
Serving Single Page Applications with S3 and Lambda
However, the HTML and JavaScript for single-page applications still need a place to reside. Amazon S3 and CloudFront provide the perfect solution for hosting and serving such static assets. Amazon Lambda and S3 are mostly billed based on usage. This means there is virtually no cost to running a regular web server when users are not interacting with your site.
In a single page application, monitoring user actions and making calls to the backend is the only way to identify problems before end users start complaining.
Real User Monitoring of Lambda Functions
That's why Dynatrace Real User Monitoring (RUM) is fully integrated into the Amazon Lambda monitoring extension. By adding JavaScript snippets to your static pages and setting configuration options on your Lambda function, Dynatrace gives you not only the full power of real user monitoring, but also end-to-end, browser-to-backend invocation powered by Amazon Lambda end tracking.
Announcement of exciting events
For more technical dry goods, please lock in on Saturday, August 27th, from 14:00 to 17:00, Amazon Cloud Technology will work with its partner Dynatrace to hold an observable interactive experience event in Shenzhen. We look forward to this interactive sharing to help everyone. Develop problem-solving ideas based on observability solutions, see posters for event information.
As the scope of Amazon Lambda's application in the enterprise expands, especially with the emerging new use cases, it is believed that enterprise IT professionals will encounter new and exciting challenges. Dynatrace's official WeChat platform has launched a special topic of "There are "traces" that can be clouded - Amazon Cloud Technology Yuntu Gas Station , with a number of practical technical content to analyze how Dynatrace can become your "Ling" assistant on the Amazon cloud technology cloud. Learn more about Dynatrace and download the latest Gartner report for free -
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。