카테고리 없음

Slash 2024 - no limit 컨퍼런스 후기

한둥둥 2024. 9. 12. 21:23

오늘 많은 일이 있었다. 바로바로 slash 2024 컨퍼런스에 붙어서 컨퍼런스를 갔다왔다. 
 

SLASH24 
나는 스페셜 세션을 사전에 예약하여 들었다. 
MSA 진짜 듣고 싶었는데 나중에 들어야지.. 
 
 

세션 1: 소프트 스킬

1. 그림으로 소통하기

  • API 설계나 DB 설계처럼 복잡한 개념은 말로 풀어내기 어렵기 때문에, 그림으로 소통하는 것이 중요함.
  • 다이어그램 툴을 사용하여 시각적으로 생각을 전달하는 습관을 길러야 함.
  • Notion 등 다양한 도구를 활용해 다이어그램을 그릴 수 있음.

2. 나만의 TODO List 만들기

  • 시간 관리를 효율적으로 하기 위해 자신만의 TODO List를 만드는 것이 중요함.
  • 프로젝트 관리 툴 외에도 개인적인 일, 공부, 목표, 명언 등 다양한 내용을 포함한 개인 중심의 TODO List가 필요함.
  • 복잡한 TODO List보다는, Google Task를 활용하여 주기별(일간, 주간, 월간)로 관리하는 방식이 제안됨.

3. 코드를 보는 안목 기르기

  • 기존 코드가 항상 최선의 답은 아님. 다양한 요구사항과 일정 속에서 현실적인 코드에 익숙해지기 쉬움.
  • Code Smell(코드에서 느껴지는 불편함)을 감지할 수 있는 능력을 키워야 함.
  • 제안된 방법:
    • 오픈소스 코드 분석 및 학습
    • 소스 코드 가독성, 리팩토링, 디자인 패턴 관련 책 읽기
    • 코딩 70%, 리팩토링 30%의 비율로 시간 분배
    • 예전에 작성한 코드 리팩토링

4. 왜?라고 묻기

  • 개발자는 문제 해결을 우선으로 해야 함. 코드를 작성하는 것보다 문제를 해결하는 것이 중요.
  • "왜?"라는 질문을 통해 요구사항을 명확히 하고, 문제의 본질을 이해하는 능력을 기르는 것이 중요함.

5. 나만의 개발 공부법 찾기

  • 사람마다 각기 다른 학습 방식이 존재함. 책과 이론으로 공부하는 방법과, 실전을 통해 배우는 방법이 있음.
  • 얇은 책을 읽거나 오버뷰를 파악한 후, 기술의 필요성과 장점을 이해하는 것이 중요.
  • 책과 실전 경험을 반복하며, 자신만의 지식을 쌓아가는 과정이 필요함.

실행 계획 

세션을 듣고 적은 나의 실행 계획이다. 

  1. 그림으로 소통하는 연습 (코딩 테스트 등에서 활용).
  2. Google Task를 활용해 나만의 TODO List 구성.
  3. 오픈 소스 프로젝트를 통해 코드를 보는 안목 기르기 (TDD는 후순위).
  4. "왜?"라는 질문을 통해 문제 본질 파악하기 (취직 후 적극적으로 적용).
  5. 개발 공부법을 서서히 탐구.

 

토스의 AWS 활용 및 비용 절감 사례

1. IPv6 활용

  • 43.03% 이상의 트래픽이 IPv6로 접근 중.
  • 모바일 트래픽 속도 향상을 위해 IPv6를 도입.
  • IPv6를 통해 네트워크 효율성을 극대화하며, 모바일 트래픽의 빠른 처리가 가능함.

2. 반복적인 작업의 자동화

  • AWS의 관리 기능: 데이터베이스 백업, 버전 관리, 보안 관리 등의 작업을 몇 번의 클릭만으로 처리 가능.
  • 블루/그린 배포 지원: AWS는 블루/그린 업그레이드를 지원하여, 다운타임을 최소화하면서 시스템을 확장할 수 있도록 도와줌.

3. 무중단 확장

  • 온프레미스 환경에서는 블루/그린 배포 방식의 확장이 어렵고, 충분한 준비 시간을 확보하기 힘듦.
  • AWS에서는 1~5분의 다운타임이 있지만, 토스와 같은 대규모 서비스에서는 이 시간조차도 매우 치명적임.
  • 토스는 멀티 클러스터를 활용하여 다운타임 없이 확장을 실현함.

4. 비용 절감 전략

  • 온디맨드 인스턴스: 사용한 만큼만 비용을 지불하는 방식.
  • 예약 인스턴스: 사용 조건에 따른 할인 제공, 약정이 붙으면 더 큰 할인 가능. 하지만 사용하지 않으면 손실 발생.
  • 스팟 인스턴스: 남는 인스턴스를 저렴하게 제공하며, 온디맨드 대비 큰 비용 절감 가능. 90% 절감에 도달할 수 있음.
    • 토스는 196개 이상의 스팟 인스턴스를 사용, 다양한 종류의 스팟 인스턴스를 활용해 비용 절감을 극대화함.
    • EC2 사용량이 9.4배 증가했음에도, 비용이 4.6배만 증가하는 효율적인 비용 관리를 실현함.

5. CDN 활용 및 비용 관리

  • Amazon CloudFront를 통해 폭발적인 네트워크 트래픽을 처리 중.
  • Edge Location을 활용해, 캐시를 통해 사용자 요청에 빠르게 응답.
  • 토스 앱은 S3 Storage에 연결되어 있으며, CloudFront와 함께 운영.
  • 토스는 네트워크 트래픽이 증가함에도 불구하고, 동일 용량의 단가를 3분의 1 이하로 절감.
  • AWS의 CDN 서비스는 가격 경쟁력이 높음.

6. 아키텍처 최적화

  • 토스는 아키텍처 최적화를 통해 AWS 비용을 절감하고 있음.
  • 특히, CloudFront와 같은 CDN 서비스를 최적화하여 네트워크 비용을 크게 절감함.

결론

  • 토스는 AWS의 다양한 서비스를 효율적으로 활용하여 비용을 절감하고, 모바일 트래픽 처리 성능을 극대화하는 등 다양한 최적화 전략을 채택함.
  • 특히, 스팟 인스턴스와 CloudFront와 같은 비용 절감 기회를 잘 활용하여, 대규모 트래픽을 저비용으로 처리함.

내가 정리한 내용은 위에와 같고 나는 AWS 인스턴스 사용하여 서버를 자주 띄워서 작업하고 있는데 스팟 인스턴스라는 내용이 굉장히 좋았고, 해보고 싶다는 생각이 들었다. 또한 예약 인스턴스는 비즈니스의 해당 프로젝트를 잘 파악하고 있다면 충분히 바로 적용할 수 있는 부분인거 같다. 
 
 
 

나머지는 보상 트랜잭션, 토스 뱅크가 차세대를 하지 않는 이유: 지속가능한 마이그레이션 전략, 대규모 사용자 기반의 마이데이터 서비스 안정적으로 운영하기 등을 들었다. 
 
최근 내가 정말 MSA에 관심이 많았다. 덕분에 정말 많은 정보를 배울 수 있었고 이에 따라서 정말정말 값어치 있는 시간이였다. 비록 다 이해하지 못하였지만.. 유튜브에 10월중에 올라온다니 이해될 때까지 두고두고 볼 예정이다. 
추가적으로 요즘 도메인 주도 설계로 시작하는 마이크로서비스 개발 책을 보고 있습니다.