Q
Manage Learn to apply best practices and optimize your operations.

Making an AWS Lambda function and microservices work together

Our developers want to switch to microservices to improve scalability and ease upgrades to our AWS-based applications. How does AWS Lambda support this type of architecture?

Enterprise application design is changing. The huge, complex, monolithic applications of years past are being replaced...

by applications that are assembled from a series of individual components called microservices. Applications based on microservices divide the greater application's functionality into discrete functions that are easier to combine and scale to meet changing user demands. As more enterprise applications deploy apps to the public cloud, providers like AWS design services that complement microservices architectures.

One of the core ideas of microservices is the "division or labor," which includes code segments developed and deployed in VMs and containers. But public cloud providers like AWS are aggressively creating services that can facilitate microservices without VMs or containers.

AWS Lambda, for example, manages and runs code from other services in response to events. For example, changes made to Amazon S3 objects, database updates in Amazon DynamoDB and messages from Amazon Simple Notification Service and Amazon Kinesis Stream can all trigger an AWS Lambda function.

Events that occur from a Web-based or mobile device can also trigger an AWS Lambda function. For example, if a component of your microservices application requires more compute resources, a low-resource event could trigger Lambda to provision another instance of that component and apply load balancing. Similarly, Lambda could be used to service things like HTTP requests -- such as website clicks -- rather than creating a separate component to handle that activity.

AWS Lambda only runs when an event is triggered, unlike VMs or containers, which are always running and using resources until powered down or retired. Businesses pay only for the compute time that each AWS Lambda function actually uses -- in 100 millisecond increments. Functions built in Lambda are highly scalable and can be extremely cost-effective for low traffic tasks.

Developers can update or change the code for an AWS Lambda function at any time without affecting the operation of other related application components or Amazon services.

Next Steps

AWS Lambda hype outweighs microservices

Microservices boost availability of AWS apps

Remove a microservices architecture from AWS

This was last published in December 2015

Dig Deeper on AWS Lambda

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Join the conversation

3 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

How will your enterprise use AWS Lambda?
Cancel
I've written a few lambdas and find them very interesting but wonder how they scale..not in terms of running lots of instances of a few lambdas but in terms of systems involving dozens or hundreds of lambdas.  It doesn't seem that the tooling is there yet.

How do you visualize the web of events triggering lambdas which trigger events which trigger more lambdas?  How does lambda integrate with CodeDeploy/CodePipeline?  How do you debug a series of lambdas?  How do you do versioning and red/green deployment?
Cancel
Lots of interesting examples being written about:

http://redmonk.com/fryan/2016/04/28/serverless-volume-compute-for-a-new-generation/

https://medium.com/@PaulDJohnston/serverless-and-event-architectures-10fd6b69a2b#.3pze8ple0

http://engineers.coffee/



Cancel

-ADS BY GOOGLE

SearchCloudApplications

TheServerSide

SearchSoftwareQuality

SearchCloudComputing

Close