Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

As mentioned in the Meadowlark Architecture, the Ed-Fi Alliance chose  to develop Meadowlark on Amazon Web Services (AWS) because the development team needed to concentrate on one system while developing this proof-of-concept application. 

In developing this proof-of-concept application, the team stuck with a key principle: try to use only AWS managed services that have an analogous option for other major providers, which would make it (relatively) easy to migrate from one platform to the other. This document reviews the services used and identifies the equivalent tools (or gaps) in Azure and in Google Cloud, with a bonus add-on of documenting equivalent services available on-premises.

PurposeAWS ServiceAzureGoogleOn-PremisesAdditional Notes
Load balancing and reverse proxy​API Gateway

Azure Application Gateway


Cloud Endpoints

NGiNX, among others


Serverless ApplicationAWS Lambda

Azure Functions

Google Cloud Functions

OpenFaas or Fn

The Meadowloark application is written in Typescript using the Serverless package, making it theoretically easy to reuse these components with any platform's serverless functions.

Could consider refactoring to OpenFaas or Fn for one system that is cloud-agnostic (runs in Kubernetes and Docker, respectively).

Key-value data  store and Change Data Capture

DynamoDB

with

DynamoDB Change Data Capture

CosmosDB in Cassandra API mode

with

CosmosDB Change Feed with Azure Functions

Firestore

(error) see note below about change streams

Apache Cassandra

with

Cassandra Triggers

The differences may be great enough that some tweaking of the storage model may be required.

Switching to MongoDB may be a useful alternative, as it is available on all platforms:

Another option would be to switch to Cassandra for a single database platform available on all providers

Search engineAmazon OpenSearch

Elastic on Azure

Elastic on Google Cloud Platform

Either ElasticSearch or OpenSearch can run on-premises


Google Firestore might not have a direct equivalent of Change Data Capture... at least, the searching for this does not turn up functionality that is clearly the same as with the other products. However, perhaps one of these techniques is capable of writing out to a stream: Extend... with Cloud Functions or onSnapshot.

As mentioned in the Meadowlark Architecture, the Ed-Fi Alliance chose  to develop Meadowlark on Amazon Web Services (AWS) because the development team needed to concentrate on one system while developing this proof-of-concept application. 

In developing this proof-of-concept application, the team stuck with a key principle: try to use only AWS managed services that have an analogous option for other major providers, which would make it (relatively) easy to migrate from one platform to the other. This document reviews the services used and identifies the equivalent tools (or gaps) in Azure and in Google Cloud, with a bonus add-on of documenting equivalent services available on-premises.

PurposeAWS ServiceAzureGoogleOn-PremisesAdditional Notes
Load balancing and reverse proxy​API Gateway

Azure Application Gateway


Cloud Endpoints

NGiNX, among others


Serverless ApplicationAWS Lambda

Azure Functions

Google Cloud Functions

OpenFaas or Fn

The Meadowloark application is written in Typescript using the Serverless package, making it theoretically easy to reuse these components with any platform's serverless functions.

Could consider refactoring to OpenFaas or Fn for one system that is cloud-agnostic (runs in Kubernetes and Docker, respectively).

Key-value data  store and Change Data Capture

DynamoDB

with

DynamoDB Change Data Capture

CosmosDB in Cassandra API mode

with

CosmosDB Change Feed with Azure Functions

Firestore

(error) see note below about change streams

Apache Cassandra

with

Cassandra Triggers

The differences may be great enough that some tweaking of the storage model may be required.

Switching to MongoDB may be a useful alternative, as it is available on all platforms:

Another option would be to switch to Cassandra for a single database platform available on all providers

Search engineAmazon OpenSearch

Elastic on Azure

Elastic on Google Cloud Platform

Either ElasticSearch or OpenSearch can run on-premises


Google Firestore might not have a direct equivalent of Change Data Capture... at least, the searching for this does not turn up functionality that is clearly the same as with the other products. However, perhaps one of these techniques is capable of writing out to a stream: Extend... with Cloud Functions or onSnapshot.


Install Information

To test out Meadowlark on your own:

  1. Make sure that you have an AWS subscription and a user account with permissions to create resources.
  2. Must have Node.js 16 installed locally to manage the deployment.
  3. Clone the source code repository using Git.
  4. Follow the install instructions.

  • No labels