generated from cotes2020/chirpy-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
150 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
--- | ||
layout: post | ||
title: "[SRE] Ch17. Testing for Reliability" | ||
date: 2023-08-27 | ||
categories: | ||
- Study | ||
- Book | ||
- SRE | ||
tags: [ | ||
sre, | ||
google, | ||
devops, | ||
study, | ||
book, | ||
reliable, | ||
] | ||
--- | ||
|
||
**κ²°λ‘ : ν μ€νΈλ μμ§λμ΄λ€μ΄ μμ μ μ νμ μ λ’°μ±μ ν₯μμν¬ μ μλ κ°μ₯ μ μ ν ν¬μ μλ¨μ΄λ€.** | ||
|
||
- ν μ€νΈμ μ’ λ₯λ κ΅μ₯ν μ¬λ¬κ°μ§κ° μλλ°, μ λ’°μ±μ μ¬λ¦¬κΈ° μν΄μ λλ΅μ μΌλ‘ ν μ€νΈμ μ’ λ₯μ μ€μλμ λν΄μ μ€λͺ νκ³ μλ€. | ||
- ν μ€νΈλ μ΄λ€ λ³κ²½ μ¬νμ΄ μΌμ΄λ¬μ λ νΉμ λΆλΆμμ λμΌν κ²°κ³Όλ₯Ό κΈ°λν μ μλ€λ κ²μ 보μ¬μ£ΌκΈ° μν λ©μ»€λμ¦μ΄λ€. | ||
|
||
# μννΈμ¨μ΄ ν μ€νΈμ μ’ λ₯ | ||
|
||
## μ ν΅μ μΈ ν μ€νΈ | ||
|
||
- μννΈμ¨μ΄λ₯Ό κ°λ°νλ λμ μννΈμ¨μ΄κ° μ¬λ°λ₯Έ λμμ μννλμ§ μ¬λΆλ₯Ό νκ°νλ `ν μ€νΈ` | ||
|
||
### Unit Test | ||
|
||
- ν΄λμ€λ ν¨μ λ±μ ν μ€νΈνμ¬ κ° λμμ λ 립μ μΌλ‘ ν μ€νΈνλ λ°©λ² | ||
- μ£Όλ‘ `TDD` λ°©λ²λ‘ κ³Ό ν¨κ» μ¬μ©λ¨ | ||
- **dependency κ° μμ λλ μ΄λ»κ²?** | ||
- *β Dependency Injection μ¬μ©. Dagger μ κ°μ ν΄μ μ¬μ©ν΄μ Mock κ°μ²΄λ₯Ό μμ±νμ¬ μν* | ||
|
||
### Integration Test | ||
|
||
- λ¨μ ν μ€νΈλ₯Ό ν΅κ³Όν μννΈμ¨μ΄ μ»΄ν¬λνΈλ κ·Έλ³΄λ€ λ ν° κ·λͺ¨μ μ»΄ν¬λνΈμ νΈμ λλλ°, μ΄λ μννλ ν μ€νΈκ° `ν΅ν© ν μ€νΈ`μ | ||
|
||
### System Test | ||
|
||
- μμ§ λ°°ν¬κ° μλ£λμ§ μμ μμ€ν μ λν΄ μμ§λμ΄κ° μνν μ μλ κ°μ₯ ν° κ·λͺ¨μ ν μ€νΈ. | ||
- **Smoke Test** | ||
- *μ μ νλ‘ κΈ°νμ μ μμ λ£μμ λ κΈ°νμμ μ°κΈ°κ° λλμ§ νμΈνλ ν μ€νΈμμ μ λλ¨.* μ¦, μμ μ±μ μ μ§νκΈ° μν΄μ μ£Όμ κΈ°λ₯λ€μ΄ μ λλ‘ μλνλμ§ νμΈ | ||
- μμ μ± κ²μ¬ (Sanity Test) λ‘ μλ €μ Έ μμΌλ©°, μ½κ°μ μ₯μ μν©μ κ°μ ν ν μ€νΈλ₯Ό ν¬ν¨ν΄μ λ λ§μ λΆλΆμ ν μ€νΈ ν¨ | ||
- **Performance Test** | ||
- μ±λ₯ ν μ€νΈ | ||
- **Regression Test** | ||
- μ΄λ―Έ μλ €μ§ λ²κ·Έλ€μ ν΅ν΄ μμ€ν μ μ€ν¨λ μλͺ»λ κ²°κ³Όκ° λνλλ κ²μ μ μΆνλ ν μ€νΈ. | ||
|
||
## νλ‘λμ ν μ€νΈ | ||
|
||
- μ€μ λμνλ μΉ μλΉμ€μ λν΄ λ°°ν¬λ μννΈμ¨μ΄ μμ€ν μ΄ μ¬λ°λ₯΄κ² λμ μ€μΈμ§λ₯Ό νλ¨νλ ν μ€νΈ | ||
- **Black Box ν μ€νΈ**λΌκ³ λ λΆλ¦ | ||
|
||
### μ€μ ν μ€νΈ | ||
|
||
- μ€μ νλ‘λμ νκ²½μμ λμνλ νΉμ λ°μ΄λλ¦¬κ° μ€μ λ‘ μ΄λ»κ² μ€μ λμ΄ μλμ§λ₯Ό νμΈνκ³ ν΄λΉ μ€μ νμΌκ³Ό μΌμΉνμ§ μλ λΆλΆμ μ°Ύμ λ³΄κ³ ν¨ | ||
|
||
### μ€νΈλ μ€ ν μ€νΈ | ||
|
||
- μμ€ν μ ꡬμ±νλ μ»΄ν¬λνΈλ€μ νκ³λ₯Ό μ΄ν΄νκΈ° μν¨. | ||
- μμ | ||
- DB μ©λμ΄ μ΄λ μ λμ λ€λ€λ₯΄λ©΄ μ°κΈ° μμ μ μ€ν¨νλκ°? | ||
- μλ²λ μ΄λΉ λͺ κ°μ 쿼리κΉμ§ μλ΅ν μ μλκ°? | ||
|
||
### μΉ΄λ리 ν μ€νΈ | ||
|
||
- μλ²μ μΌλΆλ§μ μλ‘μ΄ λ²μ μ λ°μ΄λ리λ μ€μ νμΌλ‘ μ κ·Έλ μ΄λν ν, μΌμ κΈ°κ° λμ μ΄ν΄λ³΄λ ννλ‘ μ§ν | ||
|
||
# ν μ€νΈ λ° λΉλ νκ²½ ꡬμ±νκΈ° | ||
|
||
- **μΌλ°μ μΌλ‘ μ΄κΈ° μ€κ³ λΆν° ν μ€νΈ 컀λ²λ¦¬μ§ 100νλ‘λ₯Ό λ¬μ±νλ©΄μ νλ‘μ νΈλ₯Ό μννλ κ²½μ° (TDD) λ μ μμ.** | ||
- λΏλ§ μλλΌ SRE μμ§λμ΄λ€μ λλΆλΆ νλ‘μ νΈκ° νμ°½ μ§ν μ€μΌ λ ν©λ₯νκΈ° λλ¬Έμ, μ΄λ λΆλΆλΆν° ν μ€νΈλ₯Ό μμν΄μΌνλμ§ νλ¨νλ λΆλΆμ΄ μ€μν¨ | ||
- **κ³ λ €ν΄μΌν μ λ€** | ||
- μ΄λ€ ννλ‘λ μ€μλλ₯Ό μΈ‘μ ν΄μ μ»΄ν¬λνΈλ€μ μ°μ μμλ₯Ό κ²°μ ν΄μΌν¨ | ||
- μ¬νμ΄ κ±Έλ €μκ±°λ, λΉμ§λμ€ κ΄μ μμ μ€μν κΈ°λ₯μ΄λ ν΄λμ€λ₯Ό νΉμ ν μ μλμ§? | ||
- λ€λ₯Έ νλ€μ΄ ν΅ν©ν΄μ μ¬μ©νλ APIλ€μ΄ μλμ§? | ||
- β **κ°μ₯ κ°λ ₯ν ν μ€νΈ λ¬Έν μ립 λ°©λ²μ μ§κΈκΉμ§ λ³΄κ³ λ λͺ¨λ λ²κ·Έλ₯Ό ν μ€νΈ μΌμ΄μ€μ ννλ‘ λ¬Έμννκ³ ,** `regression Test` **μ ν¬ν¨μμΌμΌν¨** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
--- | ||
layout: post | ||
title: "[SRE] Ch18. Software Engineering in SRE" | ||
date: 2023-08-30 | ||
categories: | ||
- Study | ||
- Book | ||
- SRE | ||
tags: [ | ||
sre, | ||
google, | ||
devops, | ||
study, | ||
book, | ||
reliable, | ||
] | ||
--- | ||
|
||
**κ²°λ‘ : SRE λ λ¨μ Operation μ νλ ν¬μ§μ μ΄ μλλΌ Software Engineering μ λ§μ λΆλΆ κΈ°μ¬λ₯Ό νκ³ μμΌλ©°, μ΄λ¬ν μλκ³Ό μμ μ λ§€μ° μ€μνλ€. ꡬκΈμμλ μ΄λ€μμΌλ‘ SRE μ Software Engineering μ΄ μ΄λ£¨μ΄μ§κ³ μλμ§ μΏλ³Ό μ μλ μ₯** | ||
|
||
# SRE μ‘°μ§μ μννΈμ¨μ΄ μμ§λμ΄λ§ μλμ΄ μ€μν μ΄μ | ||
|
||
- **λ€λ₯Έ νμ¬λ€κ³Ό λΉκ΅νμ¬λ ꡬκΈμ²λΌ ν¬κ³ 볡μ‘ν νλ‘λμ νκ²½μ κ°μ§κ³ μλ νμ¬λ μμ κ²μ΄λ€. μ΄ λλ¬Έμ ꡬκΈμμλ λ€μν ννμ μννΈμ¨μ΄ κ°λ°μ΄ λ΄λΆμ μΌλ‘ μ΄λ£¨μ΄μ§ μ λ°μ μμ.** | ||
- ꡬκΈμ΄ νμλ‘ νλ κ·λͺ¨λ₯Ό κ°λΉνλ μλνν° λκ΅¬κ° κ±°μ μκΈ° λλ¬Έ | ||
- κ·Έλ λ€λ©΄ ꡬκΈμ SRE μ‘°μ§μ΄ λ΄λΆ μννΈμ¨μ΄λ₯Ό κ°λ°ν μ μλ μ‘°μ§μ΄ λ μ΄μ λ 무μμΌκΉ? | ||
- **ꡬκΈλ§μ νλ‘λμ νκ²½μ λν SRE μ‘°μ§μ νλκ³ κΉμ μ§μμ νμ©νμ¬ μννΈμ¨μ΄λ₯Ό λμμΈνκ³ κ°λ° κ°λ₯** | ||
- **SRE λ€μ μ€μν μ¬μμλ λͺ¨λ μ°Έμ¬νλ―λ‘ μ 체μ μΈ ν° κ·Έλ¦Όκ³Ό μꡬμ¬νλ€μ μ½κ² μ΄ν΄** | ||
- **κ°λ°νλ λꡬλ₯Ό μ§μ μ¬μ©ν μ¬μ©μλ€κ³Όμ κ΄κ³κ° μ§μ μ μ΄κΈ° λλ¬Έμ λΉ λ₯Έ νΌλλ°± μ μ© κ°λ₯** | ||
|
||
# Auxon μ¬λ‘ μ°κ΅¬ : νλ‘μ νΈ λ°°κ²½ λ° λ¬Έμ κ° λ°μν λΆλΆ | ||
|
||
- Auxon μ νλ‘λμ νκ²½μμ μ€νλλ μλΉμ€μ `Capacity` κ³νμ μλννκΈ° μν΄ λ§λ ν΄μ΄λ€. | ||
- **μ ν΅μ μΈ μμ©λ κ³νμ΄ μ‘΄μ¬νκΈ΄ νμ§λ§,** μμΈ‘μ΄ λ³κ²½λκ³ λ°°ν¬κ° μ§μ°λκ³ μμ°μ΄ μ€μ΄λλ λ± μμ£Ό λ€μν λ³μκ° λ°μνκ³ μ νν μ λ΅μ΄ μλ λ¬Έμ μ. | ||
- **μ΄λ λ Έλμ§μ½μ μ΄κ³ λͺ¨νΈνλ©°, λ³Έμ§μ μΌλ‘ λΆμμ ν¨.** | ||
|
||
## ꡬκΈμ ν΄κ²°μ± : μλ κΈ°λ° μμ©λ κ³ν | ||
|
||
- ꡬνμ΄ μλ μꡬμ¬νμ λͺ νν νμ. | ||
- μλ(intent)λ μλΉμ€ λ΄λΉμκ° μμ λ€μ μλΉμ€λ₯Ό μ΄μνκ³ μ νλ μλλ₯Ό μλ―Έν¨. | ||
- μ€μ μμ©λ κ³ν μλλ₯Ό μ΄λμ΄λ΄κΈ° μν΄μλ νμ€μ μΈ μμ μμλ₯Ό λ°νμΌλ‘ ν νλΉν μ΄μ λ₯Ό λ§λ€μ΄λ΄κΈ° μν΄μλ μ¬λ¬ λ¨κ³μ μΆμνκ° νμν¨. | ||
1. Foo μλΉμ€λ₯Ό μν΄ X, Y κ·Έλ¦¬κ³ Z ν΄λ¬μ€ν°μ 50κ°μ μ½μ΄κ° νμν©λλ€. | ||
1. β μ? | ||
2. Foo μλΉμ€λ₯Ό μν΄ YYY μ§μμ ν΄λ¬μ€ν° μ€ μΈ κ°μμ 50κ°μ μ½μ΄κ° νμν©λλ€ | ||
1. β λ ꡬ체μ μ΄κΈ΄ νμ§λ§ μ? | ||
3. Foo μλΉμ€μ λν κ° μ§μλ³ μμλ₯Ό μΆ©λΉνκΈ°λ₯Ό μνλ©° N+2 μ λ€μ€νλ₯Ό μν©λλ€. | ||
1. β μμ λκ° ν¨μ¬ λμμ§. μΈκ°μ΄ μ΄ν΄νκΈ° μ¬μμ§. νμ§λ§ μ ? | ||
4. Foo μλΉμ€μ 99.999% κ°μ©μ±μ μ§μνκ³ μΆμ΅λλ€ | ||
1. β λ§€μ° μΆμνλ μꡬμ¬ν. ν¨μ¬ μ μ°ν¨. | ||
- **β 3λ¨κ³μ μΆμνλ₯Ό μ 곡ν λ κ°μ₯ μ’μ μ±κ³Όλ₯Ό λ΄κ³ , μμ£Ό μ κ΅ν μλΉμ€λ 4λ¨κ³κ° λ μ΄μΈλ¦΄ μ μλ€.** | ||
|
||
## μλλ₯Ό νμ νκΈ° μν μ ν μμ | ||
|
||
- μμ‘΄μ± | ||
- μ±λ₯μ§ν | ||
- μ°μ μμ κ²°μ | ||
|
||
## Auxon μκ° | ||
|
||
<img width="742" alt="image" src="https://github.com/hhhyunwoo/leetcode/assets/37402136/b81c0605-a22f-458f-a6e6-15831defb1b0"> | ||
|
||
|
||
- Auxon μ μ¬μ©μμ μ€μ μΈμ΄ νΉμ νλ‘κ·Έλλ° API λ₯Ό ν΅ν΄ μμ§ν ν, μ¬λμ μλλ₯Ό κΈ°κ³κ° μ΄ν΄ν μ μλ μ μ½μΌλ‘ λ³νν¨ | ||
- **μ±λ₯ λ°μ΄ν°** : μλΉμ€μ κ·λͺ¨λ₯Ό μλ―Έ | ||
- **μλΉμ€λ³ μμ μμΈ‘ λ°μ΄ν°** : μμΈ‘λ μμ μ νΈμ μ¬μ© κΆ€μ μ μλ―Έ | ||
- **μμ 곡κΈ** : κΈ°λ³Έμ μΈ μμμ λν κΈ°μ΄ μμ€μ κ°μ©μ±μ λν λ°μ΄ν° | ||
- **μμ κ°κ²©** : κΈ°λ³Έμ μΈ μμμ κΈ°μ΄μ μΈ μμ€μΌλ‘ ν보νκΈ° μν λΉμ©μ λν λ°μ΄ν° | ||
- **μλ μ€μ ** : μλ κΈ°λ° μ 보λ₯Ό Auxon μ μ λ¬νκΈ° μν ν΅μ¬ | ||
- **Auxon μ€μ μΈμ΄ μμ§** : μλ μ€μ μΌλ‘λΆν° μ λ¬λ°μ μ 보λ₯Ό λ°νμΌλ‘ λμ | ||
- **Auxon ν΄λ² μμ§** : μ΄ λꡬμ λμ ν΄λΉνλ©° μ€μ μΈμ΄ μμ§μκ²μ μμ ν μ΅μ νλ μμ²μ λ°νμΌλ‘ κ±°λν νΌν© μ μ νΉμ μ ν νλ‘κ·Έλ¨μ 곡μνν¨ | ||
- **ν λΉ κ³ν** : Auxon ν΄λ² μμ§μ μΆλ ₯ κ²°κ³Ό |