by Abay Radhakrishnan
AWS Marketplace is an online store for software vendors to sell their software product bundles to AWS customers. The AWS Marketplace currently features over 2,500 commercial products and over 65,000 community Amazon Machine Instances (AMI).
This article will provide a quick overview of what is required to launch a product on the AWS Marketplace. This overview will guide both the AWS users and the software companies who would like to launch their products in the AWS Marketplace. Sungard Availability Services, recently launched the second version of the Enhanced Snapshotsin the marketplace.
Addressing the following seven points is essential to prepare for a successful launch of software products on the AWS Marketplace. It is beneficial to prepare these materials ahead of your submission.
1. Partner Seller Registration: This is the initial step for getting started. AWS provides procedures outlined for US based sellers, EU and non-US or EU based sellers. There is no need to provision tax/bank account information for free, BYOL AMIs or SaaS offerings.
Use this sellers guide document for the detailed information on the seller registration process.
2. AWS Marketplace management portal:
This portal page provides the required Marketplace forms, file uploads and managed products. All inputs and file uploads must be done through this portal to the AWS Marketplace team for AWS Marketplace launches. This helps ensures security for the customers as uploaded files are scanned for vulnerabilities.
Within the portal, custom policies can be created for managing the AWS Marketplace portal and they can be attached to user groups. A user must be given full access to manage the products page “aws-marketplace-management.*” However, for accessing the different pages like marketing, support, reports and upload files, custom policies can be specified for the required combination of permissions.
3. AMI Readiness: The software distributed should be well tested and production ready. The software to be launched needs to be packaged as an AMI and well tested in all the regions you intend to release. You should also share the AMI with other accounts and ensure the shared AMI works in other accounts within the same region to avoid issues with permissions and account dependencies. Updated AMI’s are submitted through the self-service scanner.
4. Product metadata and data load form: This is an excel spreadsheet that needs to be filled-in. It contains both required and optional fields. This spreadsheet is the main documentation that drives almost all the details seen in a marketplace listing. This template is used for all types of AWS Marketplace product launches ( paid subscription, free, SaaS or BYOL) Commercial product form template. This form, which contains the new AMI or updated details, needs to be loaded through the file upload tab of the seller management portal.
Note: For products that need to be published in the C2S (Commercial cloud services) or the IC (Intelligence community) in the DCA region, use the C2S Product form template. These products will also be published to the AWS Marketplace commercial site.
5. CloudFormation Templates (CFT): Whenever an AMI is launched from the Marketplace, it internally invokes the CFT to provision the product. The AWS Marketplace user interface provides two tab options “One-click launch” and “Custom launch”.
One-click launch tab: With this approach, users will review the default parameter options configured, modify the parameters as needed and then launch. The CFT must be self-sufficient to accept some obvious input parameters and will need to create the rest of the AWS resources including the IAM roles to deal with the instance created.
Custom Launch: This tab provisions two deployment options or delivery methods, namely “Single AMI” and name of the application (eg. “Enhanced snapshot tool creation stack”) and has the flexibility to generate the single or cluster resources to support multiple instances and the auto scaling process. Besides using the CFT, instances can be created through EC2 console, APIs or CLI.
The Marketplace offering will be configured by the Marketplace Team using the inputs from the product & topology Metadata and the CFT.
Fields like “Version”, “Region” and “Software Pricing” will be configured based on the product data load form and the supporting documentation. Other input fields will be setup based on the parameters in the CFT.
Best Practices, Requirements and Suggestions for the CFT:
Verify and ensure the CFT submitted works in all the regions planned.
The CFT submitted must all be in one file and mappings should be provided for the AMIs to be deployed in the respective regions. Template should not refer to another CFT.
AMIs are in a mapping table for each region (the AWS Marketplace Team will update the AMI IDs after they clone them)
Allow the user to pick the VPC, subnet, keyname as parameters
It is better to have the CIDR inputs for the SSH separately from other protocols (like HTTP or HTTPS) used for ingres inputs for the security groups. Limit broad ranges of IP addresses
Ensure that the default SSH port (22) is not open to 0.0.0.0/0 and that defaults are blank.
Roles and policies should be set to least privileged possible and write access enabled only when absolutely necessary. Use managed policies attached to the role created and not inline policy.
- Access to the customer’s AWS environment should only be through AssumeRole and STS
- There should be no request for customer’s AWS credentials or personal information
- Provide defaults for any parameters (other than default IP) and appropriate helper text.
- Specify MinValue for Number parameters
- Description and constraint description fields must be filled-in for all the parameter fields
- For a reference template see SungardAS Enhanced snapshot template
6. Topology diagram and metadata:
You will need to create an architecture diagram that is focused on the different AWS services and resources that will be created for the product using the CFTs. The diagram should leverage AWS icons for each AWS service being deployed. The diagram will need to be 1100×700 pixels and must use a set of approved icons.
The diagram needs to be submitted with the topology metadata that includes: Title (50 characters), Option order (If the topology provides cluster options), Short description (200 characters) and Long description (2000 characters).
Reference: Check the Delivery methods section in AWS Marketplace – Enhanced Snapshot to see the topology diagram (view) and the metadata fields mentioned above.
7. Pricing estimation:
Software price: This information needs to be provided as part of the documentation and should include all the instances created by the templates. Prices can be by hourly, annual subscription or however it is structured for the products licensed.
Infrastructure pricing estimation: This information should be calculated for all the instance types supported. You should use the AWS simple monthly calculator to estimate the infrastructure costs and the AWS Services used in your template and save the configuration. Click here to Refer the Save & Share link for the Enhanced snapshots calculator details.
Communication and lead times: The AWS Marketplace Team will provide an instructions list and samples as needed. Communications are usually addressed to email@example.com to start the processing and verification of the artifacts. Normal requests can take 2 to 4 weeks for a launch. However for more complex requests multiple iterations might be required for adjustments to product metadata and software. I recommend submitting the completed product form and AMI at least 45 days in advance of your desired AWS Marketplace “go-live date.”
In summary, the following artifacts are required for the launch of a product in the AWS Marketplace:
- AMI upload
- Product data load form
- CFT (Cloud Formation Template)
- Topology Diagram
- Topology Metadata
- Save & Share link of the AWS simple monthly calculator for the AWS resources
- Software pricing table
Plan for sufficient lead time and staff to manage the communications with the AWS Marketplace Team for successful and timely launch.
AWS Marketplace: https://aws.amazon.com/marketplace
AWS Calculator: http://calculator.s3.amazonaws.com/index.html
AWS Marketplace management portal: https://aws.amazon.com/marketplace/management/
Enhanced Snapshot Tool on the market place: https://aws.amazon.com/marketplace/pp/B01CIWY4UO