Infra Provisioning
Scenario:
- We are working for an organization which builds a movie ticket booking application
- As part of QA it is required to test
- Functionality
- Performance
- Security
- End User Usecases
- To manage this, our organization has 4 environments for testing and 1 environment for production
- Testing environment
- System Test Enviornment: Functionality is tested
- Performance Test Environment: Where performance is measured
- Security Test Environment: Where penetration tests are done
- Pre-Production Environment: Where End User Usecases are verified before production
- Live Environment
- Production: Where customers use the application.
- Testing environment
-
Our organization has the following automated tests
- System Testing:
- 80% is automated
- 20% is manual
- Performance Testing
- 80% is automated
- 20% is manual
- Penetration Testing:
- 80% is automated
- 20% is manual
- UAT
- 100% manual
- System Testing:
-
Our DevOps has CI/CD Pipelines
- Whenever developer submits change, basic tests are done (Unit Tests)
- Once every day (All the work combined by your team)
- System Testing
- Performance Testing
- Penetration Testing
- UAT is done once in a week
- Once every two weeks our live environment is updated.
- Every day we (devops engineers) need to ensure the infra is up and running to execute System, Performance and penetration tests
- As of now our company is using AWS but has plans to use Azure going forward.
- The project can run on any virtualized environment
- Onpremise:
- Vmware
- Openstack
- Nutanix
- Cloud:
- AWS
- Azure
- GCP
- Onpremise:
- Basic System requirements:

Infra Provisioning
- Creating infrastructure is a procedural activity.
- Virtual Infra Creation can be automated by using cli or by sdks (programming) which is procedural (How it is done)
-
With infra provisioning we define our desired state (What we want) and tool does the rest.
- Examples:
- Terraform
- Pulumi
- AWS Cloudformation
- Azure Bicep/ARM Templates
- Examples:
- Terraform

