22.06.11 ํ์ฌ ์ด ๋ฌธ์
Q1. (MSP ๊ธฐ์ถ) On-Premise์ Cloud ์ฐจ์ด๋?
-
On-Premise
+
: ๋ง์ถคํ ํ๋์จ์ด / ๋ฐ์ดํฐ ๊ฐ์์ฑ ๋ฐ ๊ด๋ฆฌ-
: ์ด๊ธฐ ํฌ์ ๋น์ฉ / ํ์ ๋ ์ปดํจํ ํ์ / ์ธ๋ ฅ ํฌ์ / ํ์ฅ์ด ์ฉ์ดํ์ง ์์
-
Cloud
+
: ๋ณํ์ ์ ์, ํ๋ ฅ / ์ธํ๋ผ ์ด์๋์ ๋น์ฆ๋์ค์ ์ง์ค / ์ ์ ์ด๊ธฐ๋น์ฉ / ์ธ์ ์ด๋์๋ ์ ๊ทผ ๊ฐ๋ฅ-
: ๊ฐ์์ฑ ์ฐ๋ ค / ์ง์์ ์ธ ๋น์ฉ
Q2. (MSP ๊ธฐ์ถ) ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ vs ํ๋ผ์ด๋น ํด๋ผ์ฐ๋
๋ฆฌ์์ค ๊ณต์ , ๊ด๋ฆฌ, ํจ์จ์ / ๊ฐ์ํ , ์๋ํ / ์ข ๋์
- Public : ์์๋ณ๋์ ํ๋ ฅ์ / Azure, GCP, AWS
- Private : ์ธํ๋ผ ๋ด๋ถ์ ์ด์ฉ / ๋ณด์๊ฐ์ / ๋ฆฌ์์ค ํต์ / ๋น์ฉ
- Hybrid : VPN, P2P ์ฐ๊ฒฐ / ํธ๋ํฝ ๊ธ์ฆ์ ํผ๋ธ๋ฆญ์์ ๋น๊ฒจ์ด /
Q3. (MSP ๊ธฐ์ถ) AWS, GCP, Azure์ ์ฐจ์ด์ ๋ฐ ํน์ง
- AWS : ๊ด๋ฒ์ํ ์ํฅ๋ ฅ, ๋ค์ํ ์ํ / ์ ํ๊ฐ ๊ฒฐํฉ ๋ฏธํก
- GCP : ์คํ์์ค(K8s, Tensorflow) ํ์ / ๋๊ธฐ์ ๋์ ๋ถ์กฑ
- Azure : ์๋ฒฝํ ์๋ ํฌ ์๋(Oracle, SAP), ๋น์ฉ, Winserver / Availability Zone ์ต์ ์๋์ ์ผ๋ก ์ ๋ค.
Q4. (MSP ๊ธฐ์ถ) VPN / VPC ์ค๋ช
- VPN : ๊ฐ์์ ์ฌ์ค๋ง / ์ค์ ๋ก ๊ฐ์ ๋คํธ์ํฌ์์ด์ง๋ง ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ค๋ฅธ ๋คํธ์ํฌ
- VPC : ๋ฆฌ์์ค๊ฐ ํ์ฉ ์ต์ํ / ๊ทธ๋ฃน๋ณ ๋คํธ์ํฌ ๊ตฌ์ฑ ์ฉ์ด
Q5. (MSP ๊ธฐ์ถ) IaaS, PaaS, SaaS์ ์ฐจ์ด
- Infrastructure(aaS) / HW ์ธํ๋ผ ์ ๊ณต / ๋น ๋ฅธ ๋ณํ / AWS EC2, Azure, GCE
- Platform(aaS) / ์์ฉ SW ๊ฐ๋ฐ.์ด์ ํ๊ฒฝ ์ ๊ณต / ์ ์ ๊ฐ๋ฐ / Google App Engine, Openshift
- Software(aaS) / ์ํํธ์จ์ด ์ ๊ณต / ๋น์ฆ๋์ค ์ง์ค / Google Apps, MS Office, Dropbox
Q1. (CSP ์์) distributed and scalable systems ๊ตฌ์ฑ ์ ๊ณ ๋ คํ ์์?
- ๋ถ์ฐ ์์คํ ์ด๋? ์ฌ๋ฌ ๋ ๋ฆฝ๋ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ๋ชจ์ ํ๋์ ์์คํ ์ผ๋ก ์ฌ์ฉํ๋ ์์คํ ์ ๋๋ค.
- ํ์ฅ ๊ฐ๋ฅํ ์์คํ ์ด๋? ๋ง์ ๋ถํ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ฒ๋ฆฌ๋์ ์ฆ๊ฐ์ํฌ ์ ์๋ ์์คํ ์ ๋๋ค.
[๋ถ์ฐ ์์คํ ์ค๊ณ ์ ๊ณ ๋ ค์ฌํญ]
- ๊ฐ์ฉ์ฑ: ์ค์ํ ์ปดํฌ๋ํธ์ ์ด์คํ, ์คํจ ๋ฐ์ ์ ๋น ๋ฅธ ๋ณต๊ตฌ, ์ผ๋ถ ๋ง์ผ๋ก ๋์ํ ์ ์๊ฒ ํด ์ ๋ฉด ์ฅ์ ๊ฐ ๋ฐ์ํ์ง ์๊ฒ ํ๋ ๊ตฌ์ฑ(graceful degradation)
- ์ฑ๋ฅ: ๋น ๋ฅธ ์๋ต์๊ฐ, ๋ฎ์ ๋ ์ดํด์๋ ์ฌ์ฉ์ฑ, ๋ง์กฑ๋, ๊ฒ์์์ง ๋ญํน(์์ต๊ณผ ์ง์ ์ ์ฐ๊ด)์๋ ์ํฅ์ ๋ฏธ์น๋ค.
- ์ ๋ขฐ์ฑ: ๋๊ฐ์ ์์ฒญ์๋ ๋๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํด์ผํ๋ค(์์คํ ์ ์์๋).
- ํ์ฅ์ฑ: ์ผ๋ง๋ ๋ง์ ์ถ๊ฐ ํธ๋ํฝ์ ์ฒ๋ฆฌํ ์ ์๋์ง, ์ ์ฅ ๊ณต๊ฐ์ ์ถ๊ฐํ๊ธฐ ์ผ๋ง๋ ์ฌ์ด์ง, ์ผ๋ง๋ ๋ ๋ง์ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ์ ์๋์ง.
- ๊ด๋ฆฌ์ฑ: ๋ฌธ์ ๋ฐ์ ์ ๋ถ์์ด ์ฉ์ดํด์ผํ๋ฉฐ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ธฐ ์ฌ์์ผํ๋ค. ์ ๋ฐ์ดํธ, ์์ , ์์คํ ์ด์ฉ ์์ฒด๊ฐ ์ฌ์์ผํ๋ค.
- ๋น์ฉ: ํ๋์จ์ด, ์ํํธ์จ์ด ๋น์ฉ ์ธ ์์คํ ๋ฐฐํฌ, ๊ด๋ฆฌ ๋น์ฉ ๋ฑ ์์คํ ์์ ์ ํ์ํ ๋ชจ๋ ๋น์ฉ.
์ฃผ์: ์์ ๊ณ ๋ ค์ฌํญ์ ๋๋๋ก ํธ๋ ์ด๋ ์คํ ๊ด๊ณ์ผ ์ ์๋ค(์ฒ๋ฆฌ๋ ํฅ์์ ์ํด ์๋ฒ๋ฅผ ์ํํ์ฅ ์ ๊ด๋ฆฌ์ฑ, ๋น์ฉ ์ธก๋ฉด์์ ์ข์ง ์์ ์ ์๋ค)
Q2. (MSP ๊ธฐ์ถ) 2 tier / 3 tier ์ฐจ์ด
ํ๋ ์ ํ ์ด์ (WEB) / ์ ํ๋ฆฌ์ผ์ด์ (WAS) / ๋ฐ์ดํฐ(DB)
- 2tier : (WEB + WAS) + DB / ๊ฐ๋ฐํธ์์ฑ
- 3tier : WEB + WAS + DB / ํ์ฅ์ฑ, ์ฑ๋ฅ, ์์ํ์ฉ, ๊ด๋ฆฌ
Q3. WEB / WAS ์๋ฒ๋?
- ์น ์๋ฒ(Web Server): ์ ์ ์ธ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๋ ์๋ฒ๋ก ๋ํ์ ์ธ ์น ์๋ฒ๋ก๋ Apache HTTP server, NGINX ๋ฑ์ด ์๋ค.
- ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ(Web Application Server): DB ์กฐํ ๋ฑ ๋ก์ง์ ์ฒ๋ฆฌํด์ผํ๋ ๋์ ์ธ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ๋ ์๋ฒ์ด๋ค. ๋ํ์ ์ธ WAS๋ก๋ Tomcat, JEUS ๋ฑ์ด ์๋ค.
Q4. (CSP ์์) 3 tier ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์์ ๊ตฌ์ฑ๋ฐฉ์? (์์ฑ์ค)
Q5. WEB / WAS์ ์ฐจ์ด? (์์ฑ์ค)
Q6. micro services design ์ ์ฅ๋จ์ ?
- ๋ชจ๋๋ฆฌ์ ์ํคํ
์ณ
- ์ฅ์
- End-to-End ํ ์คํธ๊ฐ ์ฉ์ด
- ๋น ๋ฅด๊ฒ ๊ฐ๋จํ ์๋น์ค๋ฅผ ๋ง๋ค ์ ์์
- ๋จ์
- ์์ ์์ ์ฌํญ์ด ์์ด๋ ์ ์ฒด๋ฅผ ๋น๋ & ๋ฐฐํฌ (๋ ๋ฆฝ์ ์ด์ง ์๊ธฐ ๋๋ฌธ)
- ์ ์ง๋ณด์๊ฐ ์ด๋ ค์
- ๋ฉ์น๊ฐ ์ปค์ ธ ๊ตฌ๋์๊ฐ์ด ๋์ด๋จ
- ์ผ๋ถ๋ถ์ ์ค๋ฅ๊ฐ ์ ์ฒด์ ์ํฅ์ ๋ฏธ์นจ
- ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ ํํ ์ ์์
- ์ฅ์
- ๋ง์ดํฌ๋ก ์๋น์ค ์ํคํ
์ณ:
- ์ฅ์
- ์ ์ง๋ณด์ ์ฉ์ด
- ๊ฑฐ๋ํ ์๋น์ค๋ ๋น ๋ฅด๊ฒ ์์ ๊ฐ๋ฅ (๊ฐ ๊ธฐ๋ฅ์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ๋๊ธฐ ๋๋ฌธ)
- ๊ฐ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ ํํ ์ ์๋ค
- ๋จ์
- ๋ชจ๋ํฐ๋ง์ด ์ด๋ ค์
- End-to-end ๊ตฌ๋ ๋ถํธ(ํ ์คํธ ๋ถํธ)
- ์ฅ์
Q7. JEUS๋?
- ์ ์ฐ์ค(JEUS, Java Enterprise User Solution์ ์ค๋ง): ํฐ๋งฅ์ค์ํํธ์ฌ์์ ์ ์ํ ์์ฉ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(WAS). ํ์ฌ ๊ธฐ์ ์์ ์ฌ์ฉํ๋ ์น ์์คํ ์ ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ๋์ฌ์์ ์ ๊ณตํ๋ ์น ์๋ฒ์ธ ์นํฌ๋น(WebtoB)์ ๊ฐ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
Q8. Ant, Maven, Gradle์ ์ฐจ์ด
- Apache Ant
-
ํ์์ ๊ท์น์ด ์์: ๊ฒฐ๊ณผ๋ฌผ์ ๋ฃ์ ์์น๋ฅผ ์๋ ค์ค์ผํจ(Target + Dependency ์กฐํฉ)
-
์ ์ฐจ์ : ๋ช ํํ ๋น๋ ์ ์ฐจ ์ ์๊ฐ ํ์
-
์๋ช ์ฃผ๊ธฐ X = ๊ฐ ํ๊ฒ์ ๋ํ ์์กด๊ด๊ณ ๋ฐ ์์ ์ ์ ์ํด์ผํจ
-
๋น๋ ์คํฌ๋ฆฝํธ ์ธ์ด: XML ๊ธฐ๋ฐ(build.xml)
-
์ฅ์
- ๊ฐ๋ฐ์๊ฐ ์ํ๋ ๊ฒ์ ๊ฐ๋ฐ ํ ์ ์๋ ์ ์ฐ์ฑ.
-
๋จ์
- ํ๋ก์ ํธ๊ฐ ๋ณต์กํด์ง ๊ฒฝ์ฐ ๋น๋ ๊ณผ์ ์ดํด ์ด๋ ค์
- XML, Remote repository ๊ฐ์ ธ์ฌ ์ ์์(IVY ๋์ )
- ์คํฌ๋ฆฝํธ ์ฌ์ฌ์ฉ ์ด๋ ค์
- Apache Maven
-
Dependency ๊ด๋ฆฌ, ํ์คํ๋ ํ๋ก์ ํธ ์ ๊ณต
-
์๋ช ์ฃผ๊ธฐ(Lifecycle)์ ํ๋ก์ ํธ ๊ฐ์ฒด ๋ชจ๋ธ(POM, Project Object Model) ๊ฐ๋ ๋์
-
๋น๋ ์คํฌ๋ฆฝํธ ์ธ์ด: XML ๊ธฐ๋ฐ(pom.xml)
-
์ฅ์
- Ant์ ์ฅํฉํ ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ์ .
- pom.xml์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ๋ฉด ์๋์ผ๋ก ํด๋น ํ๋ก์ ํธ๋ก ๋ถ๋ฌ์ ํธ๋ฆฌ.
-
๋จ์
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ก ์ข ์๋ ๊ฒฝ์ฐ XML์ด ๋ณต์กํ
- ํ๋ก์ฐ, ์กฐ๊ฑด๋ถ ์ํฉ ํํ ์ด๋ ค์
- ๋ง์ถคํ๋ ๋ก์ง ์คํ ์ด๋ ค์
- ์๋์ ์ผ๋ก ํ์ต ์ฅ๋ฒฝ์ด ๋์
- Apache Gradle
-
Ant, Maven ๋ฑ ์ด์ ์ธ๋ ๋น๋ ๋๊ตฌ์ ๋จ์ ๋ณด์ & ์ฅ์ ์ทจํฉํด ๋ง๋ ์คํ์์ค๋ก ๋น๋ ๋๊ตฌ
-
๋น๋ ์คํฌ๋ฆฝํธ ์ธ์ด: ๊ทธ๋ฃจ๋น(Groovy)๊ธฐ๋ฐ์ DSL(Domain Specific Language)
-
ํน์ง
- ๋งค์ฐ ์ ์ฐํ ๋ฒ์ฉ ๋น๋ ๋๊ตฌ
- Maven๊ณผ ๊ฐ์ ๊ตฌ์กฐํ ๋ ๋น๋ ํ๋ ์์ํฌ
- Maven, Ivy๋ฑ์ ๊ธฐ์กด ์ ์ฅ์ ์ธํ๋ผ ๋๋ pom.xml ํ์ผ๊ณผ ivy.xml ํ์ผ์ ๋ํ ํธํ์ฑ
- ๋ฉํฐ ํ๋ก์ ํธ ๋น๋ ์ง์
- ์์กด์ฑ ๊ด๋ฆฌ์ ๋ค์ํ ๋ฐฉ๋ฒ ์ ๊ณต
- ๊ธฐ์กด Build๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ํ๋ถํ ๋๋ฉ์ธ ๋ชจ๋ธ ์ ๊ณต
- Gradle ์ค์น ์์ด Gradle Wrapper๋ฅผ ์ด์ฉํ์ฌ ๋น๋ ์ง์
- ์คํฌ๋ฆฝํธ ๊ท๋ชจ๊ฐ ์๊ณ ์ฝ๊ธฐ ์ฌ์
Q9. ๋์์ธ ํจํด์ด๋?
-
๋์์ธ ํจํด(Design Pattern)
- "์ํํธ์จ์ด๋ฅผ ์ค๊ณํ ๋ ํน์ ๋งฅ๋ฝ์์ ์์ฃผ ๋ฐ์ํ๋ ๊ณ ์ง์ ์ธ ๋ฌธ์ ๋ค์ด ๋ ๋ฐ์ํ์ ๋ ์ฌ์ฌ์ฉํ ํ ์ ์๋ ํ๋ฅญํ ํด๊ฒฐ์ฑ "
-
์ฑ๊ธํค ํจํด(Singleton Pattern)
- ๊ฐ์ฒด๋ฅผ ํ๋๋ง ์์ฑํ๋ฉฐ, ์ด๋์๋ ์ด๋ฏธ ์์ฑ๋ ๊ฐ์ฒด๋ง์ ์ฐธ์กฐํ๋๋ก ํ๋ ํจํด
-
ํฉํ ๋ฆฌ ํจํด(Factory Pattern)
- ๊ฐ์ฒด๊ฐ ์์กด์ฑ์ ์ค์ด๊ธฐ ์ํด ๊ฐ์ฒด์ ์์ฑ๊ณผ ๋ฐ์ดํฐ ์ฃผ์ ๋ง ๋ด๋นํ๋ Factory ํด๋์ค๋ฅผ ์ ์ํ๊ณ , ย ๊ฐ๋ฐ ์ฝ๋ ๋ถ๋ถ์์๋ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ๋ค ์ฌ์ฉํจ์ผ๋ก์ ์์กด์ฑ์ ์ค์ด๋ ๋ฐฉ์
-
์ต์ ๋ฒ ํจํด(Observer Pattern)
- ์ด๋ค ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋, ๊ทธ์ ์ฐ๊ด๋ ๋ชจ๋ ๊ฐ์ฒด๋ค์๊ฒ ์ํ๋ณ๊ฒฝ์ ์๋ฆฌ๋ ๋์์ธ ํจํด
Q10. (MSP ๊ธฐ์ถ)ELK Stack ์ค๋ช
-
ELK Stack: ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊น ์์คํ . ๊ฐ๋ฐ์๋ค์ด ์๋ฒ์ ์ ๊ทผํด์ ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ๋ฅผ ๋ฐ์ ํ์๊ฐ ์๊ฒ ๋๋ค.
-
Elastic Search : ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐํ ๊ฒ์ ๋ฐ ๋ถ์ ์์ง
-
Kibana : ๋ฐ์ดํฐ ์๊ฐํ(๋์๋ณด๋ํ)
-
Logstash : ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ (์ฌ๋ฌ ์๋ฒ์ ๋๋์ ๋ก๊ทธ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด ๋ง๋ ์ถ์ํ ๋ ์ด์ด)
-
Beats : ๋ฐ์ดํฐ(๋ก๊ทธ) ์ ์ก (๊ธฐ์กด ELK์์ ELK Stack์ด ๋ ์ด์ )
Q11. ์๋น์ค ๋ฉ์(Service Mesh)๋?
- ์๋น์ค ๋ฉ์(Service Mesh)
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์์ ์๋น์ค๊ฐ ํต์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํนํ๋ ์ธํ๋ผ ๊ณ์ธต
- ์ธํ๋ผ ๊ณ์ธต์ ํ๋ก์๋ฅผ ํตํด ๊ฐ ์๋น์ค๋ฅผ ํธ์ถ
- ์๋น์ค ์ธ๋ถ์์ ์๋ํ๋ sidecar proxy๊ฐ ๋ชจ์ฌ ์๋น์ค ๋ฉ์๋ฅผ ๊ตฌ์ฑํ๋ค.
Q1. ๋๋ค(lambda)ํจ์๋? (์์ฑ์ค)
Q2. PEP8๋? (์์ฑ์ค)
Q3. ์์ฑ์(generator)๋? (์์ฑ์ค)
Q1. ๊ฐ๋น์ง ์ฝ๋ ์ ์ด๋?
-
๊ฐ๋น์ง ์ฝ๋ ์ (Garbage Collection): ์์คํ ์์ ๋์ด์ ์ฌ์ฉํ์ง ์๋ ๋์ ํ ๋น๋ ๋ฉ๋ก๋ฆฌ ๋ธ๋ญ์ ์ฐพ์ ์๋์ผ๋ก๋ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ์์์ผ๋ก ํ์ํ๋ ๊ฒ. ์์คํ ์์ ๊ฐ๋น์ง์ปฌ๋ ์ ์ ์ํํ๋ ๋ถ๋ถ์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๋ผ ๋ถ๋ฅธ๋ค.
-
์ฐธ๊ณ : ๋ ์ํ๊ณ ์์ด
Q2. JVM์ด๋?
- JVM(Java Virtual Machine)
- ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํ ๊ฐ์๋จธ์
- ์๋ฐ์ OS์ฌ์ด์ ์ค๊ฐ์ ์ญํ . OS๋ง๋ค ๋ ๋ฆฝ์ ์ธ ํ๋ซํผ์ผ๋ก JAVA๊ฐ ์คํ๋ ์ ์๊ฒ ํด์ค.
Q1. CentOS์ Ubuntu์ ์ฐจ์ด๋?
-
CentOS
- Redhat Linux Enterprise ๊ธฐ๋ฐ
- ๋คํธ์ํฌ, ์น์๋ฒ ๊ด๋ จํด ๋ง์ด ์ฌ์ฉ
- ์ ๋ฐ์ดํธ ๋๋ฆฌ๋ ์์ ์
- yum, rpm์ผ๋ก ํจํค์ง ๊ด๋ฆฌ
-
Ubuntu
- Debian ๊ธฐ๋ฐ
- ๋ฐ์คํฌํ์ฉ์ผ๋ก ์ฃผ๋ก ์ฌ์ฉ
- ์์ฃผ ์ ๋ฐ์ดํธ ๋๋ ์ ๋ฐ์ดํธ ๋ ํจํค์ง๊ฐ ์์ ๋ ๋๊น์ง ์๊ฐ์ด ๊ฑธ๋ฆผ
- .deb, apt-get ํจํค์ง๋ก ํจํค์ง ๊ด๋ฆฌ
Q2. ํ๋ก์ธ์ค์ ์ค๋ ๋๋?
-
Thread(์ฐ๋ ๋):ย ํ๋ก์ธ์ค๋ด์์ ๋์์ ์คํ๋๋๋ ๋ฆฝ์ ์ธ ์คํ ๋จ์๋ฅผ ๋งํจ, ์ฅ์ ์ผ๋ก๋ ์์์ ๋ง์ดย ์ฌ์ฉํ์ง ์๊ณ ๊ตฌํ์ด ์ฌ์ฐ๋ฉฐ ๋ฒ์ฉ์ฑ์ด ๋๋ค
-
Process(ํ๋ก์ธ์ค): ์ด์์ฒด์ ์์ ์คํ์ค์ธ ํ๋์ ํ๋ก๊ทธ๋จ(ํ๋ ์ด์์ ์ฐ๋ ๋๋ฅผ ํฌํจํ๋ค.)
-
Threadย ์ฅ์
- ๋น ๋ฅธ ํ๋ก์ธ์ค ์์ฑ
- ์ ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ
- ์ฌ์ด ์ ๋ณด ๊ณต์
-
Thread ๋จ์
- ๊ต์ฐฉ์ํ์ ๋น ์ง ์ ์๋ค.
- ์ฐธ๊ณ : ๊ต์ฐฉ์ํ๋ย ๋ค์คํ๋ก๊ทธ๋๋ฐ ์ฒด์ ์์ ํ๋ ๋๋ ๊ทธ ์ด์์ ํ๋ก์ธ์ค๊ฐ ์ํ ํ ์ ์๋ย ์ด๋ค ํน์ ์๊ฐ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ์ํ.
Q3. ์ค๋ ๋์ ํ๋ก์ธ์ค์ ์ฐจ์ด (์์ฑ์ค)
Q4. ๋ฉํฐํ๋ก์ธ์ค์ ๋ฉํฐ์ค๋ ๋์ ์ฐจ์ด
-
๋ฉํฐ ํ๋ก์ธ์ค (Multi-process)
- ๊ฐ๋ : ์ฌ๋ฌ CPU(ํ๋ก์ธ์)๊ฐ ํ๋ ฅ์ ์ผ๋ก ํ๋ ์ด์์ ์์ ์ ์ฒ๋ฆฌ(๋ณ๋ ฌ์ฒ๋ฆฌ
- ์ฅ์
- ๋ ๋ฆฝ๋ ๊ตฌ์กฐ๋ก ์์ ์ฑ ๋์
- ํน์ ํ๋ก์ธ์ค ์ฅ์ ์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ ์์
- ๋จ์
- ์์ ๋์ด ๋ง์ ์๋ก ์ปจํ ์คํธ ์ค์์นญ์ด ์ผ์ด๋ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํด ์ฑ๋ฅ์ ํ๊ฐ ๋ฐ์
-
๋ฉํฐ ์ค๋ ๋ (Multi-thread)
-
๊ฐ๋ : ํ๋์ ํ๋ก์ธ์ค์ ์ฌ๋ฌ ์ค๋ ๋๋ก ์์์ ๊ณต์ ํ๋ฉฐ ์์ ์ ์ํ
-
์ฅ์
- ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ(ํ๋ก์ธ์ค ํ ๋น = ์์คํ ์ฝ ์ค์ด๋ฌ)
- ์ค๋ ๋๊ฐ ๋ฐ์ดํฐ ํต์ ๋น ๋ฆ (ํ ์์ญ์ ๊ณต์ )
-
๋จ์
- ๋ณ๋ชฉํ์ ๋ฑ ๋๊ธฐํ ๋ฌธ์
- ํ๋ ์ค๋ ๋์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ ์ฒด ํ๋ก์ธ์ค ์ํฅ
-
Q5. ์๋ฒ๋ฅผ ์ด๋ป๊ฒ ์ ์? ์ฌ์ฉํ๋ ๋๊ตฌ๋ ๋ฐฉ๋ฒ?
- ssh๋ฅผ ํตํด ์ ์
- Public Key & Private key์ ํคํ์ด ๋ฐฉ์์ผ๋ก ID/PW๋ณด๋ค ์์
Q6. IP๋ฅผ ํ์ธํ๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋? ์์ ์ public ip๋ฅผ ํ์ธํ๋ ค๋ฉด?
- ifconfig๋ฅผ ์ฌ์ฉํ๋ฉด ip๋ฅผ ํ์ธํ ์ ์๋ค.
- public ip ํ์ธ = curl ifconfig.co / curl ifconfig.me
Q7. ํน์ ๋๋ฉ์ธ์ ip๋ฅผ ์กฐํํ๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋?
- nslookup์ ์ฌ์ฉํด ip๋ฅผ ์กฐํํ ์ ์๋ค.
- ๋๋ฉ์ธ ์ง์ ์ ์ฐจ
- ๋ก์ปฌ์
/etc/hosts
ํ์ผ์ ์๋ ๋ด์ฉ์ ํ์ธ - ์์ ๊ฒฝ์ฐ
/etc/resolv.conf
ํ์ผ์ ์ ์ฅ๋ ๋ค์์๋ฒ๋ก ์ง์ - ๋ค์์๋ฒ์์ ๋์ง ์์ ๊ฒฝ์ฐ public domain server๋ก ์ง์
- ๋ก์ปฌ์
Q8. ์น ์๋ฒ ํน์ DB ๋ฑ์ ์๋ฒ๋ค์ ํ์ธํ๋ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋?
- telnet ํน์ nc๋ก ํ์ธํ๋ค(ping์ ์๋ชป๋ ๋ต๋ณ = ํฌํธ ์ง์ ์ด ๋ถ๊ฐํ๋ฉฐ ICMP ํจํท์ ์ฐจ๋จํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์)
- telnet
Q1. (MSP ๊ธฐ์ถ) OSI 7๊ณ์ธต์ด๋?
๋คํธ์ํฌ์์ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ ์ 7๋จ๊ณ๋ก ๋๋ ๊ฒ(ํต์ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ํ์ )
- Layer7 : ์์ฉ / UI, Application (DHCP, DNS, FTP, HTTP, TELNET)
- Layer6 : ํํ / ์ธ์ฝ๋ฉ, ๋์ฝ๋ฉ, ์ํธํ (JPEG, MPEG)
- Layer5 : ์ธ์ / ์ธ์ ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌ (SSH, TLS)
- Layer4 : ์ ์ก / TCP, UDP
- Layer3 : ๋คํธ์ํฌ / IP, ARP, RARP, ICMP, IGMP
- Layer2 : ๋ฐ์ดํฐ๋งํฌ / MAC์ฃผ์, PPP, ๋ธ๋ฆฌ์ง, ์ค์์น
- Layer1 : ๋ฌผ๋ฆฌ / ์ ๊ธฐ์ ์ ํธ, ํ๋ธ, ๋ฆฌํผํฐ
Q2. (MSP ๊ธฐ์ถ) TCP/IP 4๊ณ์ธต๋ชจ๋ธ์ด๋?
- Layer4(5,6,7) : ์์ฉ / HTTP, FTP, Telnet, DNS, SMTP
- Layer3(4) : ์ ์ก / TCP, UDP
- Layer2(3) : ์ธํฐ๋ท / IP, ARP, RARP,
- Layer1(1,2) : ๋คํธ์ํฌ์์ธ์ค / Ethernet, Token Ring, PPP
Q3. (MSP ๊ธฐ์ถ) TCP์ UDP์ ์ฐจ์ด
- TCP : ์ฐ๊ฒฐํ ํ๋กํ ์ฝ / 1:1 ํต์ ๋ฐฉ์ / ๋ณด์์ฑ์ด ๋์ ๋์ UDP๋ณด๋ค ์ ์ก์๋๊ฐ ๋๋ฆผ / ์ ๋ขฐ์ฑ
- UDP : ๋น์ฐ๊ฒฐํ ํ๋กํ ์ฝ / 1:N, N:N ํต์ ๋ฐฉ์ / ๋ณด์์ฑ์ด ๋ฎ์ง๋ง ์๋๊ฐ ๋น ๋ฆ / ์คํธ๋ฆฌ๋ฐ, VoIP
Q4. (MSP ๊ธฐ์ถ)3 Way Handshake, 4 Way Handshake ์ด๋
- 3 Way Handshake
- SYN / ์ฐ๊ฒฐ์์ฒญ
- SYN, ACK / ์๋ฝ
- ACK / ์๋ฝ ํ์ธ
- 4 Way Handshake
- FIN / ์ข ๋ฃ์์ฒญ
- ACK / ํ์ธ, ๋๊ธฐ์์ฒญ
- FIN / ์ข ๋ฃ์์ฒญ
- ACK / ์ข ๋ฃ ํ์ธ
Q5. (MSP ๊ธฐ์ถ) Bridge์ NAT ์ฐจ์ด
- NAT : ์ฌ์ค IP -> ๊ณต์ธ IP / ๊ณต์ ๊ธฐ
- Bridge : ์ฌ์ค IP X / ํธ์คํธ์ ๊ณต์ธ IP์ ๊ฐ์ ๋์ญ๋ IP ์ฌ์ฉ
Q6. L4์ L7 ๋ก๋๋ฐธ๋ฐ์์ ์ฐจ์ด
- L4 : IP + ํฌํธ / ํฌํธ ๊ธฐ๋ฐ ๋ฏธ๋ฌ๋ง / ๋ถํ๋ถ์ฐ ํนํ, ๊ณ ์ ๋ขฐ์ฑ
- L7 : IP + ํฌํธ + ํ์ด๋ก๋(์ ์ก๋๋ ๋ฐ์ดํฐ) / ์ฌ์ธ, ๊ณ ๋น์ฉ / ์ปจํ ์ธ ๊ธฐ๋ฐ ํธ๋ํฝ ์ ์ด, QoS, ํํฐ๋ง, ํจํท๋ถ์
Q7. (CSP ์์)Load Balancer๋?
- ๋ก๋๋ฐธ๋ฐ์๋? ๋ ํน์ ์ ์ด์์ ์ค์์ฒ๋ฆฌ์ฅ์น ํน์ ์ ์ฅ์ฅ์น์ ๊ฐ์ ์ปดํจํฐ ์์๋ค์๊ฒ ์์ ์ ๋๋๋ ์ฅ์น(์๋ฒ ๋ถ์ฐ ์ฅ์น)
- ๋ก๋๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ
Q8. ์ธ์ ๊ณผ ์ฟ ํค๋? ์ฌ์ฉ์ด์
- ์ธ์
๊ณผ ์ฟ ํค์ ๊ณตํต์ : Connectionless(๋น์ฐ๊ฒฐ์งํฅ), statelessํ ํน์ฑ์ ๊ฐ์ง HTTP ํ๋กํ ์ฝ์ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํ ์ฅ์น
- Connectionless: ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ ์ ๊ทธ ์์ฒญ์ ๋ง๋ ์๋ต์ ๋ณด๋ธํ ์ฐ๊ฒฐ์ ๋๋๋ค.
- Stateless: ์ํ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๋๋ค.
- ์ธ์
(Session)
- ์ํ ์ ๋ณด๋ฅผ ์๋ฒ์ ์ ์ฅ
- ์๋๊ฐ ์๋์ ์ผ๋ก ๋๋ฆฌ๋ค (์๋ฒ ์ฒ๋ฆฌ ํ์)
- ๋ณด์ ๋ฉด์์ ์ฐ์ํ๋ค
- ์ฟ ํค(Cookie)
- ์ํ ์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ์ฅ
- ์๋๊ฐ ์๋์ ์ผ๋ก ๋น ๋ฅด๋ค (์๋ฒ ์ฒ๋ฆฌ ๋ถํ์)
- ๋ณด์ ๋ฉด์์ ์ทจ์ฝ(๋ก์ปฌ์ ์ ์ฅ๋ ์ฟ ํค / request์ ์ค๋ํ ์ฐ๋ ค)
Q9. ๋ณด์์ฑ์ด ๋ฎ์ Cookie ๋์ Session์ ์ฌ์ฉํ๋ฉด ๋๋๋ฐ ์ํ๋ ์ด์ ?
- ๋ชจ๋ ์ ๋ณด๋ฅผ Session์ ์ ์ฅํ๋ฉด ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๊ฒ ๋์ด ์๋ฒ์ ๋ฌด๋ฆฌ๊ฐ ๊ฐ๊ธฐ ๋๋ฌธ
Q10. Envoy๋? (์์ฑ์ค)
- Envoy: L3/4 ๊ณ์ธต๊ณผ L7๊ณ์ธต์ ์ปค๋ฒํ๋ ํ๋ก์ ์๋ฒ์ด๋ค.
- L3/L4 ํ๋ก์: SSL/TLS ์ธ์ฆ ์ฒ๋ฆฌ
- L7 ํ๋ก์: ์๋ก ๋ค๋ฅธ URL์ ๋ํด ๋ค๋ฅธ ๋ฐฑ์๋๋ก ์ฐ๊ฒฐ
- Transparent proxy : ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋ด์ฉ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋์ ์๋ฒ๋ก ๋ณด๋ธ๋ค.
- ์ฌ์ฉ ์: ์ฟ ๋ฒ๋คํฐ์ค์์ Istio, Contour๋ฑ์ Data plane์ผ๋ก ์ฌ์ฉ
Q1. (CSP ์์) RAID๋?
- RAID๋? ์ฌ๋ฌ ๊ฐ์ ๋์คํฌ๋ฅผ ๋ฌถ์ด ๋ฐ์ดํฐ๋ฅผ read, write ํ๋ ๋ฐฉ์
Q2. RAID์ ์ฅ์
- RAID์ ์ฅ์
- ์ฑ๋ฅ ํฅ์
- ํจ์จ์ฑ ์ฆ๋
- ์์ ์ฑ ์ฆ๋
- ๊ฐ์ฉ์ฑ ์ฆ๋
Q3. RAID์ ์ข ๋ฅ
- RAID์ ์ข
๋ฅ (RAID 1~6)
- RAID 0: Stripe. ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ๋ฐฐ์น ๋ฐ ๋์คํฌ IO ์๋ ํฅ์
- RAID 1: Mirror(๋์คํฌ 1,2 ์์ชฝ์ ๋ฐ์ดํฐ ์ ์ฅ). ์์ ์ฑ ํฅ์. RAID0๊ณผ ๋น๊ตํด ๋ฐ์ดํฐ write ์๋๋ ๋์ผํ๋ read์๋ 2๋ฐฐ
- RAID 5: ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ถ์ฐ & ํฌ์ค์ฒดํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ ์์ ์ฑ ๋์
- RAID 0 + 1: mirror & stripe ๋์ ๊ตฌ์ฑํด ์๋ + ์์
Q4. (MSP ๊ธฐ์ถ)์๋ฒ์ ์ข ๋ฅ: NFS, LDAP, AD, DNS ์๋ฒ๋?
- NFS : ์ฌ๋ง์ดํฌ๋ก / ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ PC ํ๋๋ฅผ ์ฌ์ฉ / ์ค์์ง์คํ
- LDAP : DAP ๊ฒฝ๋ / TCP/IP ๋๋ ํ ๋ฆฌ ์๋น์ค ์กฐํ, ์์ ํ๋กํ ์ฝ
- AD : ๊ณ์ , PC, ์ ์ฑ ์ ๋ณด ์ ์ฅ
- DNS : ๋๋ฉ์ธ IP ๋ณํ / ์๋๋ Hosts ํ์ผ / root(.) โ top-lv -second-lv - sub
Q1. (CSP ์์)์น๋ฐฉํ๋ฒฝ์ด ์ผ๋ฐ ๋ฐฉํ๋ฒฝ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง?
-
๊ณตํต์ : ์ ์์ ๊ณต๊ฒฉ์ ๋ํ ํ์ง ๋ฐ ์ฐจ๋จ
-
๋ฐฉํ๋ฒฝ(Firewall = FW)
- ๋ก์ปฌ ํด๋ผ์ด์ธํธ๋ฅผ ๋ณดํธ(๋ณดํธ ๋์ ์์คํ ๊ณผ ๊ทธ ์ธ ์์คํ ์ ๊ฒฝ๊ณ์ ์ญํ )
- IP์ Port๋ฅผ ์ ์ดํด ์ธ๊ฐ๋ ์ฌ์ฉ์๋ง ์ ๊ทผ ํ์ฉ
- OSI 7๊ณ์ธต ๊ธฐ์ค: L3 ~ L4(Network)์ ๋ฐฉ์ด
-
์น ๋ฐฉํ๋ฒฝ(Web Application Firewall = WAF)
- ์น ์๋ฒ๋ง์ ๋ณดํธํ๊ธฐ ์ํด ์ค๊ณ๋ ์ ๋ณด ๋ณดํธ ์์คํ
- HTTP๋ก ์๋๋๋ ๊ณต๊ฒฉ(DDoS ๋ฑ) ์ฐจ๋จ
- OSI 7๊ณ์ธต ๊ธฐ์ค: L7(Application)์ ๋ฐฉ์ด
Q2. IPS๋?
- ์นจ์
๋ฐฉ์ง ์์คํ
(IPS: Intrusion Detection System)
- ์ ๋ฐ์ ์ธ ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ํ ์นจํด์ฌ๊ณ ๋์
- ๋ชจ๋ ํ๋กํ ์ฝ์ ๋ํ ์ทจ์ฝ์ ๊ด๋ จ ํจํด DB๋ฅผ ํตํ ํ์ง/์ฐจ๋จ
- OSI 7๊ณ์ธต ๊ธฐ์ค: L3 ~ L7์ ๋ฐฉ์ด (FW, WAF์ ๋นํด ์ธ๋ถ ์ค์ ์ด๋ ค์)
Q3. Parameter ๋ณ์กฐ ๊ณต๊ฒฉ์ด๋?
- ๊ณต๊ฒฉ์๊ฐ HTTP ํต์ ์ POST์์ฒญ์ด๋ URL์ ๊ฐ์ ์์๋ก ์กฐ์ ํด ๋ณด๋ด๋ ๊ฒ.
- ex. POST์์ฒญ์์ ์ฟ ํค์ ์ฐ์ฌ์ง ๊ถํ์ ์กฐ์ํด์ ๋ณด๋ด๊ธฐ => ํด๊ฒฐ๋ฒ: ํน์ ์ ์ ์ ๊ถํ์ ์๋ฒ์์ ๊ทธ๋๊ทธ๋ ๋ถ์ฌ & ์๋ฒ์์ ๋งค๋ฒ ์ธ์ฆ์ ๋ณด์ ๋ฌด๊ฒฐ์ฑ์ ์ฒดํฌ, ์์ํ ์๋๋ค์ ๊ฐ์งํด ์ฐจ๋จ
- ex2. URL์ ํค์๋๋ฅผ ๋ฐ๊ฟ ์ ๊ทผํด ๋น๋ฐ๊ฒ์๋ฌผ์ด๋ ๊ฐ์ธ์ ๋ณด์ ์ ๊ทผ => ํด๊ฒฐ๋ฒ: ์ ์ ์ธ๋ฑ์ค ๊ฐ์ ํ ํฐ์ ํด์๊ฐ์ผ๋ก ์ค์
Q4. XSS๊ณต๊ฒฉ์ด๋?
- XSS(Cross Site Scripting): ์ฌ์ดํธ์ ๋ช
๋ น์ด ์ฝ๋, ์คํฌ๋ฆฝํ
์ ์ง์ด ๋ฃ๋ ๊ฒ.
- ex. ๊ฒ์ํ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฝ์ ํด ์คํ => ํด๊ฒฐ: XSSํํฐ๋ ๊ฒ์ํ ํ์ดํธ๋ฆฌ์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ, ์ฌ์ฉ์ ์ ๋ณด๊ฐ ๋ด๊ธด ์ฟ ํค๋ HTTPOnly ์์ฑ์ ๊ฑธ์ด JS๊ฐ ์ ๊ทผ ๋ชปํ๋๋ก ์ค์
Q5. SQL Injection์ด๋?
- SQL Injection: SQL ์ฟผ๋ฆฌ๋ฅผ ์กฐ์ํด ๊ด๋ฆฌ์์ธ๊ฒ์ฒ๋ผ ์กฐ์. ์ผ๋ถ๋ฌ SQL ์ค๋ฅ๋ฅผ ๋ฐ์์ํจ ๋ค ์ค๋ฅ ๋ด์ฉ์ ๋ณด๊ณ DB๊ตฌ์กฐ๋ฅผ ํ์ . => SQL๋ฌธ์ ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด๊ฐ๋ ๊ฐ์ ๊ฒ์ฆํ๋ค & ์ค๋ฅ ์ ์ฉ ํ์ด์ง๋ฅผ ๋ฐ๋ก ๋๋ค & ์ฌ์ฉํ๋ ์ธ์ด๋ ํ๋ ์์ํฌ์ ๊ถ์ฅ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅธ๋ค.
Q6. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ ์ ์ฅ๋ฒ
- ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ ํ๋ฌธ์ผ๋ก ๋ฃ์ด์๋ ์๋๋ค. ๋ฐ๋์ ํด์๊ฐ์ผ๋ก ์ ์ฅํ๊ณ , ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ ๋ฌด๋ ฅํํ๊ธฐ์ํด ์ํ (salting)์ ํด์ผํ๋ค.
- ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ(rainbow table): ์ด๋ค ์ ๋ ฅ๊ฐ์ด ์ด๋ค ๊ฐ์ผ๋ก ํด์ฑ๋๋์ง ๋ชจ์๋ ํ ์ด๋ธ.
- ์ํ (salting): ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ทธ๋๋ก ํด์ฑํ์ง ์๊ณ ๋๋ค ๊ฐ(salt)์ ๋ํด ํด์ฑ.
Q1. (CSP ์์)Hadoop์ด๋?
-
Hadoop์ด๋? ์ํ์น ์ํํธ์จ์ด ์ฌ๋จ(Apache Software Foundation)์์ ๋ง๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์คํ์์ค ์ํํธ์จ์ด ํ๋ก์ ํธ. ํ๋์ ๋ํ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ/์ ์ฅํ๋ ๋์ , ํ๋์จ์ด๋ฅผ ํด๋ฌ์คํฐ๋ง ํด ๋๋์ ๋ฐ์ดํฐ์ ์ ๋ณ๋ ฌ๋ก ๋ถ์ํ ์ ์๋ค. (๊ด๋ จ AWS ์ํ: Amazone EMR)
- ์ฅ์ : ํ์ฅ์ฑ, ๋ผ์ด์ ์ค ๋น์ฉ ๋ฌด๋ฃ
- ๋จ์ : ์ด์ ๋์ด๋ ๋์
-
์ฐธ๊ณ : Velog - Hadoop์ด๋?
Q2. (CSP ์์)RDBMS / NoSQL์ ์ฐจ์ด์
-
RDBMS(Relational Database Management System): ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ . ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ธฐ์ด๋ก ๋๊ณ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ 2์ฐจ์ ํ ์ด๋ธ ํํ๋ก ํํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ค๋ฅธ ํ ์ด๋ธ๋ค๊ณผ ๊ด๊ณ๋ฅผ ๋งบ๊ณ ๋ชจ์ฌ์๋ ์งํฉ์ฒด. ๊ด๊ณ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด **์ธ๋ ํค(foreign key)**๋ฅผ ์ฌ์ฉํด ํ ์ด๋ธ๊ฐ join์ด ๊ฐ๋ฅํ๋ค.
-
NoSQL(Not Only SQL): ํ ์ด๋ธ๊ฐ ๊ด๊ณ๋ฅผ ์ ์ํ์ง ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค(ํ ์ด๋ธ๊ฐ join ๋ถ๊ฐ). ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋จ์ ์ธ ์ฑ๋ฅ์ ํฅ์ ์ํค๊ธฐ ์ํด ๋ฑ์ฅ. ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ํฌ๊ธฐํ๋ ๋น์ฉ์ ๊ณ ๋ คํด ์ฌ๋ฌ๋์ DB์ ๋ถ์ฐํด ์ ์ฅํ๋ scale-out์ ๋ชฉํ๋ก ๋ฑ์ฅ
Q2. RDBMS / NoSQL์ ์ฅ๋จ์
-
RDBMS(Relational Database Management System)
-
์ฅ์
- ๋ช ํํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณด์ฅ(์คํค๋ง)
- ๋ฐ์ดํฐ ์ค๋ณต ์์ด ์ ์ฅ
-
๋จ์
- ์์คํ ์ด ์ปค์ง ๊ฒฝ์ฐ ์ฟผ๋ฆฌ๋ฌธ์ด ๋ณต์ก(JOIN๋ฌธ์ด ๋ง์์ง)
- Scale-up๋ง ์ง์(์ฑ๋ฅํฅ์์ ๋น์ฉ์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ์ ์์)
- ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ๋ฒ๊ฑฐ๋กญ๊ณ ์ด๋ ค์
-
-
NoSQL(Not Only SQL)
- ์ฅ์
- ์ ์ฐํ๊ณ ์์ ๋ก์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ์ ์ฅ ๋ฐ์ดํฐ ์กฐ์ & ์๋ก์ด ํ๋ ์ถ๊ฐ ์ฉ์ด
- Scale Up & Scale Out ๊ฐ๋ฅ
- ๋จ์
- ๋ฐ์ดํฐ ์ค๋ณต ๋ฐ์ ์ฐ๋ ค
- ๋ช ํํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณด์ฅ ์ํจ
- ์ฅ์
Q3. NoSQL DB์ ์ข ๋ฅ
- Key-Value Database
- ๋ฐ์ดํฐ๊ฐ key, value ์์ผ๋ก ์ ์ฅ
- ์ง์ ์๋๊ฐ ๊ต์ฅํ ๋น ๋ฅธ ํธ
- ๋ํ ์: Redis, AWS Dynamo DB
- Document Database
- key, document(๊ณ์ธต ํํ = ๊ฐ์ฒด์ ์ ์ฌ) ํํ๋ก ์ ์ฅ
- ๊ฒ์์ ์ต์ ํ
- ์ฌ์ฉ์ด ๋ฒ๊ฑฐ๋กญ๊ณ ์ฟผ๋ฆฌ๊ฐ SQL๊ณผ ์์ด
- ๋ํ ์: Mongo DB
- Wide Column Database
- Column - Family ๋ชจ๋ธ ๊ธฐ๋ฐ
- ํค๋ Row(ํค ๊ฐ), Column-family, Columnn-name์ ๊ฐ์ง๋ค.
- ๋ํ ์: HBase
- Graph Database
- Node, Edge, Property์ ํจ๊ป ๊ทธ๋ํ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉ
- ๋ฐ์ดํฐ๊ฐ ๊ด๊ณ๊ฐ ํ์์ ํค์ผ ๊ฒฝ์ฐ ์ ํฉ(SNS, ์ถ์ฒ์์ง, ํจํด์ธ์์ ์ ํฉ)
- ๋ํ ์: Neo4J
Q4. ์ธ๋ฑ์ค๋?
์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถ์ผ์ ์์ด์ํ ์ด๋ธ์ ๋ํ ๋์์ ์๋๋ฅผ ๋์ฌ์ฃผ๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ผ์ปซ๋๋ค. ์ธ๋ฑ์ค๋ ํ ์ด๋ธ ๋ด์ 1๊ฐ์ ์ปฌ๋ผ, ํน์ ์ฌ๋ฌ ๊ฐ์ ์ปฌ๋ผ์ ์ด์ฉํ์ฌ ์์ฑ๋ ์ ์๋ค. ๊ณ ์์ ๊ฒ์๋์๋ฟ๋ง ์๋๋ผ๋ ์ฝ๋ ์ ๊ทผ๊ณผ ๊ด๋ จ ํจ์จ์ ์ธ ์์ ๋งค๊น ๋์์ ๋ํ ๊ธฐ์ด๋ฅผ ์ ๊ณตํ๋ค. ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ ๋ฐ ํ์ํ ๋์คํฌ ๊ณต๊ฐ์ ๋ณดํต ํ ์ด๋ธ์ ์ ์ฅํ๋ ๋ฐ ํ์ํ ๋์คํฌ ๊ณต๊ฐ๋ณด๋ค ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ ์ด๋ธ๊ณผ ํด๋ฌ์คํฐ์ ์ฐ๊ด๋์ด ๋ ๋ฆฝ์ ์ธ ์ ์ฅ ๊ณต๊ฐ์ ๋ณด์ ํ๊ณ ์๋ ๊ฐ์ฒด(object)์ด๋ค. ์ฌ์ฉ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์๋ฃ๋ฅผ ๋์ฑ ๋น ๋ฅด๊ฒ ์กฐํํ๊ธฐ ์ํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ๋ค.
DB์์ ์๋ฃ๋ฅผ ๊ฒ์ํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ FTS(Full Table Scan) : ํ ์ด๋ธ์ ์ฒ์ ๋ถํฐ ๋๊น์ง ๊ฒ์ํ๋ ๋ฐฉ๋ฒ Index Scan : ์ธ๋ฑ์ค๋ฅผ ๊ฒ์ํ์ฌ ํด๋น ์๋ฃ์ ํ ์ด๋ธ์ ์ก์ธ์ค ํ๋ ๋ฐฉ๋ฒ.
Q5. ์คํ๊ณผ ํ๋?
-
์คํ(STACK)
- LIFO(Last In First Out)์ํ์ ์ ์ถ ๊ตฌ์กฐ
- push();๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ ๋ ฅ, pop();์ ์ด์ฉํ ๋ฐ์ดํฐ ์ถ๋ ฅ
- ์) ์์คํ ์คํ : ํจ์์ ํธ์ถ๊ณผ ๋ณต๊ท ์์๋ ์คํ์ ๊ตฌ์กฐ๋ฅผ ์์ฉํ์ฌ ๊ด๋ฆฌ
- ์ญ์ ๋ฌธ์์ด ๋ง๋ค๊ธฐ, ์์์ ๊ดํธ ๊ฒ์ฌ, ์์์ ํ์ ํ๊ธฐ๋ฒ ๋ณํ
-
ํ(QUEUE)
- FIFO(First In First Out)์์ ์ ์ ์ถ ๊ตฌ์กฐ
- enQueue();๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ ๋ ฅ, deQueue();๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ถ๋ ฅ
- ์) ์ฐ์ ์์๊ฐ ๊ฐ์ ์์ ์์ฝ(์ธ์ ๋๊ธฐ์ด), ์ ์ ์ ์ถ์ด ํ์ํ ๋๊ธฐ์ด(ํฐ์ผ ์นด์ดํฐ)
- Linear Queue(์ ํํ)๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅ ์ด๋ฌํ ๋ฌธ์ ์ ์ ๋ณด์ํ์ฌ Circular Queue(์ํ ํ)๊ฐ ๋์ด
Q1. (MSP ๊ธฐ์ถ, CSP ์์)์ปจํ ์ด๋๋? (์์ฑ์ค)
- ์ปจํ ์ด๋(Container): ์ ํ๋ฆฌ์ผ์ด์ & ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๋ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํ ๊ณต๊ฐ(ํ๊ฒฝ์ ๋ํ ๋ํ๋์๋ฅผ ๊ด๋ฆฌํ๊ธฐ ํธ๋ฆฌ) / OS ๊ฐ์ํ X ํ๋ก์ธ์ค
- VM๊ณผ์ ์ฐจ์ด์
- VM: Host OS ์์ Guest OS๋ฅผ ๊ธฐ๋ํ๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋๊ฐ ๋ง์ด ๋ฐ์ํ๋ค.
- ์ปจํ ์ด๋: ํธ์คํธ์ ๋ฆฌ๋ ์ค ์ปค๋์ ์ฌ์ฉํ๋ฉด์ ํ๋ก์ธ์ค๋ก ๊ธฐ๋.
Q2. (MSP ๊ธฐ์ถ)์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ์ด๋?
- ๋ง์ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ. ์ปจํ ์ด๋๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ๋ฐฐ์นํ๊ณ ๊ด๋ฆฌ.
- ์ปจํ ์ด๋ ์ค์ผ์ฅด๋ง / ํด๋ฌ์คํฐ๋ง / ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ / ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง
Q3. (MSP ๊ธฐ์ถ)Docker์ Kubernetes ์ฐจ์ด์ (์์ฑ์ค)
- ๋์ปค(Docker) : ์คํ์์ค ์ปจํ ์ด๋ ๋ฐํ์ ํ๊ฒฝ.
- ์ฟ ๋ฒ๋คํฐ์ค(Kubernetes) : ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ํด / Docker๋ฅผ ๊ด๋ฆฌํ๋ ๋๊ตฌ / ๋น์ทํ ํด = Docker Swarm, EKS, Nomad
Q4. (MSP ๊ธฐ์ถ)DevOps, DevSecOps๋?(์์ฑ์ค)
- ๋ฐ๋ธ์ต์ค(DevOps): ์ ์์ผ์ ๊ฐ๋ฐ๊ณผ ์ด์ ๊ฐ์ ๋ฐ ์๋ํ๊ฐ ํฉ์ณ์ง ๋ชจ๋ธ / ๊ฐ๋ฐ, ๋ฐฐํฌ ๋ด๋น์๋ค์ ํ๋์ ํ / ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ๋ฅผ ์๋ก ์ ์ตํฉ์ํค๊ณ ์ํต์ ์ํ ํ๊ฒ ํ๊ธฐ ์ํ ๊ฐ๋ฐ๋ก
- DevSecOps : ์ ๊ณผ์ ์ ๋ณด์์ ๋นํธ์ธ / ํ์ดํ๋ผ์ธ์์ ์ ๊ธฐ์ ๊ฒฐํฉ
Q5. (CSP ์์)CI/CD๋?
-
CI(Continuous Integration)- ์ง์์ ํตํฉ
- ๊ฐ๋ฐ์๋ค์ด ์์ฃผ ์์ค์ฝ๋๋ฅผ ๋ฉ์ธ๋ผ์ธ์ ๋จธ์งํ๋ค.
-
CD(Continuous Delivery / Continuous Deployment) - ์ง์์ ์ ๋ฌ / ๋ฐฐํฌ
- ์์ค์ ์ฅ์ ์ ๋ฐ์ดํธ๋ฅผ ๋น๋ ๋ฐ ํ ์คํธํ ํ, ์คํ ์ด์งํ๋ ์๋ํ๋ ํ๋ฆ
- Continuous Delivery: CI ์๋ฃ -> CD ์๋ฃ ํ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ ์ํ๋ฅผ ์ ์งํด์ผํ๋ค(์ฌ๋์ ๊ฒฐ์ ์ ์ํด ๋ฐฐํฌ).
- Continuous Deployment: CD์๋ฃ ํ ์์ ํ ๋ฐฐํฌ๋๋ ๊ฒ
-
CI/CD์ ์ฅ์
- ์ํํธ์จ์ด ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค ์๋ํ: ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๋ฐฐํฌ
- ๊ฐ๋ฐ์ ์์ฐ์ฑ ํฅ์: ์๋ ์์ ๋ถ๋ด ๋๊ธฐ
- ๋ฒ๊ทธ ๋ฐ๊ฒฌ / ํด๊ฒฐ: ์์ฃผ & ํฌ๊ด์ ์ผ๋ก ํ ์คํธ๋ฅผ ์งํํด ํฐ ๋ฌธ์ ๋ก ๋ฐ๊ฒฌํ๊ธฐ ์ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌ
- ์ ๋ฐ์ดํธ ๋น ๋ฅด๊ฒ ์ ๊ณต
Q7. IaC๋?
- IaC(Infrastructure as Code) : ์๋ ๋์ ์คํฌ๋ฆฝํธ๋ก ์ปดํจํ ์ธํ๋ผ ๊ตฌ์ฑ
Q8. (MSP ๊ธฐ์ถ) Ansible ์ด๋? ์ฌ์ฉ ์ด์
- ์ค์๋ธ(Ansible): IaC ์งํฅ ์๋ํ ๊ด๋ฆฌ ๋๊ตฌ
- ์ค์๋ธ์ ์ธ๊ฐ์ง ์์ = Inventory(์ด๋์) & Playbook(๋ฌด์์) & Module(์ด๋ป๊ฒ)
- ๋ฉฑ๋ฑ(Idempotency)์ฑ: ์ฌ๋ฌ๋ฒ ์ ์ฉํด๋ ๊ฒฐ๊ณผ๊ฐ ๋์ผ
- ์ธํ๋ผ ํ๋ก๋น์ ๋ ํ ์๋ฒ ์ค์ (configuration) ๊ด๋ฆฌ์ ํนํ
- ์ ์ธํ๊ณผ ์ ์ฐจํ์ ํผํฉ(hybrid)
Q9. Terraform์ด๋?
- Terraform:
- HashiCorp์์ Go์ธ์ด๋ก ๊ฐ๋ฐ๋ IaC ๋๊ตฌ
- (์ธํ๋ผ) ํ๋ก๋น์ ๋(provisioning)์ ํนํ
- HCL(Hashcorp Configuration Language)๋ฅผ ์ฌ์ฉํด ํด๋ผ์ฐ๋ ๋ฆฌ์์ค๋ฅผ ์ ์ธํ๋ค.
Q10. (๊ธฐ์ ์คํ ๊ด๋ จ)TKG๋? TKG์ ์ฅ๋จ์ (์์ฑ์ค)
Q11. Jira, Trello, Confluence๋?
- Jira:
- Trello:
- Confluence:
Q12. Octant๋?
- VMware์์ ๊ฐ๋ฐํ Kubernetes ํด๋ฌ์คํฐ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณผ ์ ์๋ ์คํ ์์ค ์น ์ธํฐํ์ด์ค
Q13. Lens๋?(์์ฑ์ค)
Q14. ReDii๋?
- ReDii: ๋์ปค ์ด๋ฏธ์ง ์ ์ฅ์ ์ค ํ๋