Serverless
5451 단어 번역하다
7 개의 오픈 소스 플랫폼부터 서버 없는 컴퓨팅 사용
Serverless computing은 기존의 소프트웨어 개발을 바꾸고 있습니다.이러한 오픈 소스 플랫폼은 당신이 입문하는 데 도움을 줄 것입니다.
최근 서버리스라는 단어가 갈수록 많은 대화에 등장하고 있다.먼저 이 개념과 이와 관련된 몇 가지 것, 예를 들어 서버 계산과 서버 플랫폼이 없다는 것을 이해하자.
Serverless는 FAAS로 자주 사용됩니다.서버리스는 서버가 없다는 게 아니라사실상 서버가 매우 많고 심지어 성능도 매우 강하다. 이것은 공공 클라우드 공급자에게 응용 프로그램을 배치, 운행, 관리하는 서버를 제공한다.
Serverless computing은 신흥 기술로 개발자가 소프트웨어를 구축하고 납품하는 방식을 바꾸었다.그것은 인프라 시설과 코드를 분리하여 개발 과정을 간소화하고 원가를 낮추며 효율을 높인다.저는 Serverless computing과FaaS가 기업 IT의 다음 시대, 클라우드 로컬 서비스와 혼합 클라우드를 정의하는 데 중요한 역할을 할 것이라고 믿습니다.
Serverless 플랫폼은api를 제공하여 사용자가 코드 함수(조작이라고도 부른다)를 실행하고 모든 함수의 결과를 되돌려줍니다.서버 없는 플랫폼은 개발자가 함수 결과를 검색할 수 있도록 HTTPS 터미널도 제공한다.이 단말기들은 다른 함수의 입력으로 사용할 수 있으며, 관련 함수의 트리거 이벤트 (또는 링크) 를 제공할 수 있다.
대부분의 서버less 플랫폼에서 사용자는 함수를 실행하기 전에 함수를 배치하거나 생성합니다.서버리스 플랫폼은 필요할 때 이 함수를 실행하기 위해 필요한 모든 코드를 가지고 있습니다.serverless 함수의 실행은 사용자가 명령을 통해 수동으로 호출할 수도 있고 이벤트 원본으로 촉발할 수도 있습니다. 이 이벤트 원본은cron 작업 경고, 파일 업로드 또는 다른 이벤트에 응답할 때 활성화 함수로 설정됩니다.
다음 7개의 소스 오픈 플랫폼은 서버리스 컴퓨팅을 제공한다
Kubernetes는 서버리스와 마이크로서비스를 관리하는 가장 유행하는 플랫폼으로 세분화된 배치 모델을 사용하여 작업 부하를 더욱 빠르고 쉽게 처리할 수 있다.Knative 서비스를 사용하면 Kubernetes에서 서버가 없는 응용 프로그램과 함수를 구축하고 배치할 수 있으며 Istio를 사용하여 고급 장면을 확장하고 지원할 수 있습니다. 예를 들어 다음과 같습니다.
Knative 소자 초점 거리는 로컬 클라우드에서 응용 프로그램을 구축하고 실행하는 방법을 해결하는 데 도움이 됩니다.예를 들어 운행행 서비스를 이벤트 생태계에 귀속시키고 배치 기간의 루트와 데이터 관리, 수요에 따라 자동으로 확장하고 작업 부하의 크기를 조정한다.Istio는 개방적인 플랫폼으로 마이크로서비스를 효과적으로 연결하고 보호할 수 있으며 여러 역할의 상호작용을 고려하는 구조를 설계한다. 이는 개발상, 운영자와 플랫폼 공급자를 포함한다.
예를 들어 Knative 서비스를 사용하여 로컬 Minishift 플랫폼에 서버 부하가 없는 JavaScript를 배치할 수 있습니다. 코드 세션은 다음과 같습니다.
## Dockerfile
FROM bucharestgold/centos7-s2i-nodejs:10.x
WORKDIR /opt/app-root/src
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080 3000
CMD ["npm", "start"]
## package.json
{
"name": "greeter",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "~4.16.0"
}
}
## app.js
var express = require("express");
var app = express();
var msg = (process.env.MESSAGE_PREFIX || "") + "NodeJs::Knative on OpenShift";
app.get("/", function(req, res, next) {
res.status(200).send(msg);
});
app.listen(8080, function() {
console.log("App started in port 8080");
});
## service.yaml
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
name: greeter
spec:
configuration:
revisionTemplate:
spec:
container:
image: dev.local/greeter:0.0.1-SNAPSHOT
로컬 Kubernetes 플랫폼에서 Node를 구축합니다.js 서버less 응용 프로그램을 설치하고 서비스를 배치하기 전에 Knative, Istio, Knative 구성 요소를 미리 설치해야 합니다.
1. 다음 명령을 사용하여 Docker 데몬에 연결합니다.
(minishift docker-env
) && eval
(minishift oc-env
)
2. Jib 명령을 사용하여 serverless 응용 프로그램 컨테이너 이미지를 구축합니다.
./mvnw -DskipTests clean compile jib:dockerBuild
3. 把serverless服务如Minishift部署到您的Kubernetes集群:
kubectl apply -f service.yaml
결어
위의 예는 로컬 클라우드 플랫폼 (예를 들어 Kubernetes, Knative 서비스, Istio) 을 사용하여 서버 없는 응용 프로그램을 개발하는 방법을 보여 준다.
/article/18/11/open-source-serverless-platforms
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue 프로젝트 패키지 컴파일 최적화 방안그 안에 js 디렉터리가 있습니다. 이 프로젝트가 컴파일된 모든 js 파일을 저장합니다. 우리는 모든 js 파일에 상응하는 것이 있다는 것을 발견했다.맵 파일은 코드를 디버깅하는 데만 사용되며, 패키지 속도를 높일 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.