Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 27 Publicité
Publicité

Plus De Contenu Connexe

Plus récents (20)

Publicité

[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf

  1. 1. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 2022. 4. 25(월) 오후 2시 – 3시 30분 내구성 있는 애플리케이션 개발하기 (akka. cloud native application)
  2. 2. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 목차 • 애플리케이션을 개발해요. 우리에게 필요한 것은 무엇? • 어떻게 만들죠? • 디자인해요 <Application> • 그림을 그려요 <Cloud Infra> • 패키징하고 배달해요 <CI/CD> • 건강을 유지해요 <Monitoring/Alert/TroubleShooting> • 실전 데뷔 <Go Live!> • 꾸준히 가꾸고 성장시켜요 <DevOps>
  3. 3. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 애플리케이션을 개발해요.
  4. 4. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 애플리케이션을 개발해요. 우리에게 필요한 것은 무엇? • 애플리케이션 기능 정의 • 에코 시스템들과의 관계 파악(토폴로지 정의) • 통신 방식 정의 • HTTP/1.1, HTTP/2, gRPC, TCP, UDP, FTP, w/TLS • Unicast/Multicast/Broadcast, Sync/Async • 요청-응답(Request-Response) 모델 • 발행-구독(Pub-Sub) 모델 • 각 계층에 적합한 솔루션 선정 • 구성원들 기술 스택과 도입비용(Money) & 관리비용(Learning Curve, MGMT Effort) 고려 • 타겟 시스템의 민감도에 따른 제반사항도 검토 • 개발 랭귀지, 프레임웍, 패키지 라이브러리 선택
  5. 5. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 애플리케이션을 개발해요. 우리에게 필요한 것은 무엇? • 스피드~ (Time to Market / Agile) • As-WAS : 투자계획, 보고, 입찰/평가/선정, 발주, 선적, 입고, OS/계정 생성, 패키지/미들웨어 설 치… • Cloud = • 기능 정의 → 로드맵 수립 → 스프린트~ • 신속한 전개와 확장
  6. 6. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 어떻게 만들죠? • Cloud Native 하게 • 클라우드의 특징을 최대로 활용하고 대응할 수 있도록 어플리케이션을 구축하고 실행하는 접근 방식 • Cloud Native Computing Foundation (CNCF) Definition / 2015 Linux Foundation 에서 결성 • Cloud Native 기술은 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같은 현대적, 동적인 환 경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변(Immutable) 인프라, 그리고 선언형(Declarative) API가 이러한 접근 방식 의 예시들이다. • 이 기술은 회복성, 관리 편의성, 가시성을 갖춘 느슨하게 결합된 시스템을 가능하게 한다. 견고 한 자동화 기능을 함께 사용하면, 엔지니어는 영향이 큰 변경을 최소한의 노력으로 자주, 예측 가능하게 수행할 수 있다. • https://github.com/cncf/toc/blob/main/DEFINITION.md#%ED%95%9C%EA%B5%AD%EC%96%B4
  7. 7. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 어떻게 만들죠? • Cloud Native – Main Tenets • DevOps • 소프트웨어 제공과 인프라 변경을 자동화하기위한 개발자와 운영자간의 협업체계 • Continuous Delivery • 빠르고 안정적인 릴리즈 • Microservices • HTTP API를 통해 통신하는 소규모 독립 서비스 모음의 아키텍처 • Containers • 단일 서버를 하나 이상의 격리된 컨테이너로 동적 분할하여 경량 가상화를 제공
  8. 8. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 어떻게 만들죠? • Cloud Native 특징을 고려 • 분산 환경 (Micro Service Architecture) • 확장성 (유연성) • 트래픽 증가 가속, 대용량 트래픽 유입 • GSLB(Global Region 서비스), CDN(Static 컨텐츠), Dynamic 컨텐츠 네트워크 가속 • Data Cache, Read Replica • 내결함성 (고가용성/복원력) • 장애 상황 대비 : 이중화(SPOF 단일지점장애 회피), 백업/복제, 재해복구센터 • 보안성 • 시스템자산 보호 • DDOS Attack, 어뷰징, 해킹, 보안취약점으로부터 보호 • 데이터자산 보호
  9. 9. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • Frontend, Backend Layer
  10. 10. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • Layered Architecture • 전형적인 엔터프라이즈 애플리케이션 표준 N-계층 아키텍처 • 역할에 따라 수평적으로 계층을 나눔
  11. 11. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • Hexagonal Architecture • 최근 비즈니스 애플리케이션은 프레젠테이션 계층 및 퍼시스트턴스 계층 외에 다양한 시스템과 인터페이스를 필요로 함 • 레이어 간의 원하지 않는 종속성이나 비즈니스 로직으로 인한 사용자 인터페이스 코드의 오염을 방지
  12. 12. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • API Spec (Service Contract)
  13. 13. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • Sync/Async BentoML API Argos API EmartApp API Argos Admin evaluate(ContentID, Text, ImageURL, Callback_URL) 201 Accepted block(ContentID) DB AWS Rekognition API BackgroundTask / Async 3s~50s
  14. 14. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • 서비스 오케스트레이션 • 분산 트랜잭션/보상 트랜잭션 • 서비스 메쉬 • 서비스 라우팅, 트래픽관리 • 텔레메트리 (모니터링, 추적 및 분석) → Netflix OSS(Java) or Istio(K8S)
  15. 15. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 디자인해요 <Application> • 인증/인가 • API Gateway • API Key, Oauth(JWT Token), Single Sign On • Data Grid • Logging / Exception Handling • Resource Connection Client • DB Connection Pool, Kafka Client, Http Client • (Http)Client Connection/Read Timeout
  16. 16. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 그림을 그려요 <Cloud Infra> • Reference Architecture • Best Practice
  17. 17. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 그림을 그려요 <Cloud Infra>
  18. 18. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 그림을 그려요 <Cloud Infra>
  19. 19. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 패키징하고 배달해요 <CI/CD> • CI • Code Quality Process • Code 품질 점검, 취약점 진단, 스타일 점검, 유닛테스트 • SonarQube • 지속적인 검사까다로운 이슈 탐지 • 20개 이상의 프로그래밍 언어 지원 • DevOps 도구와 통합가능 • 소스 품질의 중앙 집중화 • Container 취약점 스캔
  20. 20. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 패키징하고 배달해요 <CI/CD> • CD • 배포전략 : Blue/Green, Canary • Roll Out / Roll Back • ArgoCD
  21. 21. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 건강을 유지해요 <Monitoring/Alert/TroubleShooting> • 헬스체크 • 네트워크, 런타임 인스턴스, CPU/Mem 리소스, 애플리케이션 프로세스(데몬), 의존관계의 서비 스 및 자원 • 성능모니터링, 알람 • 트러블슈팅 - 성능이슈, 오류 또는 장애 발생 원인 분석 • 로깅과 분산 트레이싱 • Zipkin, Jaeger, Datadog
  22. 22. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 실전 데뷔 <Go Live!> • 서비스 런칭은 서비스 계정으로 • 보안성 검토 • 망 보안 – 보안인증서(TLS) • 사용자 접근제어 - 인증 / 인가 • 보안 취약점 • DDOS/Abusing • 통합테스트 • 의존관계에 있는 시스템
  23. 23. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 실전 데뷔 <Go Live!> • 성능/부하/마라톤 테스트 • 목표 TPS/시나리오 수립 • 성능 튜닝 - 스케일 아웃 • 미들웨어 (워커 스레드, 프로세스 조정,) • 애플리케이션 (DB Query, DB Connection Pool) • 리소스 • 주의사항 • 의존관계 시스템에 부하를 가중시킬 수 있음 • 더미서버 또는 더미코드
  24. 24. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 실전 데뷔 <Go Live!> • Chaos Engineering • 분산환경에서 각종 장애 조건을 견딜 수 있는 시스템의 신뢰성을 확보하기 위한 엔지니어링 기법 • Netflix : Chaos Monkey(Instance) / Gorilla(Zone) / Kong(Region), KubeMonkey • Gremlin
  25. 25. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 실전 데뷔 <Go Live!> • Chaos Engineering 실험 결과 측정 • 장애 감지 시간? • 문제 인지 및 최초 알림 시간 • 사내 전체 전파 시간? • 자동 롤백 시작 시점? • 부분 복구 시간? • 수동 문제 해결 및 복구 시간? • 전체 복구 및 안정화 시간?
  26. 26. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 다음 이야기 • Argos <부적절 리뷰 필터> 개발 이야기 • AI DevOps Application 편 – 유니콘에 올라탄 FastAPI • AI DevOps Cloud Infra편 – AWS EKS와 서비스메쉬 • Chaos Engineering/Fail-Over/Troubleshooting 편 • Goldmine <상품검색> 서비스 오픈 후기
  27. 27. sohyeong_lee@emart.com, 이소형(조이∙파트너) - D/T본부AI/ML담당, 제목 없음, 2022-04-21T16:22:02 End

×