물리적인 서버컴퓨터를 랙에 배치하고 배치된 서버 컴퓨터만큼의 메모리를 사용할 수 있다..?
필요한 만큼의 서버 컴퓨터를 대여해주는 서비스.
인프라를 구축하기 위해 컴퓨터자체를 대여해주는 서비스 (ex. AWS EC2)
iaas 에서 소프트웨어를 개발하고 운영하기 위해 필요한 구성을 플랫폼 화해서 제공하는 서비스 (ex. git pages / heroku)
프로바이더에 function을 정의하고 요청에 대한 값을 알아서 처리해주는 서비스
서버리스: 서버가 없는 것이 아닌 서버가 없는 것처럼 관리를 하지 않는다는 의미
함수 호출 횟수에 대한 비용 지불이 존재
소프트웨어를 통해 서버
클라우드 컴퓨팅 서비스를 하는 프로바이더 중 하나. 세계에서 가장 큼
특정한 파일을 저장하고 인터넷상으로 접근하게 하는 서비스.
구글드라이브 iCloud 와 완벽히 같은 형태의 서비스
대게 이미지나 파일을 저장.(정적 파일)
CRA 의 경우 react이기 때문에 뭔가 동적 파일일 것이라 오해할 수 있는데 결국 빌드되는 과정에서 하나의 정적 파일이 생성되기 때문에 정적인 웹사이트라고 한다.
continuous integration continuous Delivery/DEployment 지속적 통합 지속적 배포
PR로 진행되는 단순한 코드 통합이 아닌 테스트하고 유효성 검사를 포함한다.
코드를 테스트하고 정상적으로 작동하는 지 판단.
CI 과정에서 정상적으로 테스트를 마친 코드를 자동적으로 production 환경에 배포하는 것.
설치형: 개발자가 직접 서버컴퓨터에 CI / CD 파이프라인을 설치하는 형태의 플랫폼 (jenkins)
클라우드형: 서비스제공자가 클라우드에서 운영해주는 형태의 플랫폼(travis CI, github actions)
결국 CI / CD 를 도입하기 위해서는 CICD 환경을 구축하고 러닝커브가 발생함. 하지만 왜? 효율 때문.
소프트웨어는 하드웨어에 비해 변경이 쉬움.또한 기업 역시 소비자의 피드백에 따라 프로덕트를 더 좋은 방향으로 빠르게 자주 변화하길 원함.
과거에는 개발자가 하드웨어에 비해 몸값이 저렴.
현재는 기술의 발전으로 하드웨어의 가격이 많이 저렴해지고 개발자의 몸값이 비싸지면서 하드웨어의 사양을 증대시키거나 PaaS 서비스를 활용하여 개발자의 가치 창출에 집중하는 방향으로 산업이 발전하고 변화
main 브랜치에서 코드 변경이 일어나면 wolkflow 실행
on: 트리거 어떤상황에 스크립트를 실행시킬 것인지
push:
branches:
- wanted
name: wolkflow 의 명칭
jobs:
cicd: jobs의 이름
runs-on: 어떤 버전의 컴퓨터를 빌릴 것인지.
steps:
-runs : "hello,github actions"