Devops - Intro Flashcards
SRE
Site reliability Engineering.
Applies Software Engineering aspects to create scalable, reliable software system.
(tools and techniques like automation, monitoring, testing)
SysOps
SysOps engineers ensure system is running, secure and scaleably.
tasks:
sys admin (monitor errors, respond to incidents, perform maintainence)
net admin (configure/manage network, set up switch/router/firewalls/DNS/DHCP)
security (manage user accounts, firewalls, intrusion detection, security policies)
automation (backups, deployment, testing)
DevSecOps
Development Security Operations: practices integrating security into SDLC
Security is everyone’s Responsibility
Security should be integrated into SDLC
Automation is key
Continious monitoring and improvement
Version Control
Track/manage changes to code (Git). store history of code changes, check differences, roll back if needed.
+ collaboration, - risks, + efficiency, +recovery
Build Automation
process of auto-building software (compiling code, running tests, creating exe files)
part of Continious Integration and Continious Delivery pipelines.
Continuous Integration
CI, software practice.
Commit all code changes to repository,
o be built and tested automatically. notify dev if test failed immediately.
Continious Delivery
CD, ensure SF can be released to production at any time.
If SW is built+tested successfully, auto-deploy to staging environment.
test in staging environment, auto-deploy to production on success.
Shift Left
Software Development practice of moving testing/QA earlier in development process. catch defects early.
Configuration Management
Process of controlling/maintaining SW system configurations.
track system changes,
ensure system changes are controlled and consistent,
verify system is in known good state
Infrastructure as code
IaC defines infrastructure (server, network, storage) as code
to be versioned/stored in repository,
and managed with IaC tools like Ansible (auto-provisioning, infrastructure management)
Orchestration
process of auto-deploying and SW management. (automate provisioning infrastructure, installing SW and configuring settings automatically. quick+reliable deployment)
Continuous monitoring
collecting/analyzing application data to confirm smooth running. monitor CPU/network/memory and take action before failure/outage.
Microservices
software development approach: app structures as small independent services.
Each service communicates through well-defined API’s. scalable, resilient (if one fails the others are fine), easy to develop, easy to maintain, adaptable to change
DevOps
practice combining SW development and IT operations.
goal: shorten System Development Lifecycle. provide continuous delivery at high quality, emphasis collaboration between SW developers and IT Operation Engineers thruoghout SDLC.
SDLC
Software Development Lifecycle.
Requirements Gathering / Planning: gather SW requirements from customer, user, business analyst
System Design: (design architecture, components, interface, data structures, graphs)
Implementation: Code according to design
Testing Ensure SW meets requirements (automatically?)
Deployment: make SW system available to users. on-premise or in-cloud
Monitoring: monitor app info, recognize where improvement is requirement (server not reachable, low memory)
continuous feedback: analyze applications outcome against client feedback.