7 mแบฃng chรญnh trong DevOps
Thรดng thฦฐแปng, DevOps sแบฝ xoay quanh 7 phแบงn sau:
- Configuration Management
- Continuous Integration
- Automated Testing
- Infrastructure as Code
- Continuous Delivery
- Continuous Deployment
- Continuous Monitoring
Configuration Management
Phแบงn nร y liรชn quan ฤแบฟn viแปc quแบฃn lรฝ source code vร cรกch team lร m viแปc vแปi code.
Hiแปn tแบกi gแบงn nhฦฐ cรดng ty nร o cลฉng dรนng Git. ฤi kรจm vแปi ฤรณ lร mแปt sแป quy chuแบฉn nhฦฐ:
- mแปi feature lร m trรชn mแปt branch riรชng
- tแบกo Pull Request
- phแบฃi ฤฦฐแปฃc review trฦฐแปc khi merge
Phแบงn nร y khรก cฦก bแบฃn, nhฦฐng lแบกi rแบฅt quan trแปng vรฌ nรณ lร nแปn tแบฃng cแปงa toร n bแป quy trรฌnh phรญa sau.
Continuous Integration
Continuous Integration (CI) lร bฦฐแปc tiแบฟp theo sau khi developer viแบฟt xong code.
Khi code ฤฦฐแปฃc push lรชn Git, hแป thแปng sแบฝ tแปฑ ฤแปng chแบกy cรกc pipeline ฤแป kiแปm tra.
Vรญ dแปฅ mแปt pipeline cฦก bแบฃn sแบฝ gแปm:
- build project
- chแบกy unit test
- chแบกy integration test
- check quality code (vรญ dแปฅ dรนng SonarQube)
Nแบฟu pass thรฌ code mแปi ฤฦฐแปฃc ฤi tiแบฟp, cรฒn fail thรฌ phแบฃi sแปญa lแบกi.
Automated Testing
Sau CI, code thฦฐแปng sแบฝ ฤฦฐแปฃc ฤฦฐa qua bฦฐแปc testing tแปฑ ฤแปng.
Ngร y xฦฐa tester sแบฝ ngแปi click tแปซng chแปฉc nฤng ฤแป test.
Bรขy giแป phแบงn ฤรณ ฤฦฐแปฃc tแปฑ ฤแปng hรณa bแบฑng tool.
Mแปt sแป loแบกi test phแป biแบฟn:
- Unit test
- Integration test
- End-to-end test
- Performance test
- Security test
Tool thฦฐแปng dรนng:
- Cypress
- Cucumber
Mแปฉc ฤแป test nhiแปu hay รญt tรนy vร o project, nhฦฐng vแปi hแป thแปng lแปn thรฌ phแบงn nร y gแบงn nhฦฐ bแบฏt buแปc.
Infrastructure as Code
ฤรขy lร phแบงn mรฌnh thแบฅy thรบ vแป nhแบฅt trong DevOps.
Infrastructure as Code (IaC) nghฤฉa lร dรนng code ฤแป tแบกo vร quแบฃn lรฝ hแบก tแบงng.
Vรญ dแปฅ mแปt hแป thแปng web sแบฝ cรณ:
- frontend
- backend
- database
- network
- firewall
- HTTPS
Trฦฐแปc ฤรขy bแบกn phแบฃi tแบกo tแปซng thแปฉ bแบฑng tay, click tแปซng bฦฐแปc.
Bรขy giแป bแบกn cรณ thแป viแบฟt code ฤแป tแบกo toร n bแป hแป thแปng ฤรณ.
Cรดng cแปฅ phแป biแบฟn
- Terraform
- AWS CloudFormation
- Pulumi
Ngoร i ra cรฒn cรณ:
- Docker (container)
- Kubernetes (orchestration)
IaC giรบp bแบกn:
- tรกi tแบกo mรดi trฦฐแปng dแป dร ng
- deploy nhanh hฦกn
- giแบฃm lแปi do thao tรกc tay
Continuous Delivery
Sau khi code ฤรฃ pass test, bฦฐแปc tiแบฟp theo lร chuแบฉn bแป ฤแป deploy.
แป bฦฐแปc nร y:
- code ฤฦฐแปฃc build thร nh artifact
- push lรชn registry
- deploy lรชn staging
ฤiแปm quan trแปng lร :
code luรดn แป trแบกng thรกi sแบตn sร ng ฤแป deploy production, nhฦฐng chฦฐa tแปฑ ฤแปng deploy.
Continuous Deployment
Continuous Deployment lร bฦฐแปc ฤi xa hฦกn.
Nแบฟu hแป thแปng ฤแปง แปn ฤแปnh, bแบกn cรณ thแป cho phรฉp:
- code pass test โ tแปฑ ฤแปng deploy lรชn production
Khรดng cแบงn thao tรกc thแปง cรดng.
Cรกch nร y giรบp release nhanh hฦกn, nhฦฐng cลฉng yรชu cแบงu hแป thแปng test rแบฅt tแปt ฤแป trรกnh lแปi.
Continuous Monitoring
Sau khi deploy xong, cรดng viแปc vแบซn chฦฐa kแบฟt thรบc.
Bแบกn cแบงn theo dรตi hแป thแปng:
- CPU, RAM
- log
- error
- uptime
Mแปt sแป tool phแป biแบฟn:
- Prometheus
- Grafana
- ELK stack
- Datadog
Monitoring giรบp bแบกn phรกt hiแปn vแบฅn ฤแป sแปm vร hiแปu hแป thแปng ฤang hoแบกt ฤแปng nhฦฐ thแบฟ nร o.
DevOps cรณ cแบงn code khรดng?
Cรณ, nhฦฐng khรดng giแปng developer.
DevOps thฦฐแปng code:
- script (bash, python)
- pipeline
- infrastructure
Mแปฅc tiรชu lร tแปฑ ฤแปng hรณa, khรดng phแบฃi build feature.
DevOps cรณ phแบฃi System Admin khรดng?
Khรดng hแบณn.
System Admin chแปง yแบฟu quแบฃn lรฝ server.
DevOps thรฌ rแปng hฦกn:
- build pipeline
- automate deploy
- manage infrastructure
- monitor system
Nรณi ฤฦกn giแบฃn lร DevOps quแบฃn lรฝ toร n bแป vรฒng ฤแปi cแปงa software, tแปซ lรบc viแบฟt code cho tแปi khi chแบกy production.