AWS(Amazon Web Services)에 관한 영상(www.youtube.com/watch?v=OpoVuwxGRDI) 내용에 대한 개념 정리

 

 

1) 클라우드( Cloud )란?

- Cloud = Cloud computing service

- 인터넷을 통해 액세스할 수 있는 서버와 이러한 서버에서 작동하는 소프트웨어와 데이터베이스

 

- 물리적으로 1대인 컴퓨터를 가상의 공간으로 쪼개어, 여러 대의 기능을 하는 것.

  (컴퓨터의 물리적 자원을 필요에 따라 분할해서 사용할 수 있다)

 

- 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것

 

- 해당 서비스를 제공하는 업체에서 필요에 따라 늘어나는 자원을 늘리거나 줄여줄 수 있다.

 

 

 

2) 온프레미스(On-premise)란?

 

 

 

 - 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식

 

3) 서비스 범위에 따른 명칭

 

- 하드웨어의 자원만을 제공하는 Iaas(Infrastructure As A Service)

 

- 하드웨어를 포함한 가상서버를 제공하는 Paas(Platform As A Service)

 

- 하드웨어, 가상서버, 소프트웨어까지 제공하는 Saas(Software As A Service)

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

폭포수 모델( Waterfall Model )  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24
MVC ( Model View Controller )  (0) 2021.04.19
HTTP와 HTTPS  (0) 2021.04.19
쿠키, 세션, 캐시  (0) 2021.04.18

 

 

- MVC ( Model View Controller ) 패턴이란?

: 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러가 데이터와 비즈니스 로직 사이의 상호동작을 관리하는 소프트웨어 공학 패턴

 

1) 모델 ( Model )

: 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다.

즉, 데이터베이스에 담긴 정보에 대한 CRUD를 하고, 변경점이 있을 시, view와 controller에 통보한다.

 

2) 뷰 ( View )

: 사용자가 볼 데이터를 생성하기 위해 model로부터 정보를 얻어온다.

 HTML, CSS, javascript를 다룬다.

 

3) 컨트롤러 ( Controller ) 

: Model과 view의 변경점을 각각에게 통보하는 다리 역할을 한다.

 

- 비즈니스 로직에 대한 처리 문제

 : 데이터를 직접적으로 DB에 저장하는 코드는 model에 넣고, 사용자가 입력한 데이터의 형식이 올바른지 정도에

 대한 검사는 controller에서 하는 것이 바람직하다. 

예) 글자 수의 제한은 controller , 양식에 맞게 받은 데이터에 대한 처리는 model 에서.

 

 

 

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

폭포수 모델( Waterfall Model )  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24
AWS(Amazon Web Services)에서 파생된 개념 정의  (0) 2021.04.21
HTTP와 HTTPS  (0) 2021.04.19
쿠키, 세션, 캐시  (0) 2021.04.18

 

 

- HTTPS는 HTTP보다 Secure

 

: 안전(secure)하다는 것은, 사용자가 해당 사이트에 입력한 정보를 제3자가 볼 수 없다는 것과

 해당 사이트가 신뢰할만한 사이트라는 것을 의미.

 

 

1) 어떻게하면 입력한 정보가 보안상 안전할까?

: 기존의 대칭키만 사용하는 방식은 어떤 정보를 암호화, 복호화하는 것이 대칭키 하나를 통해 동시에 가능하다.

 만약 이 대칭키를 누군가 가로챈다면, 해당 유저의 정보가 복호화를 통해 노출되는 것이다.

 HTTPS는 비대칭키 방식을 사용하는데, 암호화만 가능한 공개키를 모든 유저에게 제공하고, 복호화만 가능한

 개인키를 해당 웹사이트가 보관하는 것이다. 그러므로, 유저의 정보는 서버 보안 수준의 보안성을 갖게 된다.

 

2) 신뢰할만한 사이트라는 걸 어떻게 알까?

: 민간 CA(Certificate Authority) 기업이 보장한다. 

  클라이언트의 브라우저는 접속한 웹사이트로부터 인증서를 응답받게 되는데, 브라우저는 CA 정보를 통해

  해당 인증서를 검증한다.

  이 인증서는 CA에서 개인키로 암호화한 상태이고, 브라우저에 저장된 CA의 공개키를 통해 복호화하여 

  확인한다. 만약, 복호화가 되지 않는다면, 해당 사이트에 대한 경고가 나타나게 된다.

  

- 비대칭키의 실질적 활용

 

   실제로 모든 데이터를 주고 받을 때 비대칭키 방식을 사용하는 것은 컴퓨터의 연산에 무리가 있다.

   그래서 대칭키 방식을 사용하고, 이 대칭키를 브라우저와 서버가 공유할 때, 비대칭키 방식을 사용한다.

 

 

 

 

 

 * 주안점 : 어떤 이유로 사용하고, 어디에 사용하는가?

 

 

1) 쿠키( Cookie )

사용자의 브라우저에 저장되고, 통신할 때 HTTP 헤더에 포함되는 텍스트 데이터 파일

이름, 값 만료기간(지정 가능), 경로 정보가 있고 key와 value로 구성.

서버에서 받은 정보를 local에 저장.

 

사용 예) 자동로그인 , 오늘그만보기 팝업창

 

2) 세션 ( Session )

고유의 세션 ID를 사용자에게 부여함으로써 사용됨.

보안성은 local에 저장되는 cookie보다 나으나, server에서 데이터를 전달하기 때문에

cookie보다 속도가 느림.

 

사용 예) 로그인 여부 판별(페이지 이동 시, 다시 로그인하지 않도록)

 

3) 캐시 ( Cache )

Cookie와 동일하게 local에 데이터가 저장됨.

자주 사용되는 resource 파일들을 local에 저장해서 페이지 내 로딩, 렌더링 속도를

높이기 위해 사용됨.

 

 



+ Recent posts