2.3 - Application Development, Deployment, and Automation Concepts Flashcards
1
Q
Development to Production
A
- Deployment
- Can’t just copy and paste
- Many checks that must happen first
- Might need to patch (do you test them? how long do you wait?)
- Need to closely monitor these steps
2
Q
Sandboxing
A
- Isolated testing environment
- No connection the real world or production system
- A technological safe space that developers can use for testing, won’t affect anyone but other ppl using sandbox
- Sandbox can be used over and over (Incremental development)
3
Q
Development
A
- Programmer writes the code in a secure environment and begins testing different functions
- Will continue to add on
4
Q
Test Environment
A
- More formal than development, but still part of the development stage
- All the pieces are put together
- Does it work?
- functional tests
5
Q
QA
A
- Quality Assurance
- Verifies features are working as expected
- Outside scope of development team
- this group tests new features
- Verifies that old errors don’t reappear
- Once developers think application is working as expected, they can push to QA
6
Q
Staging
A
- Chance to test application in real world environment
- Works and feels like production
- Might use a copy of production data
- Almost ready to roll it out
- Run performance tests
- Test usability and features
7
Q
Production
A
- Application is live
- Rolled out to the user community
- May need to train users
- Challenging step since it affects users
- Logistical challengers (maybe new servers, etc. that may impact availablity)
8
Q
Secure baselines
A
- The security of an application environment should be well defined
- All application instances must follow this baseline
- Firewall settings, patch levels, OS file versions
- Want to make sure they’re always up to date
- Run Integrity management checks
9
Q
Integrity Measurement checks
A
- Within the scope of the secure baseline
- Should be performed often, check against well-documented baselines
- Failure (if not matching) requires an immediate correction
10
Q
Provisioning
A
- Process of making something available
- Ex: provisioning an application, probably will deploy a web server, database server, middleware server, user workstations configurations, certificate updates, etc.
- Deploying an application is a deployment instance b/c it includes all these things
- Also includes Application software security (Ex: OS, application)
- Network security (Secure VLAN, internal / external acces)
- Software deployed to workstations might also want to check executables for malicious code
11
Q
Scalability
A
- The ability to increase the workload in a given infrastructure
- When you first create an application instance, you build it to handle everything up to a certain load
- Ex: application instance can 100K transactions per second then everything in this will be able to handle this load
12
Q
Elasticity
A
- Increase / decrease available resources as the workload changes
- Ex: deploy multiple application instances to handle 500K transactions per second, if initial load of 100K is not sufficient
- Ex: if an application becomes popular
- Ex: deploying more or less application instances
- Ex: If you know application scalability can handle 100K instances per second and we nee to now handle 500K per second, we know we will need 5 instances
- (Same thing in reverse to decrease instances, which affects the total number of transactions per second an application can handle)
13
Q
Orchestration
A
- key to cloud computing b/c you can automate the provisioning / deprovisioning of applications
- Entire application instances can be instantly provisioned (deployed) (Ex: all servers, networks, switches, firewalls, and policies)
- Services appear and disappear automatically ,or at the push of a button
- Can orchestrate WHERE the instances are provisioned (aka follow the Sun, provision when it’s day in Europe, and then deprovision and provision the US)
- Automation will also apply to all security components as well
14
Q
Deprovisioning
A
- Dismantling and removing an application instance
- Not just turning off application, but removing any remnants of application running in your environment
- Don’t want to leave open holes (or close important ones)
- Have to deprovision all security components as well (ex: not only removing firewalls, etc, but may have to remove individual rules in the firewall)
- If the application is gone, so is the access
- What happens to Data? It could have been copied somewhere else secure or everything is removed. (Don’t leave data around)
15
Q
Secure Coding Concepts
A
- Balancing act b/n time it takes to create app and quality of final product
- Want app to do everything we need but also be secure
- Testing (QA) takes a lot of time
- Vulnerabilities will eventually be found and this will need to be patched