Posts Programming Skills 2
Post
Cancel

Programming Skills 2

Programming Skills 2


πŸ’Ώ Serverless

Baas 와 Faas에 μ˜μ‘΄ν•˜λŠ” μ•„ν‚€ν…μ²˜λ₯Ό Serverless()

Bass: 자주 ν•„μš”ν•œ μ‚¬μš©μž 관리 및 접속 μ œμ–΄, ν‘Έμ‹œ μ•Œλ¦Ό, 데이터 μ €μž₯, λˆ„λ¦¬ μ†Œν†΅λ§ μ„œλΉ„μŠ€(SNS), μœ„μΉ˜ μ„œλΉ„μŠ€ λ“±μ˜ λ°±μ—”λ“œ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ μ½”λ“œλ₯Ό 직접 κ°œλ°œν•΄μ•Ό ν•œλ‹€. κ·ΈλŸ¬λ‚˜ μ„œλΉ„μŠ€ν˜• λ°±μ—”λ“œ(BaaS)λ₯Ό μ΄μš©ν•˜λ©΄, 직접 μ½”λ“œλ₯Ό κ°œλ°œν•˜μ§€ μ•Šκ³  앱을 ν΄λΌμš°λ“œμ™€ μ—°λ™μ‹œμΌœ BaaSμ—μ„œ μ œκ³΅ν•˜λŠ” μ‘μš© ν”„λ‘œκ·Έλž¨ μΈν„°νŽ˜μ΄μŠ€(API: Application Program Interface)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€.

Faas: 사전 μž‘μ„±λœ μ„œλΉ„μŠ€ λΌμ΄λΈŒλŸ¬λ¦¬μ— μ˜μ‘΄ν•˜μ§€ μ•Šκ³  μ‚¬μš©μž μ •μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μƒμ„±ν•˜λŠ” κ°œλ°œμžμ—κ²Œ 더 λ§Žμ€ μ œμ–΄ κΆŒν•œμ„ 제곡,

  • Amazon Web Services의 AWS Lambda, Microsoft Azure의 Azure Functions, Google Cloud의 μ—¬λŸ¬ 였퍼링, IBM Cloud의 IBM Cloud Functions λ“±

Serverless 와 같이 인프라 ν™˜κ²½μ΄ κ³ λ„λ‘œ μžλ™ν™”/μΆ”μƒν™”λœ ν™˜κ²½μ—μ„œλŠ” 이제 전톡적인 JVM, 컀널 νŒŒλΌλ―Έν„° 등은 ν•„μˆ˜ 지식이 μ•„λ‹ˆλΌκ³  생각할 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

  • ν•˜μ§€λ§Œ λ‚΄λΆ€μ μœΌλ‘œ Baas, Faasλ₯Ό λ§Œλ“€κΈ°λ„ ν•˜κ³ 
  • 인프라 ꡬ쑰λ₯Ό 잘 μ΄ν•΄ν•˜λ©΄ μΆ”μƒν™”λœ μ„œλΉ„μŠ€λ„ 잘 μ“Έ 수 있게 될 여지도 있음

πŸ’Ώ Client 와 λ°±μ—”λ“œ

μ˜ˆμ „μ—λŠ” JSPλ‚˜ HTML을 μ„œλ²„μ‚¬μ΄λ“œμ—μ„œ μƒμ„±ν•˜λŠ” 기술이 주둜 μ“°μ˜€μŠ΅λ‹ˆλ‹€. ν™”λ©΄ 전체λ₯Ό λ‹€μ‹œ 그릴 ν•„μš”κ°€ μ—†λŠ” μš”μ²­μ€ Ajax둜 μ²˜λ¦¬ν–ˆμ§€λ§Œ μ„œλ²„ λ Œλ”λ§μ— 보쑰적으둜 μ“°μ΄λŠ” κ²½ν–₯이 κ°•ν–ˆμŒ

  • ν˜„μž¬λŠ” Reactλ‚˜ Vue 같은 ν”„λ ˆμž„μ›Œν¬κ°€ 널리 μ“°μ΄λ©΄μ„œ ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œμ—μ„œ HTML을 μƒμ„±ν•˜λŠ” 비쀑이 높아지고 있음
  • ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ λ Œλ”λ§μ„ ν•˜λŠ” κ΅¬μ‘°λŠ” μ„œλ²„ κ°œλ°œμžκ°€ HTTP API κ°œλ°œμ—λ§Œ 전념할 수 μžˆλ‹€λŠ” μž₯점이 있음

πŸ’Ώ Client 와 λ°±μ—”λ“œ

HTTP API의 μ„€κ³„μ˜ λ§Žμ€ 뢀뢄은 맀번 ν”„λ‘œμ νŠΈλ§ˆλ‹€ κ³ λ―Όν•΄μ•Όν•  점이 많음

  • λ‹¨μˆœ CRUD APIλŠ” 각각 POST/GET/PUT/DELETE의 HTTP λ©”μ„œλ“œλ‘œ μ—°κ²°μ‹œν‚€λ”λΌλ„ 이λ₯Ό λ²—μ–΄λ‚œ κΈ°λŠ₯듀은 μ–΄λ–»κ²Œ 섀계해야할지 λͺ…ν™•ν•˜μ§€ μ•Šμ€ κ²½μš°κ°€ 많음
    • 예λ₯Ό λ“€μ–΄ νŽ˜μ΄μ§• 처리, λ³΅μž‘ν•œ 검색쑰건이 μžˆμ„λ•Œμ˜ νŒŒλΌλ―Έν„° ν‘œν˜„λ°©μ‹
  • Client μ‚¬μ΄λ“œμ—μ„œ UI λ Œλ”λ§μ„ ν•˜λŠ” κ²½μš°κ°€ λŠ˜μ–΄λ‚˜λ©΄μ„œ HTTP APIλ₯Ό λ‹€μ–‘ν•˜κ³  μ •κ΅ν•˜κ²Œ μ‚¬μš©ν•˜κ³ μž ν•˜λŠ” ν•„μš”μ„±μ΄ λŠ˜μ—ˆμŒ
    • 이런 상황 μ†μ—μ„œ FaceBookμ‚¬μ—μ„œλŠ” GraphQL을 λ‚΄λ†“μ•˜κ³ 
    • Spring μ—μ„œλŠ” HateOASλ₯Ό 톡해 ν•œλ‹¨κ³„ RESTλ₯Ό μ—…κ·Έλ ˆμ΄λ“œ ν–ˆμŒ

πŸ’Ώ μ‹œμŠ€ν…œμ„ μ–΄λ–»κ²Œ 자λ₯Όκ²ƒμΈκ°€

μ‹œμŠ€ν…œμ„ λ§Œλ“€ λ•Œ λ§Žμ€ 고민듀은 κ²°κ΅­ β€˜κ΅¬μ„±μš”μ†Œ κ°„μ˜ μ—­ν• κ³Ό μ±…μž„μ„ μ–΄λ–»κ²Œ λ‚˜λˆŒ κ²ƒμΈκ°€β€™λ‘œ ν‘œν˜„

  • 졜근 MSAλΌλŠ” ꡬ쑰가 각광 λ°›μœΌλ©΄μ„œ μ„œλ²„μ— 배포 κ°€λŠ₯ν•œ λͺ¨λ“ˆμ˜ λ‹¨μœ„λ₯Ό 이전보닀 μž‘κ²Œ κ°€μ Έκ°€λŠ” κ²½ν–₯이 λ‚˜νƒ€λ‚˜κ³  있음
    • μ˜ˆμ „μ—λŠ” MSA와 같은 ꡬ쑰둜 μ„œλΉ„μŠ€λ₯Ό λ§Œλ“œλŠ” 것이 λΉ„μš©μ΄ 더 μ»Έμ—ˆμŠ΅λ‹ˆλ‹€.
    • μš”μ¦˜μ—λŠ” 인프라 μ‹œμŠ€ν…œ, λͺ¨λ‹ˆν„°λ§, ν”„λ ˆμž„μ›Œν¬μ˜ λ°œμ „μœΌλ‘œ λΉ„μš©μ΄ λ‚΄λ €κ°”μŒ

πŸ’Ώ 인프라 기술 ν™œμš©

  • Docker + Kubernetesλ₯Ό μ΄μš©ν•œ λΉŒλ“œ μ„œλ²„ 가상화 사둀
  • DEVIEW 2015의 Docker Orchestration λ°œν‘œλ₯Ό μ°Έκ³ ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

넀이버 내뢀에 μ •ν™•νžˆ β€˜IT operationνŒ€β€™μ΄λΌλŠ” μš©μ–΄λŠ” 쓰이고 μžˆμ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. Nginx, Tomcat, JVMκ³Ό 같은 μ†”λ£¨μ…˜μ˜ μ„€μΉ˜μ™€ μ„€μ • 변경은 κ°œλ°œνŒ€μ—μ„œ μ§μ ‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • μš΄μ˜μ„œλ²„μ˜ VM 생성, OSνŒ¨μΉ˜λ“±μ˜ μž‘μ—…, 인프라 ꡬ성 등에 λŒ€ν•œ μ»¨μ„€νŒ…μ„ μ„œλΉ„μŠ€λ§ˆλ‹€ μ§€μ •λœ SE뢄듀이 해주심
  • 개발DB의 μ„€μΉ˜μ™€ μŠ€ν‚€λ§ˆ 변경은 κ°œλ°œνŒ€μ—μ„œ 자율적으둜 ν•˜κ³ , 운영 DB에 λŒ€ν•œ μ€‘μš”ν•œ μž‘μ—…μ€ μ „λ‹΄ DBAμ—κ²Œ μš”μ²­
This post is licensed under CC BY 4.0 by the author.

Programming Skills 1

Kubernetes 0