What is EchoStream?
  • 22 Jan 2022
  • 3 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

What is EchoStream?

  • Dark
    Light
  • PDF

Article summary

EchoStream is a processing engine

EchoStream provides you the ability to route messages between applications while processing those message during their transition, thus providing a means to implement almost any processing flow required.

Processing

What can that processing be? Literally anything that you wish. For example:

  • Your message is a CSV file with headers. You can split that CSV file into individual JSON documents and conditionally route the results to different applications based upon the JSON content.
  • You connect to an external server (e.g. - RESTful API, SFTP, RDBMS, etc.) on a periodic basis, query for changes, and generate TOML messages that are conditionally routed to consuming applications.
  • You receive a delimited text message (e.g. - HL7, X12), convert it to an XML document, and call an API with that document.
  • Or any of the above in combination...

Routing

What can you route a message based upon? Literally anything that you wish. For example:

  • Route a message to mutiple destinations based simply upon the content of the message.
  • Route a message based upon the source that delivered the message to you.
  • Route a message based upon a status in an external database that you look up using the information in the message.
  • Or any of the above in combination...

EchoStream is a platform

While EchoStream provides many canned conversions and processing functions (and is continually adding more!), the real power it provides you is allowing you to define your own processing requirements. Almost all low-code platforms allow some form of this, but they often do it through the definition of their own bespoke language that you must learn and that does not provide you the power of modern languages. EchoStream is different. EchoStream uses Python.

Low code/No code

EchoStream minimizes (sometimes to zero!) the amount of code that you have to write to accomplish an procesing flow, allowing you to focus on delivering the value of the processing itself, not the mechanics of moving and encrypting information. You can keep it simple for simple things, and use the power of Python when your needs become necessarily complex.

Python as a processing language

EchoStream uses Python as its processing language. Pure Python. No special layers, no limitations. In fact, EchoStream allows you to incorporate and use any Python package that can be accessed from PyPI in your routing or processing.

Python is not just powerful as a software language. It is also relatively simple and is the fastest growing language in software development, meaning it is easy to find engineers that know it. Furthermore, it boasts an extremely robust open-source community - if you need something it is probably freely available in PyPI.

These characteristics allow you to focus on the value that you are adding by creating a processing flow, not the low level mechanics of executing that processing.

EchoStream is Cloud Native

EchoStream is designed from the ground up to utilize the power and scalability of the Cloud. The entire platform is fully serverless, guaranteeing almost unlimited scalability and almost perfect uptime for your tenant without sacrificing performance. All in a by-the-drink pricing model.

This allows EchoStream to scale with you, from a couple of flows with simple routing and transformation to thousands of processing flows with complex processing requirements.

EchoStream is Agile

All changes that you make in EchoStream are applied in near-real time. This provides super-charged agility to a business need that is often quite ossified. You can iterate your processing flows as fast (maybe faster!) as your developers iterate code.

Want to test a change in the way data is formatted and see the results right now? No problem. Want to add a stream of data to a data warehouse, but only for the next 3 days? No problem. Want to build a new integration today against your test system and then move it into production tomorrow? No problem. Your CEO wants to see what feeding a new set of data to the CRM does, but wants to be able to back it out if it fails? No problem.