Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assignment 2 Tasks #41

Open
aniruddhavpatil opened this issue Feb 24, 2020 · 0 comments
Open

Assignment 2 Tasks #41

aniruddhavpatil opened this issue Feb 24, 2020 · 0 comments
Labels
discussion Points after discussions

Comments

@aniruddhavpatil
Copy link
Contributor

Based on Assignment 1, improve your system as follows

  1. If you have not already done so, containerize each of your microservices using Docker.

  2. Establish CI/CD systems for each of your microservices, including tests.

  3. You should be able to trigger builds and live deployments through GitHub commits to your “dev” and “release” code branches for each service.

  4. Use Kubernetes to manage the deployments of your containers

  5. Deploy your system on Jetstream using the OpenStack API (Do not use Jetstream’s Atmosphere.)

  6. You should also automate/script the creation and management of your VMs and deployments of Kubernetes. A tool like Terraform from HashiCorp may be useful but isn’t required.

  7. Using a tool such as JMeter, evaluate the scaling of your system

  8. Using JMeter or a similar tool, measure and analyze the performance of your system’s throughput under incrementally increasing loads

  9. Test with 1, 3, and 5 replicas (fixed) of each of your services.
    At what point does your system fail?
    What about your system failed?

  10. Test your system with elastic resource management (that is, system grows under load, contracts when resources are not needed).

  11. Inject failures and demonstrate that your system continues to function with JMeter-created or similar loads.

  12. Manually kill a VM running part of your system

  13. Your entire system must be deployable on vanilla Jetstream VMs by your peer-reviewers and graders with a single command for provisioning the infrastructure and a single command (a git commit) for deploying your system.

  14. They should be able to verify your system works correctly through pre-defined tests, should be able to observe your system operations under JMeter (or other created) loads, and should be able to observe your system’s operations under reasonable failures.

@aniruddhavpatil aniruddhavpatil added the discussion Points after discussions label Feb 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Points after discussions
Projects
None yet
Development

No branches or pull requests

1 participant