AWS
- 클라우드 컴퓨팅 플랫폼으로,
네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등의 다양한 서비스를 제공 - 직접 콘솔 사이트 내에서 서버를 확장 가능하고 정교한 어플리케이션 구축을 지원
Elastic Compute Cloud
- 물리 환경의 컴퓨터처럼 컴퓨팅 리소스를 제공하는 서비스
- 클라우드 컴퓨팅 파워의 규모를 자유자재로 변경 가능
- 인스턴스라고 불리는 가상 머신으로 제공
Lambda(Serverless Computing)
- 어플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행하는 서비스
- 사용자는 서버에 대한 걱정 없이 코드만으로 서비스를 실행할 수 있음
- 서버 및 운영체제 유지보수, 용량 프로비저닝1 및 자동 확장, 코드 모니터링 및 로깅과 같은 컴퓨터 리소스의 모든 관리를 자체적으로 수행
- 추천 사용 환경
- 코드를 계속 실행시키기 보다는 특정한 시기에만 실행시키는 경우
- 서버를 생성하지 않고 간단한 코드를 실행시키고 싶은 경우
- 특정 기간 또는 특정 주기로 코드를 실행시켜야 하는 경우
- 트리거가 실행될때만 코드를 실행시키고 싶은 경우
- 단점
- 최대 코드 용량은 250MB, 최대 15분의 실행시간
- 함수 호출시 Cold Start를 하게 되고, 초기 지연시간이 발생
S3
- 정적 파일(사진, 비디오, 문서, 코드) 스토리지 서비스
- 사용자는 URL을 통해 파일을 사용할 수 있음
- HTTP 프로토콜과 연동되어 정적 사이트를 호스팅하는데 사용가능
VPC
- 클라우드 가상 네트워크 구축 서비스
- IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성
ELB
- VPC 내에서 하나의 형태로 존재하는 서비스로 서버가 종료되지 않도록 알아서 관리하는 로드 밸런서 제공
- 로드 밸런싱을 통해 트래픽 분산, 자동 확장 등의 다양한 기능을 제공
Route53
- AWS의 DNS 도메인 관리 및 설정 서비스
- 도메인 이름을 구매 및 관리하고 도메인에 대한 DNS 설정을 자동으로 구성
- AWS 내의 다른 서비스 인프라와 효과적으로 연결할 수 있음
CloudFront
- 데이터, 동영상, 애플리케이션 API를 전세계 고객에게 전송하는 고속 글로벌 콘텐츠 전송 네트워크(CDN) 서비스
- S3, EC2, ELB, Route53등과 같은 서비스와 통합되어 운영
- 리소스를 요청한 사용자의 위치와 가장 가까운 곳에서 파일 캐시를 가져오기 때문에 속도가 빠름
- 기존의 EC2를 여러 리전에 걸쳐 리소스를 제공하는 것보다 저렴
RDS
- 관계형 데이터베이스를 이용할 수 있는 서비스
- DB 설정, 패치, 백업 등 시간 소모적인 관리 작업을 AWS에서 처리
- 제공하는 DB는
Amazon Aurora
,MySQL
,MariaDB
,PostgreSQL
,Oracle
등
DynamoDB
- 어떤한 규모든지 균일하게 10ms 미만의 응답속도를 제공하는 key-value 형태의 NoSQL 데이터베이스 서비스
- 관계형 데이터베이스와 같이 데이터를 저장 및 검색하고, 어떤 수준의 요청 트래픽이라도 처리할 수 있음
Clean Code
- 단순하고 직관적인 코드를 클린 코드
- 주 목적은 가독성을 높임으로써 이해하기 쉬운 코드를 작성하는 것
분명한 의도
- 변수의 존재 이유, 기능, 사용법 등이 변수/함수/클래스명에 드러나야 함 (주석이 없어도 되게)
- 의미를 함축하거나 독자(프로그래머)가 사전지식을 가지고 있다고 가정하면 안됨
그릇된 정보 방지
- 중의적으로 해석될 수 있는 이름 지양
- 개발자에게 특수한 의미를 가지는 단어(list 등)을 변수명에 붙이지 않음
의미있는 구분
- 해당 요소와 관련 없는 단어(a1, a2..), 숫자로 구분하지 않음
- 클래스 이름에 info, Data와 같은 불용어 붙이지 않게
- 발음하기 쉬운 이름 사용
- 검색하기 쉬운 이름 사용
- 독자가 한번 더 생각해 변환해야 할만한 변수명 쓰지 않기
클래스 이름
- 명사 혹은 명사구를 사용 (Customer, WikiPage, Account…)
- Manager, Processor, Data, Info와 같은 단어 지양
- 동사는 사용하지 않음
메서드 이름
- 동사 혹은 동사구 사용 (postPayment, deletePayment, save…)
- 접근자, 변경자, 조건자는 get, set, is로 시작 (should, has 포함)
사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말함 ↩
Comments powered by Disqus.