728x90

개인공부 19

[Server] Docker & Kubernetes

도커(Docker) 도커 소프트웨어는 리눅스 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술이다. 컨테이너 기반의 오픈소스 가상화 플랫폼이라고 불리는데, 그렇다면 여기서 말하는 컨테이너는 무엇일까? 📦 컨테이너 : 애플리케이션과 이를 구동하는 환경을 Host OS로 부터 격리한 공간(이미지를 실행한 상태) 응용 프로그램의 종속성과 함께 응용 프로그램 자체를 패키징 또는 캡슐화해서 격리된 공간에서 프로세스를 동작시키는 기술 컨테이너는 일반적으로 마이크로 서비스로 사용됨 마이크로 서비스는 전체 애플리케이션 서비스를 기능별로 나눈 것 -> 변경과 조합이 가능 기능별로 나누어져있는 각각의 마이크로 서비스는 빠르게 배포가 가능함 분리해서 사용하기 때문에 개별 변경사항이 분리된 다른 기능들에 영향을 미치지..

개인공부/BE 2022.03.21

[Ops] DevOps에 대한 (간략한) 정리

📝 DevOps 모델 정의 DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상 시키는 '문화 철학' 과 '방식 및 도구'의 조합이다. DevOps를 사용하는 조직은 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있다. 이런 빠른 속도를 통해 더 나은 고객지원은 물론 더 효과적인 시장 전략을 만들 수 있다. 💾 DevOps 작동 방식 이 모델에서는 개발팀과 운영팀이 고립되어 존재하지 않는다. 이 두 팀이 단일팀으로 합쳐서 엔지니어가 개발에서 테스트, 배포, 운영에 이르기까지 전체 애플리케이션 수명 주기에 걸쳐 작업하고 단일 기능에 한정되지 않은 광범위한 기술을 개발하게 된다. 이런 팀에서는 속도가 느리고 수동으로..

개인공부/BE 2022.03.14

[React] 넷플릭스 메인 화면 클론 코딩

넷플릭스 메인화면을 React로 클론 코딩해보려 한다. 넷플릭스 안 본지 진짜 오래되었는데... 컨텐츠 말고 맨날 메인 화면만 보고 있었던 탓인지 메인화면은 대충 떠오르는 것 같다. (솔직히 뭐 보지 고민하느라 메인화면 보는 시간이 실제 컨텐츠 보는 시간 보다 길었던거.. 나만 그런거 아니지) 기본적으로 아래의 영상을 기반으로 한 클론 코딩이다. https://www.youtube.com/watch?v=XtMThy8QKqU TMDB의 영화 정보 API를 이용해서 메인 화면에 영화 정보를 넷플릭스의 메인화면 처럼 보여주는 코드를 구성했다. React 공부에 치중을 둔 프로젝트인 만큼 실제 서비스의 동작은 하지 않는다. 우선 기본 index 페이지 코드는 다음과 같다. 이 코드에서는 후에 우리가 사용할 루트..

개인공부/FE 2022.03.11

[Web] CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)

사실 이 개념은 프론트엔드, 백엔드 어느 한 쪽에 국한 되는 개념은 아니다. 내가 이 개념을 프론트엔드 공부할 때 접한 개념이었어서 FE카테고리에 넣은 것이지, 이 개념이 FE에 한정되는 개념이 아님을 밝히고 시작하려 한다. 우선 CORS의 정의는 다음과 같다. 추가 HTTP 헤더를 이용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 이 정의만 보면 무슨 이야기인지 잘 와닿지 않을 것이다. (나도 처음 접할 때 무슨 말인지 한참을 들여다봤다.) 위의 말을 다른 표현으로 쓰자면, 브라우저 관점에서 origin이 다른 서버를 바로 호출 할 수 없다는 이야기이다. 예를 들면, 내가 "https://aaaaaaa.com"라는 ..

개인공부/FE 2022.03.02

[Node.js] 네이버 파파고 API Node.js에서 사용하기

네이버 파파고 클론 코딩을 하면서 이 코딩에 핵심인 파파고 API를 쓰는 방법을 정리해보려한다. 우선 Node.js 개발환경이 구성되었다는 가정 하에 진행한다. 제일 먼저 할 일은 네이버 개발자 센터에서 내 애플리케이션을 등록하고, API 키를 발급받는 것이다. https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com 이 사이트에서 내 애플리케이션을 등록하고, 사용할 API를 지정하는 등 과정을 모두 마치면 하단의 사진 처럼 ID..

개인공부/BE 2022.02.23

[Server] AWS 인프라 구축 가이드 - 3 AWS Auto Scaling을 이용한 다중 서버 구성 (2)

이전 내용에 이어서 정리를 진행할 것임 https://paabaep.tistory.com/16 [AWS 인프라 구축 가이드] - 3 AWS Auto Scaling을 이용한 다중 서버 구성 (1) 다음은 서버 단위의 로드밸런서의 구조이다. 여기서 초록색 상자의 부분이 Auto Scaling 그룹이다. AWS Auto Scaling 그룹 - AWS에서 제공해주는 자동 다중 서버 서비스 - 똑같은 EC2 인스턴스들이 묶음(사 paabaep.tistory.com AWS Auto Scaling 그룹의 구성 오토 스케일링 그룹을 생성하기 위해서는 이를 자동으로 생성할 EC2 인스턴스를 먼저 골라야 함 위의 그림에서는 B인스턴스를 골랐고, B인스턴스의 OS, 디스크 내용등을 스냅샷으로 만들어 AMI(Amazon Ma..

개인공부/BE 2022.02.01

[Server] AWS 인프라 구축 가이드 - 3 AWS Auto Scaling을 이용한 다중 서버 구성 (1)

다음은 서버 단위의 로드밸런서의 구조이다. 여기서 초록색 상자의 부분이 Auto Scaling 그룹이다. AWS Auto Scaling 그룹 - AWS에서 제공해주는 자동 다중 서버 서비스 - 똑같은 EC2 인스턴스들이 묶음(사유 : 같은 AMI*을 이용해서 만들어진 인스턴스이기 때문) - 자동으로 인스턴스들의 수를 조절해줌 - 서비스를 안정적으로 운영 가능, 비용 절감에도 효과적 *AMI(Amazon Machine Image) - 인스턴스를 시작하는데 필요한 정보 제공 - 인스턴스를 시작할 때마다 AMI 지정이 필수 - AMI가 포함하는 내용 1개 이상의 Amazon Elastic Block Store(Amazon EBS) 스냅샷 또는, 인스턴스 스토어 기반 AMI의 경우, 인스턴스의 루트 볼륨에 대한..

개인공부/BE 2022.01.18

[Server] AWS 인프라 구축 가이드 - 2 웹 서버와 웹 애플리케이션 서버

기본적으로 서버 인스턴스에는 서버 소프트웨어가 필요하다. (클라이언트의 요청을 받아 응답하거나, 요청을 처리하기 위해) 이 서버 소프트웨어는 크게 웹 서버와 웹 애플리케이션 서버로 구분되는데, 먼저 웹 서버는 다음과 같다. - 클라이언트에서 HTTP 프로토콜로 요청을 받고 정적인 파일로 응답 -> 정적인 내용 그대로 응답으로 주는 건 가능 하지만, 애플리케이션 코드를 실행한 결과를 줄 순 없음 - 따라서 서버에서 코드를 실행할 필요가 있는 애플리케이션은 웹 서버만으로는 실행할 수 없음 - EX) nginx, Apache... 웹 애플리케이션 서버(WAS-Web Application Server)에 대한 설명은 다음과 같다. - 클라이언트의 요청에 대하 코드 실행을 하고 이를 통해 동적인 응답을 만들어주는..

개인공부/BE 2022.01.10

[Server] AWS 인프라 구축 가이드 - 1 운영 서버 아키텍처들

자주 사용되는 운영 서버 아키텍처들에 대해 정리해보자 1. 단일 서버 - 가장 기본적인 구성 - 매우 단순한 구성인 만큼 테스트 서버나 간단한 애플리케이션을 구동할 때 사용 - 단점 1. 전체 서비스에 장애가 생길 확률 높음 2. 서버의 자원을 효율적으로 사용하기 어려움 3. 보안성이 떨어짐 4. 서버의 수를 여러대로 늘려서 자원을 확장하는 스케일 아웃(scale-out) 작업이 힘듬 2. 애플리케이션/데이터베이스 서버 분리 - 단일 서버 구성에서 DB만 별도로 뺀 구성 - 전체 서비스 장애 확률, 효율적인 자원 사용 어려움, 보안성 저하 등의 단점이 해결됨 - 단점 1. 구성이 복잡해짐 2. 서버사이의 지연시간과 네트워크 보안을 고려하기 시작해야함 3. 스케일 아웃은 여전히 힘듬 3. 서버 단위의 로드..

개인공부/BE 2022.01.03
728x90
반응형