Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- SrpingBoot
- aws ec2
- 소프트웨어 개발과 테스트
- Loard Balancer
- 코드프레소
- Amazon Web Service
- JPA연관관계
- 몽고DB
- VPC EC2
- 레디스설치
- AWS 요금
- AWS CloudTrail
- MongoDB
- AWS NAT
- AWS #CloudTrail #AWS로그
- codepreosso
- codepresso
- MongoDB 참조
- 스프링 게시판
- AWS VPC
- SpringProject
- ubuntu 배포
- AWS
- EC2 생성
- AWS Route53
- EC2 배포
- Datamodel
- AWS NAT gateway
- MongoDB Reference
- MongoDB DataModel
Archives
- Today
- Total
정환타 개발노트
[조대협 대용량 아키텍처] 잘나가는 SNS 서비스들의 기술적 특징 본문
요즘 잘나가는 SNS 서비스들의 아키텍처나 운영 구조를 통해 SNS 시스템의 기술 트렌드를 분석한 특징에 대한 정리를 하였다.
1. 소규모 조직
대부분의 SNS 서비스 업체들은 인력이 20명 이내이다.
영업 조직이 있는 솔루션 업체는 영업 인력과 디렉터를 포함하더라도 40명을 넘지 않느다.
이는 빠른 의사결정을 할 수 있도록 하기에, 서비스 개선을 빠르게 할 수 있다.
2. 오픈소스로 무장
SNS 서비스들이 대형 벤더 솔루션을 사용하지는 않는다.
대부분 오픈소스를 사용하며, 여러가지 언어를 함께 사용한다.
한국에서 익숙한 자바만으로 전체를 구현하는 것이 아닌, Python, Ruby와 같은 언어를 함께 활용한다.
또한 기존의 오픈소스를 활용하지, 새로운 솔루션을 만드는 경우는 적다.
3. DevOps
이전에도 포스팅한 DevOps 로 팀을 운영한다.
개발팀과 운영팀을 별도로 두지 않고 통합하는 형태의 팀 운영을 말하며, 고객의 요청을 빨리 처리하며 인프라에 대한 운영을 클라우드와 오픈소스를 활용하여 진행한다.
4. Cloud
앞서 말한것 처럼 AWS와 같은 클라우드 서비스를 활용하는데, 일단 초기 비용이 들지 않고 글로벌 서비스를 커버할 수 있으며 고가용성 탄력적인 자원 운영의 장점을 가질 수 있다.
5. Step By Step
가장 놀라운 점은, 사용자가 많은 대규모 서비스 시스템이라도 처음부터 대규모 서비스를 위해 설계하는 것이 아닌 기존에 익숙한 서비스로 개발을 한뒤 사용자의 증가에 맞추어 기술을 변경하는 구조를 사용한다.
주요 구조는 다음과 같다.
- 앞단의 Nginx 혹은 Apache와 같은 웹서버
- 중간에 Redis와 Mecached 같은 메모리 데이터 그리드
- 톰캣, Django와 같은 WAS
- 자바와 함께 사용되는 스크립트 언어 혹은 분산처리 언어
- MySQL 사용시 샤딩 또는 NoSQL을 백엔드에 사용
- AWS 위에 시스템이 존재
- REST를 사용하는 아키텍처
- 배치 처리와 분산처리를 위한 Hadoop등의 분산 처리 프레임워크 사용
'DevOps' 카테고리의 다른 글
Jenkins를 활용한 빌드&배포(Spring Boot) (0) | 2020.02.25 |
---|---|
[조대협 대용량 아키텍처] 성능 엔지니어링 (0) | 2020.02.17 |
[조대협 대용량 아키텍처] 대용량 서비스 레퍼런스 아키텍처 (0) | 2020.02.10 |
DevOps란 (0) | 2020.02.05 |
[조대협 대용량 아키텍처] 마이크로 서비스 아키텍처와 거버넌스 모델(+ 진화형 모델, DDD) (0) | 2020.02.05 |
Comments