Introduction to 60East Technologies AMPS

Thank you for choosing to evaluate the Advanced Message Processing System (AMPS) from 60East Technologies!

AMPS is designed to make it easy to develop and deploy data-intensive applications with demanding requirements for low latency and high performance. AMPS takes a nontraditional approach to messaging, storage, and analytics that is designed from the ground up for streaming data and highly-parallelized multicore systems.

AMPS is more than a publish and subscribe system. It is a feature-rich platform that enables you to easily build data intensive applications that provide previously unattainable low latency and high performance. AMPS combines a set of capabilities that cut across traditional component divisions. 60East designed the capabilities based on the needs of some of the most demanding data-intensive applications on the planet, and engineered the capabilities to work together seamlessly and provide the kind of performance and latency that those applications demand.

AMPS isn’t a traditional database or messaging product. This guide presents a brief introduction to AMPS and contains information on evaluating AMPS.

Documentation Roadmap

This guide is designed to be use alongside other parts of the AMPS documentation.

Guide Purpose
AMPS Intro Guide Overview of AMPS features and capabilities, intended as a starting point for learning AMPS
AMPS User Guide Description of AMPS server-side features
AMPS Configuration Reference Guide to AMPS configuration

The AMPS client distributions also contain guides discussing the programming model for applications and how to use the client libraries effectively.

Guide Purpose
AMPS C++ Developer Guide Guide to developing applications using the C++ client library
AMPS C#/.NET Developer Guide Guide to developing applications using the C# (or other .NET) client library
AMPS Java Developer Guide Guide to developing applications using the Java client library
AMPS Python Developer Guide Guide to developing applications using the Python client library

In addition, 60East maintains an FAQ on the 60East support site at:

Site Purpose
FAQ Site Frequently asked questions about the AMPS product

For evaluation purposes, 60East recommends starting with the AMPS Intro Guide for an overview of the features of AMPS, including a cross-reference as to which features are most commonly used together in particular application scenarios.

AMPS Software Requirements

The AMPS server is supported on the following platforms:

  • Linux 64-bit (2.6 kernel or later) on x86 compatible processors

Tip

While 2.6 is the minimum kernel version supported, AMPS will select the most efficient mechanisms available to it and thus reaps greater benefit from more recent kernel and CPU versions.

The AMPS distribution contains all of the supporting libraries and dependencies needed to run on a typical Linux server installation: no further software is required.

Some utilities provided with the AMPS server have additional dependencies. These utilities are not required to run the server, but can make it easier to troubleshoot and test on the system that hosts the AMPS instance:

  • spark, a basic command line client that supports a subset of AMPS functionality, requires Java 1.7 or later.
  • The utlities for inspecting AMPS files (amps_sow_dump, amps_clients_ack_dump, and so on) require a Python installation.
  • amps-grep requires a Python installation.
  • amps-sqlite3 requires a Python installation and the sqlite3 package for your distribution (often, but not always, installed by default).

Obtaining Evaluation Licenses and the AMPS Server

For existing customers, evaluation and development licenses are typically covered in the existing licensing agreement. Contact the team that manages the license agreement or 60East for details.

For new customers, you can register for your evaluation, obtain an evaluation license, and receive instructions for downloading AMPS from the Evaluate AMPS page of the 60East Website.

The registration process covers the terms of the evaluation license. You can use the support website, as described in Obtaining Evaluation Support, for any questions that arise during your evaluation, including both licensing questions and technical questions.

Obtaining Evaluation Support

For existing customers, an outline of your specific support benefits and policies is available in your 60East Technologies License Agreement. Support contracts can be purchased through your 60East Technologies account representative. Existing customers will also typically already have a non-disclosure agreement in place, allowing development teams to discuss the details of their applications with 60East for the purposes of troubleshooting issues or answering questions about AMPS.

For new customers, contact support (as described in the following sections) for any issues that emerge during your evaluation. Support for evaluation purposes is typically available for new customers without a support contract. If your company requires a non-disclosure agreement with 60East before discussing technical information, please contact support to begin the process of creating and executing an agreeement.

Support Steps

You can save time if you complete the following steps before you contact 60East Technologies Support:

  1. Check the documentation. The problem may already be solved and documented in the User’s Guide or reference guide for the product. 60East Technologies also provides answers to frequently asked support questions on the support web site at http://support.crankuptheamps.com

  2. Isolate the problem.

    If you require Support Services, please isolate the problem to the smallest test case possible. Capture erroneous output into a text file along with the commands used to generate the errors.

  3. Collect your information.

    • Your product version number.
    • Your operating system and its kernel version number.
    • The expected behavior, observed behavior and all input used to reproduce the problem.
    • Submit your request.
    • If you have a minidump file, be sure to include that in your email to crash@crankuptheamps.com.

The AMPS version number used when reporting your product version number follows a format listed below. The version number is composed of the following:

MAJOR.MINOR.PREVIEW.HOTFIX.TIMESTAMP.TAG

AMPS Versioning and Certification

Each AMPS version number component has the following breakdown:

Component Description Minimum Verification
MAJOR Increments when there are any backward-incompatible changes in functionality, file formats, client network formats or configuration; or when deprecated functionality is removed. May introduce major new functionality or include internal improvements that introduce major behavioral changes. Megacert
MINOR Increments when functionality is added in a backwards-compatible way, or when functionality is deprecated. May include internal improvements, including internal improvements that introduce minor behavioral changes or changes to network formats used only by the AMPS server (such as replication). Megacert
PREVIEW Increments for previews of new features. May introduce behavioral changes to fix incorrect behavior, enable new functionality or to enhance performance. May include internal enhancements that do not introduce behavioral changes. Kilocert
HOTFIX A release for a critical defect impacting a customer. A hotfix release is designed to be 100% compatible with the release it fixes (that is, a release with same MAJOR.MINOR.MAINTENANCE version). May introduce behavioral changes to fix incorrect behavior. May document previously undocumented features or extend surface area to improve usability for existing features. Cert
TIMESTAMP Proprietary build timestamp. (does not affect verification level)
TAG Identifier that corresponds to precise code used in the release. (does not affect verification level)

Table 1.1: Version Number Components

The certification levels are defined in the following table. Notice that, in all cases, 60East will certify at a higher level if time permits or if a change involves a critical part of AMPS (such as replication or internal utility classes that are widely used).

Certification Level Description Time to Certify
Megacert

Performance and long-haul testing.

Full regression suite and stress-testing suite, including replication testing and application scenario tests.

Full unit testing suite, including new unit tests to verify correct behavior of bugfixes in this release.

less than 2 weeks
Kilocert

Full regression suite and stress-testing suite, including replication testing and application scenario tests.

Full unit testing suite, including new unit tests to verify correct behavior of bugfixes in this release.

less than 1 week
Cert Full unit testing suite, including new unit tests to verify correct behavior of bugfixes in this release. Replication testing suite if release affects replication code. 4 hours

Table 1.2: Certification Level Definitions

Contacting 60East Technologies Support

Please contact 60East Technologies Support Services according to the terms of 60East Technologies License Agreement (whether that is an existing license or evaluation license).

Support is offered through the United States:

Web: http://www.crankuptheamps.com
E-Mail: support@crankuptheamps.com
Support: http://support.crankuptheamps.com

Other support options may be available for existing customers, depending on the terms of the support agreement.