오늘 배운 것🤓
AWS Lambda
- 이벤트에 대응하여 코드를 실행하는 serverlss 서비스
- 별도의 물리적인 서버도, EC의 인스턴스도, 환경도 필요없이 코드를 실행시킨다.
- 특정 이벤트에 대한 반응으로 사용하는 것이 일반적
- 생성할 때 "블루프린트 사용"을 누른다면 AWS에서 제공하는 이미 존재하는 코드를 실행해볼 수 있다.
AWS API Gateway
- 규모와 관계없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스
- 개인적으로 이 서비스가 가장 충격적이기 때문에 나중에 자세하게 블로그 작성할 예정
Docker
- 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스
- 소스코드 뿐만 아니라 독립된 가상화 환경을 같이 배포한다.
- 더 많은 SW를 더 빨리 제공하기 위해 만들어졌다.
- 운영 표준화, 원활한 이전, 비용 절감 등의 장점이 있다.
- Docker를 편하게 관리하기 위해 Kubernetes를 사용한다.
- Docker를 설치하면 docker hub를 통해 이미지를 주고 받을 수 있다.
- 여러개의 Docker file을 한 번에 띄우거나 관리하기 위해 Docker-compose를 사용한다.
ECS/ECR
- AWS에서 제공하는 Docker 서비스
- ECR : Elastic Container Registry
- ECS : Elastic Container Service
- ECR은 image를 저장하는 docker-hub와 같은 역할을 하고,
ECS는 ECR에 저장된 image를 기반으로 서비스를 구동하는 서비스이다.
- ECR은 ECS에 속한 서비스로써 AWS에서 바로 찾을 수 없고 ECS 페이지 안에 있다.
- ECR에 접근하기 위해서는 권한이 필요하다.
IAM -> ecr-fullaccess
CloudWatch
- 애플리케이션을 모니터링하고, 성능에 대한 대응 및 리소스 사용량을 모니터링하여 최적화할 수 있는 도구
- 대시보드를 통해 리소스 상태를 평가하고 시각화해준다.
- 특정 임계치에 도달하면 알림을 보내주고, auto scaling을 해준다.
- 모든 애플리케이션에 대해 로그를 남겨준다. 발생된 로그를 관리하고 분석하며, S3로 로그 데이터를 넘기는 역할을 한다.
- 분석을 토대로 insight를 제공한다.
DevOps
- Devops는 개발(Develop)과 운영(Operation)의 합성어이다.
- 개발의 중심이 되며, CI/CD 중심의 업무를 한다.
- SW LifeCycle의 반복적인 일을 자동화하고 장애를 해소시키는 역할을 한다.
- 의사소통은 필수 스킬이며, 프로그램, 운영체제, 서버 관리, 오픈소스, 클라우드 등 전반적인 IT Technical skill을 두루 갖추고 있어야 한다.
그만큼 힘들고... 고되고...
MLOps
DevOps + Data Engineer + Machine Learning
모두 갖춰야하는 직군이다.
느낀 점😊
오늘은 가볍게 서비스에 대해서 훑었다. 배우면 배울수록 직접 적용해보고 싶다는 생각이 뿜뿜! 이번주는 알고 싶은 기술만 잔뜩 배웠다. 수업과 병행하며 조금씩 조금씩 찾아봐야겠다.