기본 콘텐츠로 건너뛰기

라벨이 가상화인 게시물 표시

서버리스란 무엇인가?

서버리스란 무엇인가? 말 그대로 서버가 없는것이 아니라 인프라 엔지니어나 개발자가 관리하는 서버가 없다는 뜻으로 해석을 하면 편함 사용자는 클라우드 서비스 공급자가 제공한 주소로 요청을 전송 클라우드 서비스는 메시지를 기반으로 요청에 응답하는 데 사용할 패키지를 찾음 패키지가 선택되면 패키지를 실행할 도커 컨테이너로 로드한다 도커 컨테이너가 실행되고 요청이 처리 생성된 응답을 요청한 사용자에게 전송 클라우드 서버리스 서비스로는 BaaS(Backend as a Service) , FaaS(Function as a Service) 등이 있고 대표적으로 Firebase, AWS Lamda , Azure Functions, Google Cloud Functions 등이 있음 해당 서비스들은 도커 컨테이너가 실행되고 해당 함수 안에 정의된 프로세스를 완료한 시간(초) 만큼 과금이 부여됨 기존 IaaS 등 유휴 서버에 대해서 비용을 지불하는 과금을 서버리스는 유휴 서버에 대해 과금을 지불 하지 않고 실제 함수가 실행된 시간, 리소스 비용만 지불하는 과금 형태 서버리스의 장점 확장성 고가용성 자원의 효율성 비용 절감 관리 서버의 인력 무 지속적인 배포 가능 서버리스의 단점 컨테이너 로드의 대기 시간 ( 기존 아키텍쳐보다 시간이 걸림 ) 클라우드 서비스 업체의 제약조건 클라우드 서비스 업체의 종속성 어려운 디버깅 각 함수마다 배포를 실행 ( 공수가 많이듬 ) 장시간 실행되는 CPU를 많이 사용하는 작업 불가 실시간 처리에 적합하지 않음 빈번한 서버 함수 호출에 적합하지 않음 참고자료 https://github.com/PacktPublishing/Building-Serverless-Web-Applications https://www.xenonstack.com/blog/serverless-openfaas-java/ https://velopert.com/3543

Create Custom Stack in Eclipse Che

커스텀 Image Stack 만들기 Eclipse Che 에서는 Docker Container 기반의 Workspace를 제공한다. 개발환경을 좀더 손 쉽게 만들어주는데 일반적인 Java, Python, Node js 등 다양한 언어들의 기본 개발 환경이 eclipse che 기본 stack 으로 구성되어 있다. 하지만 더 나아가 기본 개발환경에서 추가적으로 라이브러리를 설치하고 사용하려고 할때를 위해 Custom Stack 을 제공한다. 하지만 Eclipse che 에서 실행 될수 있는 Docker image를 만들기 쉽지 않기 때문에 저는 기존에 있는 Stack 을 생성하고 생성된 Container에 앞으로 사용할 라이브러리를 설치하고 해당 Container를 이미지화 시키는 것으로 Custom Stack 을 만드려 한다. 아래의 내용을 잘 따라 하면 Custom Stack 을 쉽게 만들수 있을 것이다. 1. Custom 하기 위한 언어의 기본 베이스 스택을 선택 (Workspace 만들기) Python에 Tensorflow를 설치하기 위해 Python stack 을 선택후 Workspace를 생성 했다. 2. 생성한 Workspace의 Open IDE 환경 Terminal에서 라이브러리 설치 Python 라이브러리 설치 제대로 설치 됐는지 확인을 해볼 필요가 있다. 3. Docker Image 만들고 Repository에 등록 Eclipse Che 가 설치된 Local Docker repository 나 Public Docker hub 를 사용한다 Public Docker hub 를 이용하기 위해 Docker 에 로그인 한다 $ docker login 서버에 접속하여 image 만들 컨테이너를 선택한다  $ docker ps -a {container_id}에 docker ps 에서 본 이미지를 id를 넣어 이미지화 시킨다 $...

blockchain 이론

이론편 Blockchain Structure 1.       비트코인 구조 비트코인의 목적 -  은행과 같은 중앙 기관을 경유하지 않고  P2P  네트워크에서  1 대  1 교환이 가능한 전자 화폐 시스템을 구현하는 것 - P2P  기술과 공개키 암호 및 해시 함수 등 암호 기술로 구현 비트코인 구현 방법 - ‘ 온라인에서 교환이 가능한 전자 화폐 ’  의 기술적 문제를 해결하기 위해 이전 소유자의 본인 보증과 부인 방지를 구현해야 하기 때문에 전자 서명이라는 방법을 사용 -  전자 화폐는 이 화폐가 이중으로 사용된 것인지 아닌지를 증명하기 위해 모든 거래 ( 트랜잭션 )  이력을  ‘ 블록체인 ’ 이라는 대장에 기록하고 네트워크에서 공유함 -  중앙 기관이 하는 일을 네트워크에 참여하는 모두가 담당 -  또한 변조를 막기 위해 거래를  ‘ 블록 ’  이라는 단위로 결합해 앞의 블록 정보를 포함해 해시로 만들어 불가역 데이터를 만듬 -  하지만 위의  ‘ 블록 체인 ’ 이 간단히 만들 수 있다면 블록체인 전체를 위조해 조작할 수 있기 때문에 새로운 블록을 만들기 위해 계산량이 큰 문제를 푸는 방식을 도입 -  중앙 기관이 하는 일을 네트워크에 참여하는 모두가 담당 -  하나의 블록을 만드는데 막대한  CPU  파워가 필요하고  P2P  네트워크에서 블록 생성과 네트워크 전파 시점에 따라 블록체인이 분기하는 상황이 일어난다 -  이에 블록을 만든 사람에게 보상으로  CPU 사용에 대한 인센티브를 제공하고 여러 개의 블록 중 가장 긴 블록체인을 채택함 비잔티움 장군 문제 -  전자 화폐시스템을  P2P  네트워...