내일배움캠프 29일차 TIL

minjae·2021년 10월 28일
0

개발일지 시작의

서버리스 백엔드 첫째날 어렵다

개발 업무내용

서버리스 백엔드 듣고 실습

오늘의 이슈/고민..그리고 해결한 내용

  1. 서버리스
    • 개발자가 서버를 관리(인스턴스가 너무 많을 때, 갑자기 트래픽이 몰릴 때, 확신할 수 없는 인스턴스 사용 금액 등)할 필요없이 클라우드가 관리해주는 것
    • Baas와 Faas로 나뉘어질 수 있는데 수업에서 쓰는 aws Lambda가 FaaS의 한 종류
    • FaaS(Function as a Service)는 함수를 등록해 특정 이벤트(트리거)가 발생했을때 실행되고 그 횟수만큼 비용을 내는 방식 => 단기간 이벤트성 트래픽을 감당하는 경우 효과적, 관리보다 개발에 집중할 경우
      서버리스 아키텍쳐란?
  1. Lambda
    • s3(Simple Storage Service)처럼 백엔드를 서버리스로 운영할 수 있는 서비스
    • 트리거가 발생했을 때만 실행되기 때문에 비용절감
    • 서버리스로 운영하기 때문에 인프라 운영관리 부담절감
    • 단점으로 하나의 함수가 호출될 때 메모리 제한이 있고 처리시간도 최대 15분임
    • 호출되면 함수가 실행되기 때문에 상태를 저장하지 않음 => coldstart(오랜만에 실행하면 딜레이 발생)
    • 동시 실행 가능한 함수의 개수가 제한되어 있어 request가 많은 경우 문제가 발생할 수 있음
      람다의 장점과 단점 | 콜드스타트와 동시성제한
  1. Web Server/ WAS
    • 웹 서버는 HTTP request를 받고 정적인 정보를 반환함(수업시간에 썼던 nginx가 웹 서버의 예 - index.html의 위치를 바꿔서 처음 시작 화면이 바뀌는걸 확인해보는 실습을 했었음)
    • WAS(Web Application Server) 혹은 앱 서버는 웹 서버와 앱(데이터를 가공해 제공하는 역할, 장고, 플라스크, php 등) 사이의 동적인 정보를 생성하는 역할
    • 클라이언트가 HTTP request -> 웹 서버가 정적파일에 대한 내용인지 아닌지 확인하고 맞으면 response, 아니면 WAS에 요청 -> WAS는 요청을 앱이 알 수 있는 형태로 넘김 -> 앱에서 데이터를 처리해 응답함 => 웹 서버가 결과를 클라이언트에게 전달
    • 정적 요소만 처리하는 기능과 동적 요소만 처리하는 기능을 분배해 서버의 부담을 줄일 수 있음
      웹서버,앱서버,WAS,APP이란?
  1. API/ Web API/ REST API

    • API(Application Programming Interface)는 소프트웨어끼리 상호작용할 수 있도록 정의된 간단한 계약(인터페이스)
    • Web API는 개발자가 앱을 통해 사용자의 웹 브라우저에서 상호작용할 수 있도록 하는 코드 기능들의 집합(프로젝트할 때 썼던 geolocation API 같은 것)
    • RESTful API는 REST를 기반으로 따라야할 제약 조건을 모두 준수한 API

    REST에 대한건 아무리 읽어봐도 뭔소린지 모르겠다 내일 다시 더 찾아봐야겠다...
    REST API(RESTful API, 레스트풀 API)란?

  1. Gateway/ API Gateway

    • 프로토콜이 서로 다른 네트워크간에 통신을 가능하게 하고 다른 네트워크로 들어가는 지점, 하나 이상의 프로토콜을 사용하는 것이 라우터와 다름
    • API Gateway란 백엔드 시스템 및 서비스에 대한 액세스를 제어하는 방법 -> 여러 API를 사용할 때 사용자 로그 및 API호출 등 공통으로 가지는 기능을 중복으로 개발하는 문제점을 해결
    • Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스
      네트워크 항해의 첫 관문 - 게이트웨이
      API 게이트웨이란 무엇입니까?
      Amazon API Gateway
  2. VPC

    • Virtual Private Cloud(사용자가 정의하는 가상의 네트워크), 독립된 네트워크를 구성하기 위한 가장 큰 단위
    • vpc별로 네트워크 구성 가능 -> 네트워크 설정을 다르게 줄 수 있음(독립됨) => 각각의 vpc끼리 통신할 수 없는 이유
  3. RDS

  4. Proxy

  5. WAF

  6. SQLInjection

  7. Route53

  8. nslookup

오늘의 에러


가비아에서 구매한 도메인의 네임서버를 aws의 route53으로 변경하면서 발생한 오류이다 네임서버의 호스트명을 수정할 때 네임서버호스트명을 정확히 입력하라는 메시지가 뜬다면 호스트명 끝에 마침표(.)를 빼고 적어야 한다 이유는 아직 잘 모르겠지만 더 찾아봐야겠다... 뭐라고 검색해야 내가 원하는 내용을 찾을 수 있을지 단어를 바꿔가며 검색을 해봐도 속시원한 답을 찾기가 쉽지 않다

To-do List

서버리스 백엔드 2 복습, db강의 듣기

0개의 댓글

관련 채용 정보