Skip to content

Azure/telescope

Repository files navigation

Telescope

Telescope is a framework designed for testing and comparing cloud products and features, specifically evaluating functionality and performance. It empowers users to make data-driven decisions on their multi-cloud strategy, currently supporting Azure and AWS, with GCP support coming soon.

Achitecture

arch As the achitecture diagram above shows, Telescope streamlines the evaluation process in 5 steps:

  1. Provision Resources
  2. Validate Resources
  3. Execute Tests
  4. Cleanup Resources
  5. Publish Results

and provides 3 major re-usable components:

  • Terraform modules to manage target test resources
  • Azure Pipeline to ochestrate and automate test runs
  • Azure Blob Storage, Event Hub and Data Explorer for test reporting

Quick Start

  1. Setup test framework by running commands as follows:
az login
aws configure

export AZDO_PERSONAL_ACCESS_TOKEN=<Azure DevOps Personal Access Token>
export AZDO_ORG_SERVICE_URL=https://dev.azure.com/<Azure DevOps Org Name>
export AZDO_GITHUB_SERVICE_CONNECTION_PAT=<GitHub Personal Access Token>
export TF_VAR_resource_group_name=<Resource Group Name>
export TF_VAR_storage_account_name=<Storage Account Name>
export TF_VAR_kusto_cluster_name=<Kusto Cluster Name>

cd modules/terraform/setup
make all
  1. Run pipeline or wait for scheduled run on Azure DevOps pipeline

  2. Import dashboard and check test results on Azure Data Explorer results

Contributing

Read more

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

License

See LICENSE.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.