Posted in Home

DevOps: 7 thร nh phแบงn cฦก bแบฃn tแบกo nรชn 1 devops engineer pro.

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.