News

AWS SDK for C++ Ready for Production Use

It's been a long wait for C++ coders wanting to leverage the Amazon Web Services Inc. (AWS) cloud for their development, but version 1.0 of the AWS SDK for C++ is finally ready for production use.

"After almost a year of developer feedback and contributions, version 1.0 of the AWS SDK for C++ is now available and recommended for production use," AWS spokesperson Jeff Barr announced in a blog post Tuesday.

AWS launched a developer preview of the AWS SDK for C++ last March, following an experimental launch in September of last year. Now it's finally ready for real-world development.

According to its GitHub site, "The AWS SDK for C++ provides a modern C++ (version C++ 11 or later) interface for Amazon Web Services (AWS). It is meant to be performant and fully functioning with low- and high-level SDKs, while minimizing dependencies and providing platform portability (Windows, OSX, Linux, and mobile)."

Along with supporting Android and iOS development, it supports CMake, the open source build system generator. In the nuts-and-bolts department, it features customizable memory management so developers can plug in their own solution to fine-tune how memory gets allocated and deallocated.

Its C++ library lets developers easily integrate it with AWS services such as Amazon S3, Amazon Kinesis and Amazon DynamoDB, the company said. The SDK will reportedly be updated frequently to support the latest AWS API changes. Barr said it will use semantic versioning, so from now on developers can be assured future versions won't break their builds.

According to a presentation at last year's AWS re:Invent conference, core library features include:

  • Credential management
  • Logging
  • Asynchronous requests
  • Rate limiting
  • Memory allocation
  • Streaming
  • Overriding the HTTP/TLS stack

Build prerequisites include a C++ 11-compatible compiler; CMake; and a HTTP/TLS implementation for the targeted platform (AWS ships Curl, WinHTTP and WinINet interfaces).

Barr listed the following recent changes to the SDK, based on feedback garnered from the developer preview:

  • Transfer Manager -- The original TransferClient has evolved into the new and improved TransferManager interface.
  • Build Process -- The CMake build chain has been improved in order to make it easier to override platform defaults.
  • Simplified Configuration -- It is now easier to set SDK-wide configuration options at runtime. Encryption – The SDK now includes symmetric cryptography support on all supported platforms.
  • Fixes -- The 1.0 codebase includes numerous bug fixes and build improvements.

AWS announced in July that the SDK for C++ was available via NuGet, a primary package manager for .NET developers.

Barr said AWS will release more high-level APIs to make C++ development on AWS easier and more secure, and he invited developers to submit feedback on the 1.0 SDK and file issues or submit pull requests to improve it.

About the Author

David Ramel is an editor and writer for Converge360.