Equinix Messaging Gateway
The Equinix Messaging Gateway (EMG) is an event-based interface which allows customers to integrate with Equinix in a simple, secure, and scalable way. As shown in this diagram, the EMG provides the following types of notifications:
-
Data center products and services notifications – Create/update/cancel orders, order status notifications, receive and respond two-way notifications for Cross Connects, trouble tickets, and Smart Hands work visits and shipments
-
Network notifications – Equinix Fabric port and VC up/down notifications
-
Data center maintenance notifications – Planned, unplanned, incident, and advisory notifications
-
Billing notifications – Related to notifications when customer order is closed, and when billing is started by Equinix
-
Future supported flows and notifications – Based on a customer's use case
EMG Key Benefits
-
Neutral – Messaging interface allows a neutral, standards-based handshake between customer and partners to exchange information without building partner or vendor specific adapters, which reduces the cost investment.
-
Simple – API Interface is simplified and standardized to meet the needs of global customers, and abstracts Equinix internal business processes by leveraging API composition or chaining.
-
Efficient – Creation time per ticket is reduced from ~900 seconds (manual creation) to ~6.5 seconds (includes only email processing time, excluding the “call” log time).
-
Integrated – Real-time notification for order changes is integrated into core systems for faster actionable steps. Tickets are referred by a customer-unique reference value instead of by Equinix order number standards.
-
Secure – Every transaction uses highly secure cert-based communication, with a highly scalable solution (no need to trust individual entities).
-
Scalable – Event-based mechanism and template-based design ensure that the system scales to customer needs.
How EMG Improves the Notification Process
As shown in the pre-EMG section of the diagram below, before EMG is implemented, the customer side might include these issues:
-
Swivel chair situations, which require users to manually enter data into one interface or system, and then to re-enter the same data into another system
-
Multiple channels to interact with Equinix, with email as the primary channel
-
No standard model for interaction with multiple partners
These issues might occur on the Equinix side:
-
Mostly manual processes
-
More error prone
-
Time requirement of 15 – 30 minutes per email
As the post-EMG section of the diagram shows, after EMG is implemented, the customer side includes improvements:
-
System-to-system integration
-
Single channel of interaction with Equinix
-
Can be used as industry standard for interaction with multiple data center partners
Enhancements on the Equinix side include:
-
Automated, reduced time requirement of ~6.1 seconds per message
-
System-to-system integration, therefore less error prone
Non-transactional Use Cases
This diagram shows the process flow for Equinix Fabric port and VC up/down notifications use cases.
*Templates for EMG are available under MIT license through GitHub.
In this use case, on the Equinix side, no Listener is needed to authenticate, validate, or transform the message, submit the ticket, or send an ACK.
Instead, Equinix monitors the data center (network, ports, and so on), then processes and triggers internal alerts.
The Notification Engine monitors Internal Alerts, handles lookups for customer subscriptions, and sends notifications to the outgoing queue. (The outgoing queue can be managed by the customer or by Equinix.)
Sample Outgoing Message – Network Port
This sample shows an outgoing port message from EMG to a customer.
{
"Task": {
"Id": "bf9f2707
d612 4d63 9958 4c8b1fcf3cc0",
"Source": "3e095d30
40ff 11e9 8959 5be078353003",
"Verb": "Update",
"Resource": "
DataCenter.Network.Port
"
ContentType ": "application/
"Version": "1.0",
"Body": {
"timestamp":"2020
05 21T10:20:00Z",
"
type":"PORT_OPSTATUS_NOTIFICATION
"uuid":"11c954fb
8e8b 4515 97d7 cc80129a0985",
"
description":"Port is not operational. Connections on this port might be affected.",
"data":{
"
type":"XF_PORT
"uuid":"a867f685
41b0 1b07 6de0 320a5c00abdd",
"name":"L2
DEV USER01 DC5 CX 10G SECONDARY NOKIA 02",
"
href ":"https://api.equinix.com/fabric/v4/ports/a867f685 41b0 1b07 6de0 320a5c00abdd",
"operation":{
"
operationalStatus ":"
"opStatusChangedAt":"2020
05 21T10:20:00Z",
"
maintenanceMode ":false
},
"embedded":{
"connections":{
"
href
"https://api.equinix.com/fabric/v4/connections/8822de74
805f 4f63 b52d 93bcbf2a1d1b",
"https://api.equinix.com/fabric/v4/connections/8f20bea9
a5b9 47e5 88e6 a899584ebb90"
]
}
}
}
}
},
"Signature": “<Equinix Signature>”
}
Sample Outgoing Message – Network Virtual Connection
This sample shows an outgoing virtual connection (VC) message from EMG to a customer.
{
"Task": {
"Id": "bf9f2707
d612 4d63 9958 4c8b1fcf3cc0",
"Source": "3e095d30
40ff 11e9 8959 5be078353003",
"Verb": "Update",
"Resource": "
DataCenter.Network VirtualConnection
"
ContentType ": "application/
"Version": "1.0",
"Body": {
"timestamp":"2020
05 21T10:20:00Z",
"
type":“CONNECTION_OPSTATUS_NOTIFICATION
"
uuid 75732c77 ab65 4724 bc97 d49c8499d54c
"
description":“Virtual Connection is not operational. Your connection might be affected.",
"data":{
"type":"
EVPL_VC
"
uuid fb970ec8 8163 463e a5fa 1ee44db6df1d
"name":"
Test N 1 NOK Dot1q P
"
href https://api.equinix.com/fabric/v4/connections/fb970ec8 8163 463e a5fa 1ee44db6df1d
"operation":{
"
operationalStatus ":"
"opStatusChangedAt":"2020
05 21T10:20:00Z",
"
maintenanceMode ":false
},
}
},
"Signature": “<Equinix Signature>”
}
For more information about the EMG workflow and message format, see the EMG Developer Platform.