This content is part of the Essential Guide: AWS Lambda architecture brings serverless to enterprise cloud

Amazon Aurora updates pave more automation, integration

Tying Amazon Aurora to S3 and Lambda simplifies the connections between services, and opens the door to a range of new capabilities.

Amazon added hooks to link two of its emerging services -- and, in the process, opened the door to even more ways to use both.

Amazon Aurora, the cloud provider's MySQL-compatible relational database, now enables users to import stored data directly from Simple Service Storage (S3) buckets. It also creates stored procedures in the database engine to invoke AWS Lambda functions. Taken together, these two updates could greatly broaden the appeal for Amazon Aurora and Lambda.

Many AWS utilities were developed independently, so there isn't always a perfect compatibility between disparate features. In the case of Amazon Aurora, customers that previously wanted to input data stored in S3 had to copy it to Elastic Compute Cloud (EC2) instances first. This new integration removes that middle step -- to move text or XML files directly from S3 to Aurora.

Previously, the only way to hook Lambda directly into a database was through DynamoDB, Amazon's fully managed NoSQL engine. But now, stored-procedure scripts are written to run a specific Lambda function in response to a trigger, allowing Aurora to integrate with a range of other AWS tools.

Customers familiar with standard SQL engines are slowly moving to Amazon Aurora, which Amazon describes as its fastest-growing service. This latest update is an attempt by Amazon to show the flexibility of providing Aurora direct access to stored data as well as triggers for running other AWS features, such as Relational Database Service, Redshift or Elasticsearch Service, said Adam Book, principal cloud engineer at Relus Technologies, an AWS consulting partner.

The more we can move out of the perspective of the database administrator and let the developers do it instead would help us a lot.
James Fogersonsenior solutions architect

"You have opened up a whole world of almost every service being able to use the Lambda microservices," he said.

The Lambda integration could be utilized in a variety of ways, including sending emails, issuing notifications, publishing metrics to CloudWatch or updating a DynamoDB table, according to an Amazon blog post. At the application level, it could perform complex data extractions, and track database tables for performance monitoring and analysis.

S3 tie cuts out middle man

The new S3 compatibility could make Amazon Aurora more attractive for those transitioning from other database engines, said James Fogerson, senior solutions architect for a professional services provider on the West Coast.

His company, which is testing Aurora, has been involved in projects in which data was dumped into S3, but an EC2 instance had to be spun up to hold the data while being imported into MariaDB or another database engine. It also is a big user of Import/Export Snowball, the physical device for transferring large-scale, on-premises data sets to S3.

"It would be great to just get it up there and pull it down easily," Fogerson said.

Customers that want to connect S3 and Aurora must create an Identity and Access Management policy and role, and attach the role to the Aurora database cluster. There is no additional charge for connecting these services beyond the typical rates associated with each. The new capabilities are available now.

Fogerson's company uses Lambda but only for the simplest of functions. As its usage becomes more complex, linkage to a database could better encapsulate business logic and improve workflow for application developers, he said.

"We're trying to move more things to the app developers instead of centralized IT shared services, so the more we can move out of the perspective of the database administrator and let the developers do it instead would help us a lot," Fogerson said.

Aurora hook expands Lambda's reach

So-called serverless computing is an emerging trend of function services, such as Lambda, that enable users to run code while offloading responsibilities for provisioning and managing servers to the provider.

Lambda is far from mainstream, and it's difficult to build and manage, but it's also the centerpiece of Amazon's strategy for AWS going forward, said Erik Peterson, founder and CEO at CloudZero, a startup focused on cloud security and DevOps.

"It's bits of code all over the place," Peterson said. "It's difficult understanding those linkages and policies and permissions and identity access management, so wiring up Lambda functions becomes really tough, and in fact it's almost impossible to manage right now."

Peterson expects more advancement around Lambda in the coming months, but he sees these two connections as an important step in easing adoption. The link from Lambda to Aurora to S3 could provide a streamlined means for pulling data from a range of services into S3, while the Lambda hook only makes Amazon's "Trojan horse" into the traditional SQL database market more attractive, Peterson said.

"They want all their customers adopting traditional databases to use it and it has to fit with Lambda, so this makes sense," Peterson said. "They're not going to stop until they see every Oracle license in the world replaced with Aurora."

Trevor Jones is a news writer with TechTarget's Data center and Virtualization Media Group. Contact him at [email protected].

Next Steps

Amazon Aurora offers more than the average database

It's a give and take with AWS Lambda

What you should know about Aurora security

Dig Deeper on AWS database management