ComputerScience/ComputerNetwork

[Computer Network] Chap11. Cloud Computing

κΉ€κ°œλ―Έ_ 2023. 12. 19. 13:22

 

 

 

 

 

11. Cloud Computing 

- ν•„μš”ν•  λ•Œ ν•„μš”ν•œ 만큼 μ‚¬μš©ν•˜λŠ” 것 

-> μ–΄λ”” μ‹€μ‘΄ν•˜λŠ”μ§€λŠ” 잘 λͺ¨λ₯΄κ² λŠ”λ°? κ΅¬λ¦„ μ†μ˜ 컴퓨터, μ•ˆκ°œκ°™μ€ κ°œλ…

 

- ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… κ°œλ…μ˜ 탄생 λ°°κ²½ 

- κΉ¨μ„œ μ‡Όν•‘ν•˜λŠ” μ‹œκ°„μ—λŠ” CPUκ°€ 많이 λŒμ•„κ° -> λ‚˜λ¨Έμ§€ μ‹œκ°„(좜근, μ·¨μΉ¨ μ‹œκ°„)μ—λŠ” CPUκ°€ λ…Όλ‹€

- λ–¨μ–΄μ§„ CPU μ‚¬μš©λ₯ μ„ λ†’μ΄μž -> λ³ΈμΈμ΄ κ°€μ§„ CPU λ””μŠ€ν¬ λ„€νŠΈμ›Œν¬λ₯Ό 벀처 νšŒμ‚¬μ—κ²Œ μ„œλΉ„μŠ€ 제곡

- λ”± μ“΄ 만큼만 λˆμ„ λ‚΄κ³  μ‹Άλ‹€ -> 2010λ…„λŒ€, AWS νƒ„생

 

- λ²€μ²˜ νšŒμ‚¬ μž…μž₯ - μ„œλ²„ 개발자 + λ°μ΄ν„° μ„Όν„° ꡬ좕할 μ‚¬λžŒ + μš΄μš©ν•  μ‚¬λžŒ X (인간을 μ—†μ•°)

- μš°λ¦¬ νšŒμ‚¬ 내뢀에 컴퓨터가 μžˆμ„ ν•„μš” X -> μ˜€νžˆλ € μ„œλ²„ ν•˜λ“œμ›¨μ–΄λ₯Ό κ°–κ³  μžˆλŠ” 것이 골칫거리 

-> λ§€λ…„ 2% μ΄μƒ, μ„œλ²„λŠ” 무쑰건 죽을 수 μžˆλ‹€ -> κ·Έλƒ₯ μš°λ¦¬λŠ” μ†Œν”„νŠΈμ›¨μ–΄λ§Œ μ§œμ„œ 돌리면 μ•ˆλΌ?

 

** Public Computing의 3λŒ€ λͺ¨λΈ 

1. IaaS – Infrastructure as a Service

- ν•˜λ“œμ›¨μ–΄ + CPU + μ΄λ“€μ„ μ—°κ²°ν•˜λŠ” λ„€νŠΈμ›Œν¬ / κ·Έ μœ„μ— 가상머신과 OS

 ex) AWS // κ°€μƒλ¨Έμ‹ κ³Ό 게슀트 OS

2. PaaS – Platform as a service 

IaaS μœ„에 λ§Œλ“€μ–΄λ‘” SW, κ°œλ°œλ„ꡬ (middleware, 3rd party λΌμ΄λΈŒλŸ¬λ¦¬) ν•¨κ»˜ 제곡, κ°œλ°œ ν™˜κ²½ ꡬ좕

ex) κ΅¬κΈ€μ˜ TensorFlow λ°μ΄ν„° 뢄석 도ꡬ듀, MS Azure, Google App Engine 

3. SaaS – Service as a service 

μ„œλΉ„μŠ€λ₯Ό κ°€μ Έλ‹€κ°€ 씀, μ΄λ¦„λ§Œ λ°”κΎΌ μ„œλΉ„μŠ€, λŒ€λΆ€λΆ„ κ΅¬λ…ν˜• μ„œλΉ„μŠ€

ex) κ²½ν¬λŒ€ν•™κ΅ khu-mail (gmail) 

 

Public Cloud computing solution – κΈ€λ‘œλ²Œ IT κΈ°μ—…듀이 μ œ 3μžμ—κ²Œ 제곡, κ΅¬κΈ€, AWS (IaaS, PaaS, SaaS)

Private Cloud computing solution – OpenStack / μ‚Όμ„±μ „μžκ°€ λ‚΄λΆ€ λΆ€μ„œμ—κ²Œ 곡개 -> private

-> λ³ΈμΈμ΄ 인프라 ꡬ좕, λ‚΄λΆ€ κ³ κ°μ—κ²Œλ§Œ κ³΅κ°œ

 

Hybrid - privateμ—μ„œ public으둜 ν–₯ν•˜λŠ” 것 - μˆ˜κ°•μ‹ μ²­ μ‹œ μž μ‹œ κ²½ν¬λŒ€κ°€ 넀이버 CPU, DISK λΉŒλ¦¬κ³  λ°˜λ‚©

즉 Hybrid - private의 ν•œκ³„λ₯Ό λ›°μ–΄λ„˜λŠ” 것 -> but κ²½ν¬λŒ€ 학생 정보가 κ²½ν¬λŒ€ λ°”κΉ₯으둜 λ‚˜κ°ˆ λ•Œ λ²Œμ–΄μ§ˆ 일

 

Public Cloud computing Service μ˜ˆμ‹œλ“€

- 1. AWS – Amazon Web Service

- CPU / Storage / AR-VR / μœ„μ„± / λ™μ˜μƒ μ„œλΉ„μŠ€ λ“± 본인듀이 ν•„μš”ν•΄μ„œ μ“°λ˜ ν”„λ‘œκ·Έλž¨μ„ λ‚¨λ“€μ—κ²Œ μ œκ³΅ν•˜λŠ” 것

- 2. MS Azure - C# / .NET / Azure platform λ“± 주둜 κΈ°μ—…μš© λΉ„μ§€λ‹ˆμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ 제곡

- 3. Google - μ˜¨κ°– μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ‹€ λ§Œλ“€μ–΄λ³΄κ³ , μ΄λ₯Ό νŒλ§€ν•˜λŠ” 것 / λΉ…데이터, TensorFlow, μžμ²΄ ν•˜λ“œμ›¨μ–΄ TPU

- Game - λ„€νŠΈμ›Œν¬ 기술 μ§‘λŒ€μ„±, κ²Œμž„κ³Ό κ΄€λ ¨λœ μ„œλΉ„μŠ€ λŒ€κ±° μΆœμ‹œ - μ•„μ΄λ””μ–΄λ§Œ κ΅¬ν˜„ν•˜λ©΄, λ‚˜λ¨Έμ§€λŠ” ꡬ글이 ν•΄

 

+ Apple – κ³Όκ±° λ§₯ 쀑심 -> ν˜„μž¬, κΈ°κΈ°λ“€λΌλ¦¬ 컨텐츠λ₯Ό μ£Όκ³  받을 λ•Œ, μ€‘심은 iCloud (λ””μ§€ν„Έ ν—ˆλΈŒ)

 

- Cloud Computing APIs

1. EC2 – Amazon Elastic Compute Cloud 

- ν•„μš”ν•  λ•Œ ν•„μš”ν•œ 만큼, κ°€μƒμ˜ CPU, λ””μŠ€ν¬λ₯Ό 제곡 -> μ•„λ§ˆμ‘΄μ˜ EC2κ°€ 업계 ν‘œμ€€μ΄ 됨

- μ–΄λА μ§€μ—­μ˜ 컴퓨터λ₯Ό λΉŒλ¦΄μ§€λ„ μ€‘μš”, λ‚΄κ°€ μ›ν•˜λŠ” μ§€μ—­μ—μ„œ ν΄λΌμš°λ“œ μ„œλΉ„μŠ€λ₯Ό ν•˜λŠ” νšŒμ‚¬λ₯Ό 선택할 수 μžˆλ‹€.

- virtual machine μœ„에 μ˜¬λΌκ°€λŠ” μš΄μ˜μ²΄μ œλ„ 선택 κ°€λŠ₯ / μ•„λ§ˆμ‘΄μ΄ customν•œ OS (μ•„λ§ˆμ‘΄ λ¦¬λˆ…μŠ€) 

 

2. S3 – Amazon Simple Storage Service 

- web storage (톡상 λ””μŠ€ν¬ μ—­ν• ) - μ΄λ―Έμ§€, λ°±μ—… μš©λ„ λ“±λ“± μ›Ή μ„œλΉ„μŠ€μ˜ μ €μž₯ 곡간을 λΉŒλ €μ„œ μ‚¬μš©

- μ œλŒ€λ‘œ λŒμ•„κ°€μ•Ό ν•œλ‹€λŠ” guarantee ν’ˆμ§ˆ 보μž₯ / 99.9%λŠ” μž₯μ• κ°€ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” QoS μ˜λ―Έ

+ μ•„λ§ˆμ‘΄μ˜ API, EC2, S3κ°€ 업계 ν‘œμ€€μ΄ λ˜μ—ˆλ‹€. 

 

* Thin Client - μž…/좜λ ₯ μš©λ„λ§Œ ν΄λΌμ΄μ–ΈνŠΈμ— 남기고, μ„œλ²„μ—μ„œ λ³΅μž‘ν•œ λͺ¨λ“  처리λ₯Ό ν•œλ‹€. 

- ex) ν¬λ‘œλ―Έμ›€ OS - κ°€λ²Όμš΄ 운영체제 μœ„μ— 크둬 μ›Ή λΈŒλΌμš°μ € ν•˜λ‚˜λ§Œ λ”± 띄움 

-> μ„œλ²„에 μ ‘μ†ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό λ°›μŒ / μ €μž₯도 λ°”κΉ₯에 함 -> μ›ΉμœΌλ‘œλ§Œ λŒμ•„κ°ˆ 수 μžˆλŠ” 세상이 됨

- κ΅¬κΈ€ workspace - μ›Ή λΈŒλΌμš°μ € μˆ˜μ€€μ΄ OSκΉŒμ§€ 올라감 

 

+ POS - points of sales 

- νŒλ§€ μ‹œ μ‹ μš©μΉ΄λ“œ κ²°μ œμ™€ 재고 정리λ₯Ό μœ„ν•œ κ³ κ°€μ˜ μ „μš© ν•˜λ“œμ›¨μ–΄ -> ν•˜λ“œμ›¨μ–΄λ‘œ μ‘΄μž¬ν–ˆλ˜ λ§ˆμΌ“λ“€ λΆ•κ΄΄

- Thin client - λ¬Όκ±΄ κ³ λ₯΄λŠ” ν™”λ©΄, κ²°μ œ ν™”λ©΄ UI만 보여주고, μ²˜λ¦¬λŠ” μ„œλ²„μ—μ„œ ν•œλ‹€ / μ €λ ΄ν•˜κ²Œ SW둜 λŒ€μ²΄ κ°€λŠ₯

- λ‡Œλ₯Ό λ°”κΉ₯에 κΊΌλ‚΄ λ‘λŠ” 것 -> ν΄λΌμš°λ“œ λ‘œλ΄‡

 

* Private Cloud Solutions - 2010λ…„λŒ€ μ•„λ§ˆμ‘΄μ˜ public cloud μ„±κ³΅ 

-> μ‚Όμ„±, λ„€μ΄λ²„ μ‚¬λ‚΄μ—μ„œ CPU, DISK, λ„€νŠΈμ›Œν¬λ₯Ό ν•„μš”ν•  λ•Œ ν•„μš”ν•œ 만큼 빌렀주고 회수 

-> κ·Έλ ‡κ²Œ μ‰¬μš΄ 기술이 μ•„λ‹ˆλ‹€ -> OpenStack의 λ“±μž₯!

- λ³ΈμΈμ΄ κ°€μ§„ 컴퓨터듀을 cloudν™” -> ν•„μš”ν•œ 만큼의 μš”μ²­ / λΉŒλ €μ£Όκ³  νšŒμˆ˜ν•  수 μžˆλ‹€. 

- cloud computing은 pythonκ³Ό ν•¨κ»˜ -> λ°μ΄ν„° 뢄석, μΈκ³΅μ§€λŠ₯ λ°œμ „

 

** OpenStack

- cloud computing κΈ°μˆ μ„ 본인 νšŒμ‚¬μ—μ„œ 직접 κ΅¬ν˜„ κ°€λŠ₯ 

-> processor CPU, storage Disk, Network을 λΉŒλ €μ€„ 수 μžˆλŠ” 것

 

 

 

https://www.openstack.org

 

 

 

- 2010λ…„ λ‚˜μ‚¬μ—μ„œ 졜초 개발 

-> λ‚΄ μœ„μ— 올리고 μ‹ΆμœΌλ©΄ / νŒŒμ΄μ¬ 써라 -> 2010~2015 -> SW μ• λ“€μ€ μ•ˆ 썼음

- κ³Όν•™μžλ“€μ΄ ν¬νŠΈλž€μ—μ„œ 파이썬으둜 κ°ˆμ•„νƒ„ 것 / μ–΄λ–€ OS μœ„μ—μ„œλ„ λ™μΌν•œ κ²°κ³Όλ₯Ό λ‚΄λ‹ˆκΉŒ 

- scipy, numpy λ‚˜μ˜¨ 이유 -> 2015λ…„ 이후 전세계 μ„œλ²„ κ°œλ°œμžλ“€, IT κΈ°μ—…λ“€ λŒ€λŸ‰μœΌλ‘œ νŒŒμ΄μ¬μ„ μ“°λ©° 퍼짐!

 

- μ–΄λ§ˆμ–΄λ§ˆν•˜κ²Œ GPUκ°€ ν•„μš”ν•œ μ•”ν˜Έν™”ν / κ·Έλž˜ν”½μŠ€ / CV / ML -> μ΄ λŒ€μ—΄μ— μ°Έμ—¬

- ν•œ 10λ…„μ˜ 역사가 λͺ¨λ‘ λ‚˜μ‚¬μ˜ openstackμ—μ„œ μΆœλ°œν•œ 것

 

* Apple κΈ°μ‘΄μ˜ Virtual Machine λ°©μ‹ λΉ„νŒ 

- 30%의 virtualization tax, μ„±λŠ₯이 30%λ‚˜ κ°μ†Œ -> μ»¨ν…Œμ΄λ„ˆ 기술의 탄생

* Container - μ „ν†΅μ μœΌλ‘œ λ¦¬λˆ…μŠ€μ— 있던 기술, ν˜„μž¬ 유λͺ…ν•œ νšŒμ‚¬μ΄μž, ν”„λ‘œκ·Έλž¨μ΄ 도컀

 

* Linux over Linux problem

- OS 2κ°œκ°€ μ˜¬λΌκ°€λŠ” 문제 λ°œμƒ, νšŒμ‚¬ μ•ˆμ—μ„œ 업무λ₯Ό λ³΄λŠ” private cloud -> μš°λ¦¬ νšŒμ‚¬λŠ” 개발 ν™˜κ²½μ„ 톡합

- host OS λ¦¬λˆ…μŠ€ -> κ·Όλ° νšŒμ‚¬λŠ” 운영체제λ₯Ό 톡일함 -> CPU μœ„에 μ˜¬λ¦¬λŠ” OS도 λ¦¬λˆ…μŠ€κ°€ 됨

- λ¬Όλ¦¬μ μΈ 컴퓨터와 Host OS μœ„에 - Virtual Machine μœ„에 - κ°€μƒ OS (Guest OS)

- λ‚΄κ°€ μ˜¬λ¦¬λŠ” host OS - 30%, κ·Έ μœ„μ— VM (guest) - 30% -> λ‚΄κ°€ μ“Έ 수 μžˆλŠ” 건 40% 

-> μ΄κ²Œ 정상이냐? μ΄κ±΄ μ’€ μ•„λ‹Œ 것 같은데 -> container λ“±μž₯ (guest OS, VM μ—†λ‹€)

 

* Container, Docker

- physical μ»΄ν“¨ν„° μœ„μ— host μš΄μ˜μ²΄μ œλ§Œ 올라감 / virtual machine? Guest OS? λ‘˜ λ‹€ μ—†μŒ

- λ‚΄ ν”„λ‘œκ·Έλž¨κ³Ό + ν•„μš”ν•œ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ ν•¨κ»˜ 올림 -> μ§€μšΈ λ•Œ κΉ¨λ—ν•˜κ²Œ μ‹Ή 지움

- μ›λž˜ λ¦¬λˆ…μŠ€μ— 있던 κ°œλ…μΈλ°, λ„μ»€λŠ” λ§₯, μœˆλ„μš° OS μœ„μ—μ„œλ„ μ»¨ν…Œμ΄λ„ˆ κΈ°μˆ μ„ μ“Έ 수 μžˆλ„λ‘ ν•΄μ€€ 것

 

- λ¦¬λˆ…μŠ€ / μœ λ‹‰μŠ€κ°€ μ„œλ²„μ— μ“°μ΄λŠ” 이유 - ν”„λ‘œκ·Έλž¨λ“€μ΄ μ„œλ‘œ 영ν–₯을 μ•ˆ μ€€λ‹€.

- μžμ›μ— λŒ€ν•œ 이름을 λ§€κΈ΄λ‹€ - ν”„λ‘œκ·Έλž¨ λ³„λ‘œ λ‚˜λˆ„μ–΄μ„œ μ°’λŠ”λ‹€.  ex) using namespace std 

- linux over linux problem -> VM을 λΉΌκ³ , μ»¨ν…Œμ΄λ„ˆ κΈ°μˆ μ„ λ„£μŒ / νŒŒμ΄μ½˜μ—μ„œ κΈ°μˆ μ„ λ°œν‘œν•¨ (파이썬 컨퍼런슀)

 

* Kubernetes, by Google – Container Orchestration 

- μ»΄ν“¨ν„° μœ„μ—μ„œ ν”„λ‘œκ·Έλž¨μ„ μ„€μΉ˜ν•˜κ³  μ‚­μ œν•˜λŠ” μ»¨ν…Œμ΄λ„ˆ κΈ°μˆ μ€ 도컀

- μ΄κ±Έ 수천 μˆ˜λ§ŒλŒ€μ˜ 컴퓨터 규λͺ¨μ—μ„œ μš΄μ˜κ΄€λ¦¬μ œμ–΄ by μΏ λ²„λ„€ν‹°μŠ€

- virtual machine μ•„λ‹Œ pod κ°œλ…μ΄ 있음 / μ»΄ν“¨ν„° μœ„μ— 도컀, ν•„μš”ν•  λ•Œ ν•„μš”ν•œ 만큼 νŒŸλ“€μ„ λ„μš΄λ‹€. 

 

* Cloud Native 

- μ˜ˆμ „에 ν•œλ©μ–΄λ¦¬λ‘œ 짜던 ν”„λ‘œκ·Έλž¨ - μ²œλͺ…이 1개의 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“¦ 

- cloudλŠ” κ·Έλ ‡κ²Œ κ°œλ°œν•˜μ§€ X -> ν”„λ‘œκ·Έλž¨μ„ 잘게 μͺΌκ° λ‹€

 

- 100개의 κΈ°λŠ₯ -> κ΄€λ ¨ κΈ°λŠ₯을 μž¬κ΅¬μ„± - 10κ°œμ”© μͺΌκ°œκ³ , κ°μž λ”°λ‘œ κ°œλ°œν•¨

- νŠΉμ • κΈ°λŠ₯에 λŒ€ν•œ μ΅œμ μ˜ μ–Έμ–΄ κ³¨λΌμ„œ, μ†Œκ·œλͺ¨μ˜ κ°œλ°œμžκ°€ agileν•˜κ²Œ 각자 졜적으둜 돌림 -> λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€

- μ„œλ²„ to μ„œλ²„λ‘œ 데이터λ₯Ό μ£Όκ³  λ°›λŠ” 것 -> HTTP3 / QUIC by UDP

+ κ°œλ°œνŒ€κ³Ό μš΄μ˜νŒ€μ΄ λ°€κ²°ν•© -> μ΄κ²Œ DevOps (μžλ™ν™”) / CI/CD (개발 이후 μΆœμ‹œκΉŒμ§€ μžλ™ν™”)

+ μ΅œμ μ˜ μ–Έμ–΄λ‘œ μ‹€ν–‰ 파일 ν•˜λ‚˜κ°€ μž‘μ•„μ§€κ³ , μ„€κ³„λΆ€ν„° κ°œλ°œκΉŒμ§€ 단계가 신속 -> SW κ°œλ°œ μ‹œκ°„ 단좕

 

- Cloud Native Foundation 

- μ „μ„Έκ³„μ—μ„œ 제일 μž˜λ‚˜κ°€λŠ” foundation, μ² μ €νžˆ IT κΈ°μ—… μ€‘μ‹¬μœΌλ‘œ μ›€μ§μž„

- λ¦¬λˆ…μŠ€ foundation μ‚°ν•˜μ˜ Cloud Native Foundation 

 

- Edge Computing 

- λ„€νŠΈμ›Œν¬λ‘œ μΏ λ²„λ„€ν‹°μŠ€μ˜ 손이 λ‹ΏμœΌλ©΄, κ°€μƒμ˜ 데이터센터λ₯Ό λ§Œλ“€ 수 있음 

- edge computing // 5G SKT의 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°

-> μž‘은 데이터 μ„Όν„°κ°€ μ‚¬μš©μžμ—κ²Œ κ°€κΉŒμš΄ κ³³μ—μ„œ λΉ λ₯΄κ³  μ•ˆμ •μ μΈ μ„œλΉ„μŠ€ 

 

 

 

 

 

* 개인적으둜 이번 ν•™κΈ° 컴퓨터 λ„€νŠΈμ›Œν¬ μˆ˜μ—…μ—μ„œ κ°€μž₯ μž¬λ―Έμžˆμ—ˆλ˜ part :)