DevOps 부트캠프19 DevOps 부트캠프 Final Project 회고 부트캠프의 마지막 프로젝트도 오늘을 마지막으로 끝났다. 이번 프로젝트는 기간도 길었던만큼 기존 프로젝트에 비해 더 많은 것을 해볼 수 있었던 것 같다. 그래서 이번 프로젝트를 통해 내가 어떤 일을 했으며, 그 과정에서 느낀 점들도 함께 정리해보려고 한다. 프로젝트 정리 이번 프로젝트에서는 사용자가 화물 운송 예약 및 조회 서비스를 구성해 보았으며, 구현한 내용은 다음과 같다. 소비자가 상,하차지 등 운송정보를 입력하면, 해당 플랫폼을 통해 요청이 드라이버에게 전달이 되는 서비스를 구현 예약에 관련된 기능을 수행하는 API 서버가 구현되어 있으며, 이는 ELB와 AutoScaling을 통해 가용성을 보장하고 확장을 용이하게 함. 예약 API 서버의 각 기능이 수행된 후, 분석 가능하게 하기위하여 Elast.. 2022. 6. 7. 쿠버네티스(Kubernetes)란? + workload 쿠버네티스에 대해서 알아보기전에 먼저 컨테이너의 개념과 Docker에 대해 학습을 진행하시면 내용을 이해하는데 도움이 될 것입니다. https://liveloper-jay.tistory.com/90 Docker란?_ 컨테이너와 Docker Summary 우리가 어떠한 애플리케이션을 설치하고 실행을 하려고 한다면, 그냥 실행이 되는 것이 아니라 그에 맞는 환경이 기본적으로 구축이 되어 있을 경우에 정상적으로 실행이 됩니다. 그런데 liveloper-jay.tistory.com Kubernetes란? 쿠버네티스(kubernetes)는 오픈소스로 만들어진 컨테이너 오케스트레이션 도구로, 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등의 관리 기능을 제공합니다. 여기서 '그럼 그냥 Docker Com.. 2022. 4. 25. IaC(Infrastructure as Code)란? _ Terraform Infrastructure as Code DevOps의 주요한 가치 중의 하나는 바로 자동화입니다. 코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다. 즉 코드로 클라우드 인프라의 생성/수정/삭제를 자동화 한다고 볼 수 있습니다. IaC를 사용하면 인프라 사양을 담은 구성 파일이 생성되기 때문에 구성을 편집하고 배포하기가 더 쉬워집니다. 또 이렇게 될 경우 구성에 대한 정보가 코드화 되어있기때문에 구성 변경 사항을 문서화하지않고, 임의로 변경되는 문제를 막을 수 있습니다. 이러한 IaC는 다음과 같은 특징 및 장점을 가집니다. 인프라를 만드는 과정이 자동화되므로, 오류 발생확률이 줄어들고 안전합니다. 코드로.. 2022. 4. 24. DevOps 부트캠프 두번째 오프라인을 마치며... 두번째 오프라인이 3/30~4/5일까지 5일간(주말제외) 진행되었습니다. 오프라인이 끝나고 회고를 바로 작성했어야 했는데 오프라인이후에 찾아온 게으름 + 급격한 체력저하로 미루고 미루다가 이제서야 작성하게 됐습니다ㅠㅠ 잡담은 그만하고 오프라인간 느낀점에 대해서 간략히 작성해보겠습니다! 중간평가 오프라인 첫째날에는 프로젝트를 진행하지 않았고, 지금까지 학습한 내용에 대한 중간평가를 진행했다. 오전에는 코플릿 평가를 진행했고, 오후에는 개념적인 부분들에 대한 평가를 진행했다. 사실 시험치기 전날까지 '문제가 엄청 어렵지 않을까??' 라는 걱정도 많이 됐었는데, 풀어보니 '역시나....' 라는 생각이 들었다. 그래도 코플릿은 어렵지 않았고, 개념도 내가 어려웠던 건 다른 분들도 같이 어려웠던 것 같아 한편으로.. 2022. 4. 17. API Gateway와 Lambda를 이용한 서버리스 애플리케이션 Summary API Gateway - Lambda - DynamoDB 아키텍처로 구성된 서버리스 애플리케이션을 만들고, DynamoDB에 레코드를 추가하는 간단한 람다 함수를 하나 만들고, API Gateway를 통해 이를 호출하고, API Gateway의 인증 기능을 이용해서 HTTP 요청에 특정 API Key를 사용하는 과정까지 진행해보겠습니다. API Gateway - Lambdb 배포 Lambda와 API Gateway 세팅을 한꺼번에 진행하기 위해 SAM을 이용하며, SAM에 대한 참고자료는 다음과 같습니다. https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-instal.. 2022. 4. 17. 마이크로서비스(MicroService)란? _MicroService와 Serverless MicroService와 Serverless가 무엇인지, 둘은 어떤 관계가 있는지를 알아보겠습니다. 모놀리식(Monolithic) 모놀리식은 기존에 많이 쓰이는 전형적인 ‘애플리케이션 구조’ 입니다. 모놀리식은 위의 사진과 같이 다양한 로직을 하나의 서비스로 구성하기 때문에 모든 로직들이 결합도와 의존성을 강하게 가집니다. 그렇기 때문데 각 로직들 간 호출이 빠르고, 시스템 메모리 및 리소스 사용이 좀 더 효율적으로 이루어진다는 장점을 가지게 됩니다. 하지만 로직들이 하나로 결합되어 있기 때문에, 이 중에서 특정 로직만 업데이트를 진행하고자 하는경우 업데이트 하고자하는 로직이 아니어도 영향을 받게됩니다. 그렇기 때문에 업데이트 시 고려해야 할 사항이 많아지게 된다는 단점도 존재합니다. 마이크로서비스(Mi.. 2022. 4. 6. Fastify서버 Docker 실행 시 접속 문제 Summary 프로젝트 진행 중 최초 fastify 서버를 docker를 이용하여 실행시키고자 하였습니다. // fastify의 server.js // Require the framework and instantiate it const fastify = require('fastify')({ logger: true }) // Declare a route fastify.get('/', async (request, reply) => { return { hello: 'world' } }) server.listen(3000, (err, address) => { if (err) { console.error(err); process.exit(1); } console.log(`Server listening at ${a.. 2022. 3. 31. Nginx를 이용한 Reverse Proxy 및 캐시 설정 이번 포스팅에서는 nginx를 이용하여 리버스 프록시 및 캐시 설정을 간단한 예제와 함께 알아보겠습니다. Reverse Proxy 💡 Reverse Proxy란? Nginx가 클라이언트로부터 전달받은 요청을 애플리케이션 서버에 전달한 뒤, 애플리케이션 서버가 반환한 결과값을 다시 클라이언트에 전달하는 방법입니다. 프록시 서버에 요청 전달 먼저 Reverse Proxy 설정을 위해 먼저 nginx.conf 파일을 찾은 후 해당 파일에서 편집기를 실행합니다. (필자의 경우 Ubuntu 20.04 LTS 환경에서 진행중, /etc/nginx 경로에 해당 파일이 존재하는 것을 확인하였습니다) //nginx.conf 위치 찾기 whereis nginx.conf nginx: /usr/sbin/nginx /usr/l.. 2022. 3. 30. DevOps 부트캠프 7주차 회고 이번주는 Docker, YAML, 지속적 통합에 대한 학습을 진행하고 그에 해당하는 아주 간단한 스프린트를 진행해보았다. 진행하면서 내가 느꼈던 점들에 대해 간단히 정리해보려고 한다. It works....Why? "It works....Why?" 이번주는 이 말 한마디로 정리할 수 있을 것 같다. 지난주의 영향인지는 몰라도 이번주는 지난주보다는 빡세다는 느낌이 들지 않았고, YAML 등의 새로운 개념을 접하더라도 기존에 알고 있던 json과 변환을 해가면서 학습을 진행하는 등 정말 생각보다 수월하게 진행했던 것 같다. 학습 뿐만 아니라 스프린트까지 수월하게 진행이 되다보니 이래도 되는건가 싶었는데, 알고보니 다른 분들도 엄청 수월하게 진행하시는 것을 보고 안심(?)이 됐던 것 같다. 추가적으로 왜 되는.. 2022. 3. 27. 이전 1 2 3 다음