인터넷 기반의 컴퓨팅, 즉 인터넷 상의 가상화된 서버에 프로그램을 두고
필요할때마다 컴퓨터나 스마트폰 등에 불러와 사용하는 서비스이다.
인터넷 통신망 어딘가에서 구름에 싸여 보이지 않는 컴퓨팅 자원(CPU, 메모리, 디스크 등)을
원하는 대로 가져다 쓸 수 있다.
로컬 또는 개인용 컴퓨터에서 파일 및 데이터에 액세스하는 대신 인터넷 지원 디바이스에서 온라인으로 액세스하므로 언제 어디에서나 필요한 정보를 사용할 수 있습니다.
software를 service로 이용하겠다 라는 뜻
Cloud환경에서 동작하는 응용프로그램을 서비스 형태로 제공하는 것을 Saas라고 합니다.
SaaS는 클라우드 서비스 형태 중 가장 완성된 형태의 클라우드 서비스이다.
SaaS를 이용할 경우 사용자는 인프라 구축, 개발 환경 세팅 및 소프트웨어 개발에 소요되는 비용을 절약할 수 있기 때문에 자체적으로 소프트웨어를 개발하는 것 대비 초기 비용을 대폭 줄일 수 있다.
하지만, 인터넷 연결 상태에 따라 서비스의 성능이 달라질 수 있고, 제공 업체가 이미 만들어 놓은 소프트웨어 그대로 사용해야 하기 때문에 불필요한 기능이 비용에 포함되어 있기도 하다.
‘마이크로소프트365’나 ‘구글doc’등이 SaaS에 해당된다.
내가 사용료를 내고 프로그램을 관리하는게 아니라, 그냥 사용하면 되는 ..
소프트웨어를 서비스처럼 사용하는게 SaaS
대부분의 서비스는 인증(Authentication)과 리소스에 대한 권한부여(Authorization)기능이 필요합니다.
인증과 권한부여 기능은 다양한 방법으로 제공되고 있는데 대표적인 방법으로 OAuth
를 사용하고 있습니다. Facebook, Google, Twitter 등 대형 서비스에서 널리 사용되고 있기 때문에 많은 개발자에게 친숙한 방법
인증 및 권한부여를 위해서 OAuth 프레임워크의 현재(2017.03.13) 버전은 2.0이며 해당 버전의 스펙 문서는 RFC 6749에서 확인할 수 있습니다.
OAuth 2.0은 인증 및 권한부여에 관한 기본적인 흐름(flow)뿐만 아니라 목적에 맞게 확장할 수 있도록 설계 되어 있다.
OAuth는 서버와 클라이언트 사이에 인증을 완료하면 서버는 권한부여의 결과로써
`access token`을 전송합니다.
클라이언트는 `access token`을 이용해서 접근 및 서비스를 요청할 수 있습니다.
서버는 `access token` 기반으로 서비스와 권한을 확인하여 접근을 허용할지 말지를 결정하고,
결과 데이터를 클라이언트에게 보내줍니다.
서버는 `access token`을 기반으로 클라이언트를 확인하여 서비스하기 때문에,
세션(session)이나 쿠키(cookie)를 이용해 클라이언트의 상태정보를 유지할 필요가 없습니다.
엑세스 토큰(Access Token)은 로그인 세션을 위한 보안자격(security credentials)을 가지고 있으며,
이는 사용자/사용자 그룹/사용자 권한/특별한 경우 응용프로그램을 식별
스프링 프레임워크 기반 프로젝트를 어려운 설정이나, WAS에 대한 설정 없이
바로 개발에 들어갈 수 있도록 만든 프레임워크
이다.
스프링 클라우드란 스프링 프레임워크 환경에서 마이크로서비스아키텍처(MSA)
를 구축할 수 있도록 도와주는
Spring Boot기반의 프레임워크
다.
쉽게말해 분산환경 시스템을 구축하는데 도움을 주거나 관리할 수 있는
프로젝트(Spring cloud는 Spring community인 spring.io에서 오픈소스 프로젝트여서 프로젝트라고 일컬음)
들을 의미
결국 컨테이너를 관리하기 위한 툴
도커는 컨테이너를 배포 하기위해 쓰이는데, 여러개의 컨테이너를 동시에 켜야 한다면, 수동으로 해줘야한다.
그래서 많은 컨테이너를 갖고잇을 때 수동으로 일일히 킬 수 없어서 나온게 쿠버네티스!
쿠버네티스는 자동으로 컨테이너도 생성해줌!
만약 많은 사람들이 갑자기 웹사이트에 접속했는데 트래픽이 걸릴거같으면 자동으로 컨테이너를 생성해줌;;
쿠버네티스가 알아서 알맞은 수를 찾아서 컨테이너 숫자를 줄였다가 늘렸다가 해준다.
서버를 끌 일이 X
컨테이너에 신규버전을 업데이트를 한다 생각하면, 원래는 잠시 서버를 껐다가 신규버전 올리고 재시작 했어야 하지만, 쿠버네티스는 서버를 끄지않고도 자동으로 업데이트를 해서 서버를 끌 일이 없음!!!!
이게 쿠버네티스를 쓰는 이유
임
하지만 많은 컨테이너를 운영하고 잇지 않다면 굳이 쿠버네티스를 사용할 이유는 없다.
이스티오(Istio)는 서비스 메시가 더 복잡해지기 전에 이를 관리하는 기술
2017년 5월에 Google, Lyft, IBM에서 내놓은 서비스 메쉬(Service Mesh) 솔루션입니다.
서비스 메쉬는 마이크로서비스아키텍처(MSA) 구조에서 각 서비스들간의 트래픽을 제어하는 역할을 합니다.
레드햇이 만든 SSO 오픈소스
인증과 인가표준(SAML, OAuth 2.0 등)을 제공
Git
SVN
CVS
Perforce
SourceSafe
소스코드 변경사항, 변경사항을 '버전'이라는 개념을 통해 관리하는 기능을 포함해
프로젝트와 관련된 모든 변경사항을 관리하는 것
최소기능제품이라는 뜻
좀 더 간단하게는 '최소 기능 제품' 혹은 '최소 요건 제품' 정도로 생각하면 될 것 같다.
여기서 말하는 최소 기능이란 고객이 꼭 필요로 하는 기능들이다.
최소 기능 제품이라고 해서 대충 껍데기만 있는 제품을 말하는게 아니라
고객이 실제 실행하려는 비즈니스가 올바로 동작하는 최소한의 기능을 갖춰야 한다.
MVP
를 통해 고객에게 필요한 기능을 빠르게 제공함과 동시에, 고객으로부터 피드백을 받을 수 있다.
MVP 패턴은 MVC 패턴에서 Controller를 제거하고 Presenter를 추가한 것 입니다.
Controller 대신에 Presenter로 대체한 이유는 View와 Model의 의존성을 없애기 위함
mvp 설명 잘해놓은 블로그 참조하면 더 많이 알 수 있음!