본문 바로가기

쉽게 풀어본 IT 기술

dry run 무슨 뜻일까요? Create the query and use the dry-run option to determine the amount of data read, then use the price calculator to determine the cost. 이런 문장이 있어서 찾아봤습니다. dry-run 옵션이란게 dry run은 군대 속어로 '실탄을 사용하지 않는 전투 연습' 즉 '모의 테스트' 라는 의미로 사용됩니다. 위 문장은 시험 삼아 해보는 것으로 생각됩니다. 더보기
기술사 공부 또는 시험 시 볼펜 추천드려요! 파일럿 기술사 공부하면서 알게 되었던 파일럿 볼펜인데요. 1.6mm 이 볼펜이 매직입니다. 왜냐하면 기술사 공부를 하면서 중요한게 글씨도 있는데, 빠르게 쓰는 것인데요. 이 볼펜이 미끄러지는 듯이 잘써서져서 시간을 절약을 할 수가 있습니다. 볼펜 사서 쓰면서 완전히 다 쓰는 경우가 별로 없지만, 기술사 공부하면서는 한다스를 사도 공부하면서 거의 없어지거든요. 특히 완전히 소모되었을 때 나름 짜릿함도 있구요. 완전 추천드립니다. 공부하시면서 한다스씩은 준비하시는 것도 괜찮은거 같습니다. 아래 링크로 접속해서 구매시 "파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음" 말씀드립니다. https://youtu.be/M5rTdvscvHY https://www.youtube.com/watch?v=M9e8VgIa3HU 더보기
Redis와 WAF에 대해서 Redis 캐시 DB같은 형태 - SQL이 먹지는 않음. 키 밸류 형태로 저장 빠른 속도 (마이크로 밀리세컨드 응답 시간)Redis는 수평 확장을 할 수 없지만, 목적에 따라 별도의 클러스터를 생성하고 수요에 따라 클러스터 크기를 지정할 수 있음. 게임 개발사에서 순위 정보를 Redis를 이용해서 서비스 한 사례가 있음. 읽기와 쓰기를 분리해서 사용 가능 읽기와 쓰기 노드는 클러스터로 구성하고 동기화 됨. 노드간 복제 지연현상 발생 한 경우가 있음. 네트워크에서 병목이 생기지 않도록 네트워크 성능도 준비가 되어야 함. 메모리 사이즈에 따른 비용 발생 AWS WAF 웹 공격에 대비하여 강화된 보안애플리케이션 개발 방버과 통합된 보안간편한 배포 및 유지 관리 웹 트래픽 가시성 향상비용 효과적인 웹 애플리케이.. 더보기
소산 백업이란? 소산 백업이란 ? 말 자체가 좀 어려워서 찾아봤습니다. 소산 백업의 의미는 백업된 데이터를 천재지변등 비상사태에 대비하기 위해 일정거리 이상 떨어진 전용 IDC에 보관하여 유사시 복원하여 고객사 사업의 연속성을 제공하는 목적이라고 합니다. 백업이라는 의미인데, 특별히 소산이라는 말이 붙어서 좀더 어렵게 느껴졌는데요. 소산이라는 말 자체를 사전에서 찾아보니 아래와 같습니다. 소산 [疎散, Dispersion] 1. 적의 행동(주로 공격)에 대한 취약성을 감소하기 위하여 제한된 지역에 집중되어 있는 인원, 물자, 설치물(설영) 등을 전술적으로 분산시키고 분리하는 것. 이렇게 되니 좀더 의미가 와닿네요. 백업인데 유사시 대비한 복구용 백업이라고 보면 되겠네요. 어쩌면 DR과도 유사할 수 있는데 DR은 서비스 .. 더보기
기술사 시험 첫모의고사 4월 41점 그해 8월에 필기 합격 벌써 10년전 이야기입니다. 2006년도라고 하면 12년전쯤 이야기겠네요. 막다른 골목에서 기술사 시험이라는 것을 만났습니다. 이 시험에 대한 도전기와 합격 이야기만으로도 하루를 얘기할 수 있을텐데요. 사실 기술사만으로 세상이 바뀔 것이라고 생각했던 때가 있었습니다. 지나보니 좋은 점도 있고, 생각보다 그대로인 점도 있습니다. 너무 얘기가 장황하게 될 거 같아서 이 부분은 나중에 녹음으로 한번 올려보기로 하구요. 취득 후 정말 좋은 점 대기업으로 이직을 했습니다. 대기업 다니시면서 준비하시는 분들에게는 승진에 상당히 유리하다는 점이 있겠구요. 무엇보다 가장 좋은 점은 해냈다는 점인거 같습니다. 성취감 하나는 끝내줍니다. 삶이 그다지 달라지지는 않습니다. 나는 그대로인데, 사람들은 좀 다르게 보나 봅니다... 더보기
아마존 아키텍쳐 교육 중 마스터 계정 - MFA 보관 AWS CloudTrail을 사용하여 마스터 계정의 활동을 모니터링함. 리소스 태깅 태그를 사용하면 직무, 부서, 사업부별 리소스 식별 분류할 수 있음. 계정별 리소스 관리 가능 태그 지정 전략 수립 기술 태그 - 이름, 애플리케이션 ID, 애플리케이션 역할, 클러스터 환경, 버전자동화용 태그 - 날짜/시간, 보안비지니스 태그 - 소유자, 비용, 센터, 사업부, 고객, 프로젝트보안 태그 - 기밀성, 규정 준수 AWS Config를 사용하면 새 리소스 및 기존 리소스가 표준을 따르고 있는지 평가할 수 있음. Amazon CloudWatch는 예상 AWS 요금도 모니터링할 수 있음. 계정마다 Role을 제한하여 부여하고 해당 기능만 사용하도록 기간도 제한 가능 서비스 카타로그는 .. 더보기
아마존 클라우드 아키텍쳐링 기본 아마존 클라우드 필요할 때 확장 가능 하다. 가능한 리소스의 프로비저닝 종료 및 구성을 자동화한다. -> 관리자가 수동으로 서버를 증설하지 않고, 자동으로 늘어남. EC2는 서버라고 하지 않고, 인스턴스라고 한다. -> 서버를 자유롭게 매니지하고 없앨 수도 있어야 함. 서버간 연결은 최대한 느슨한 구조로 한다. -> 독립적인 구성 요소를 가지도록 아키텍쳐를 디자인한다. -> 최대한 작은 단위로 자르고, 관계가 없도록 만들어서 병렬적으로 연계될 수 있게 구성한다. 인프라를 서버로 한정하지 않는다. -> 데이터베이스도 기존 스타일로 한정 지을 필요는 없어진다. -> 무엇을 위해서 쓰는지에 따라서 데이터 핸들링 가능해진다. 단일 장애 지점 제거 -> 한군데 문제 생기면 장애가 나는 구도를 최소화해야 한다. 서.. 더보기
HTML5, 기존 HTML과 무슨 차이일까? HTML에 갑자기 5가 붙으면서 뭔가 많이 바뀐 듯한 느낌을 준다. 무슨 차이일까? 태그, 속도? HTML5도 HTML을 근간으로 한다. HTML태그라는 것들을 모임이고, 일종의 스크립트 언어이다. 가장 중요하고 특징적인 발전은 Socket 일 것이다. Socket은 통신에서 사용된다. 네트워크에서 통신을 할 때 Socket을 만들고, 그 Socket을 통해서 데이터를 주고 받는다. 서버와 클라이언트간의 통신을 한다고 했을 때 서버와 클라이언이언트에 각각 Socket이 생성되고, 이 Socket은 통신을 하기 위한 주체가 된다. 이것이 HTML상에서 구현가능하도록 만들어진 것이다. 왜 획기적이고, 큰 변화일까? 그것은 HTML이 동작되는 원리에서 생각해볼 수 있다. HTML은 홈페이지, 웹사이트의 컨텐츠.. 더보기
인공지능 vs 머신러닝 인공지능은 대세다. 그런데 과연 인공지능은 현 시대의 작품일까? 1956년도에 다트머스 컨퍼런스에서 인공지능에 대해서 정의가 이뤄졌다. 신경망 이론 이라는 단어도 그때 등장을 했다. 왜 신경망 이론일까? 인공지능의 출발은 어쩌면 사람의 두뇌에서 시작했던거 같다. 사람의 두뇌에 보면 뉴런이란게 있으니 그 두뇌를 흉내내보려는 시작이다. 인간은 학습을 하고 그 학습 기반으로 다음의 것을 안다. 기계가 머신러닝-기계학습을 하고 그 학습을 기반으로 다음을 맞춘다면 인간의 뇌와 유사하다. 그래서 인공지능은 반세기가 흘러서야 우리에게 핫하게 다가왔다. 알파고라른 이름으로 알파고가 전부는 아니였다. 이미 체스로는 이미 컴퓨터가 딥블루라는 이름으로 20년전에 세계 체스 챔피언 가리 가스파로프를 꺽었다. 인공지능은 반세기.. 더보기
빅데이터의 실제적인 이야기 데이터가 많다고 해서 빅데이터라는 말로 만들어졌을 것이다. 데이터가 기존에는 필요한 정보들 위주로 저장이 되어서 사용되었다. 사용자 정보라고 하면 언제 태어났고, 어디 살고 있고, 취미가 무엇인지 정도 이것을 가지고, CRM이라고 고객 관리 데이터로 사용을 했다. 데이터베이스는 정형화된 틀 속에 값을 넣고, 그 값이 틀림이 없게 관리하는 것이 기존 데이터베이스의 역할이였을 것이다. 빅데이터는 그 사람의 정보뿐 아니라 그 사람의 행동까지도 기록한다로 생각하면 된다. 그 사람이 하는 행위도 다 기록에 남는다. 그 사람이 무엇을 샀고, 어디로 갔고, 무엇을 먹었는지 사실 과거에 불필요하다고 생각했던 데이터들 또는 데이터베이스에서 구지 관리하지 않았던 시계열(시계열은 시간축을 X로 하여 흘러가는 데이터들) 의 .. 더보기
DHCP는 편리하다. DHCP는 Dynamic하게 IP를 부여 받고, 제공하는 방식이다. IP를 구지 설정하지 않고, DHCP로 설정을 하게 되면 자동으로 IP를 부여 받게 된다. IP를 구지 몰라도 되고, 셋팅하지 않아도 되어 편리하다. IP는 고정IP가 있고, 동적IP가 있다. 고정IP는 일반적으로 컴퓨터나 서버에서 지정된 IP를 설정을 한다. 고정 IP를 사용한다. IP는 00.00.00.00 이런식으로 구성된다. 이런 경우는 사용하고자 하는 수만큼 IP가 확보되어야 한다. DHCP는 동적 IP를 사용한다. IP설정을 하지 않는다. 그럼 DHCP서버에서 임의의 사용할 수 있는 IP를 부여해주고, 그 IP 부여 받은 것으로 인터넷을 쓸 수 있다. 대개 집에서 인터넷 통신사를 통해서 인터넷을 할 때는 고정 IP로 사용하지 .. 더보기
압축의 원리 간단하게 압축이라는 것은 흔하게 많이 접해본 말이다. 원래 크기보다 줄인다라는 의미이다. 어떻게 하면 원래 크기보다 줄일 수 있을까? 압축이 되는 것이 무엇이 있을까? 원리는 무엇인가? 일반 생활에서 압축은 여유 있는 공간을 줄임으로 압축이 될 것이다. 압축을 하는 것은 부피를 줄이는 것이다. 컴퓨터에서의 압축의 대상은 파일이다. 파일의 크기를 줄이는 것이다. 예전에는 파일의 크기를 줄일 필요성이 더 컸다. 디스크 용량도 부족하고 네트워크 속도도 느리기때문에 줄여야 이동도 가능하고, 전송도 가능했다. 그래서 여러가지 압축 기술들이 나오기 시작했다. 외국 제품들이 많이 나왔는데, RAR, ZIP 이런 확장 파일을 갖는 파일들을 만들어주고, 해당 압축된 파일을 풀어주었다. 우리나라에서는 대표적으로 알집이 있었다. 알.. 더보기
TCP/IP의 시작 인터넷의 시초는 1969년 미국 국방성의 연구로부터 시작됐다. 기술 발전은 전쟁, 포르노 산업등에서 시작됨은 공공연한 사실이다. 그리 유쾌한 일은 아니지만, 사람들의 필요에 의해서 출발하고 그것이 사업이 되었을 것이다. 아파넷이라고 불리었고, 대학 연구기간과에서 실험적으로 시작이 되었고, 서로간의 통신을 위해서 시작이 되었다. 아파넷은 점점 커지기 시작했다. 그런데, 상호간의 접속을 위한 프로토콜(일종의 약속)이 필요했고, 이를 위해서 1982년 OSI라는 프로토콜이 만들어졌다. 그런데, 표준규약이 또는 통신사들이 내세우는 표준이라는 것이 뒤떨어지고 또는 너무 무겁기 때문에 실제로는 사용을 안하듯이 이 표준을 뒤로 하고 TCP/IP표준이 더 많이 사용하게 되었다. TCP/IP 프로토콜도 OSI 7 lay.. 더보기
NAT는 사설과 공인 IP 변환기 NAT는 Network Address Translation이다. 말 그대로 하면 네트워크 주소를 변환해주는 것이다. IP는 내부 IP와 외부 IP 개념이 있는데, 외부 IP의 경우는 그 주소로 외부에서도 데이터를 전달할 수가 있다. 유일하게 존재하는 주소가 되고, 그것은 어디서든 접속이 된다. 내부 IP의 경우는 임의로 지정을 할 수가 있고, 내부에서만 연결이 가능하다. NAT는 내부 네트워크에서 외부로 통신을 하기 위해서 주소를 변환해주는 서버이다. 통신을 하기 위해서는 상호간에 외부 또는 공인 IP가 있어야 한다. 내부 네트워크인 경우에 외부에서는 접속을 할 수가 없다. 이를 위해서 NAT는 외부에서도 접속할 수 있는 IP를 제공한다. 외부와 통신이 가능하도록 해당 서버에 IP를 부여해준다. 이렇게 .. 더보기
캐시(Cache) 개념과 원리 캐시는 종종 듣게 된다. 캐시 된 거 아니야? 라는 말을 하기도 하고, 캐시 되어 있어서 빠른거야 라는 말을 하기도 한다. 캐시는 잠시 저장해둔다는 의미이고 기능이다. 캐시 메모리라고 하면 실제 메모리와 CPU 사이에서 빠르게 전달을 위해서 미리 데이터들을 저장해두는 좀더 빠른 메모리이다. 네트워크에서 캐시는 로컬에 파일을 미리 받아놓고, 그 내용을 보거나 웹서버에서도 매번 로딩을 해야 하는 파일들을 미리 로딩해두고, 응답을 주기도 한다. 데이터 베이스를 매번 확인해야 하는것도 캐시서버를 이용한다면 빠른 응답을 해줄 수 있다. 캐시의 원리를 이용한 캐시 서버를 활용하여 CDN같은 서비스도 할 수 있다. CDN은 컨텐츠를 딜리버리 해주는 서버이다. 아주 먼곳에 있는 파일을 매번 가져와야 한다면 네트워크 구.. 더보기
배열을 선언한다는 것은 데이터를 연결하여 저장한다는 개념은 자료구조 상에서 필요하다. 1에서 100까지를 저장한다고 했을 때 여러가지 형태로 저장을 할 수 있다. 변수를 100개 선언할 수도 있다. 가장 쉽게 접근하는 방식이 배열이다. 100개의 저장소를 선언하고 숫자를 각각 저장소에 저장한다. 변수를 100개 선언했다면 물리적인 저장 공간의 위치가 어디 일지 모르고, 연결 여부도 알 수 없다. 대부분은 비슷한 위치일 수 있지만, 꼭 그렇다고 할 수는 없다. 배열은 물리적 공간도 바로 옆으로 메모리 공간을 확보한다. 이런 배열의 물리적 공간 확보로 빠른 엑세스를 보장 받을 수 있다. 단점은 그 공간만큼은 미리 확보하고 사용하기에 혹시 사용하지 않더라도 다른 변수들이 쓸 수 없기에 비효율적인 부분이 있을 수 있다. 배열은 그리고.. 더보기
큐와 스택을 쉽게 비교하면 그리고 배열 컴퓨터 구조에서는 또는 프로그램을 개발을 할 때 큐나 스택이라는 말이 가끔 등장을 한다. 큐와 스택 값을 저장하는 방식인데, 그 형태가 다르다. 큐는 먼저 들어온 값이 먼저 나간다. 가게에서 물건을 사기 위해서 줄을 섰다면 당연하게도 먼저 계산대에 온 사람부터 계산을 해줄 것이다. 그래서 그 사람이 끝나면 다음 사람을 계산해주는 순을 한다. 이렇게 온 순서대로 처리를 해주는 것이 큐이다. 스택은 나중에 들어온 것부터 처리를 해준다. 큐는 지극히 생활속에서 많이 봐왔고, 그렇게 처리하는 것이 당연한 거 같지만, 알고리즘에서는 의외로 스택과 같은 저장 방식이 필요한 상황도 있다. 예를 들면 계산기에서 덧셈 뺄셈 또 곱셈 나눗셈을 할 때 스택이라는 저장 방식을 이용하기도 한다. 우선순위라는 것이 있고, 그 우.. 더보기
컴퓨터 통신 방식 중 동기/비동기란 컴퓨터에서 사용하는 용어 중 동기와 비동기가 있다. 이 중 비동기라는 한글은 영어로 Asynchronous라고 영어로 표기한다. Asynchronous는 대표적으로 Ajax라는 기술의 첫번째 약자에서 사용된다. Ajax(Asynchronous Javascript XML)인데, 이 기술의 특징을 보면 비동기의 의미를 쉽게 알 수 있다. 홈페이지에 접속을 했는데, UI나 테이블 또는 이미지는 그대로 있고, 물론 이미지 갱신도 포함하여 페이지 로딩 시 데이터를 별도로 가져오는 기술이다. API 호출 등을 하여 응답을 받고 표시할 수 있다. 현상적으로 몇가지 얘길 해보면 과거 메뉴나 페이지 넘기기 같은 것을 하면 전체 페이지가 리로딩되어야 했다. 그럼으로써 새로 받은 데이터를 표시해줄 수가 있었다. 최근 보면 .. 더보기
클라이언트/서버 통신 방법 & HTTP 클라이언트/서버 통신 방법 클라이언트는 우리가 사용하는 컴퓨터 또는 스마트폰과 같은 것이 될 수 있다. 기본적으로 클라이언트 측에서 먼저 요청을 한다. 요청을 한다는 것은 어떤 기능을 요구한다는 것이다. 카카오톡도 사용자 중 누군가가 메시지를 작성하고 전송 버튼을 누르게 된다. 카카오톡의 서버가 어떤 구조인지 정확히는 알 수 없지만, 기본적으로 서버는 Listen을 하고 있다. Listen은 들을 준비를 하고 있는 것이다. 그래서 어떤 클라이언트가 어떤 요청을 하는지 또는 연결을 하고 싶어 하는지를 알 수 있다. 웹사이트 접속 시 서버와 클라이언트 동작을 생각해본다면 웹브라우저에서 특정 URL로 접속을 하게 되면 그 URL의 주소값을 DNS라는 서버를 통해서 가져온다. 시스템은 숫자 주소인 IP라는 것이.. 더보기
운영 체제의 핵심, 커널 커널은 운영체제에 있어서 핵심 모듈이다. 운영체제가 시스템이 프로그램이 동작되게끔 하고, CPU, 메모리 디스크를 관리하는 프로그램이라면 커널은 그 운영체제의 핵심 모듈이다. 자동차로 비유하면 엔진 같은 것이다. 커널의 역할을 보면 커널이 어떤 것인지 더 명확하게 알 수 있다. 1) 시스템 콜 인터페이스 어플리케이션에서 시스템으로 어떤 명령을 주고 싶으면 시스템콜이라는 것을 한다. 이 시스템콜이 인터페이스를 통해서 전달이 된다. 접수 창구와 같은 역할을 한다고 보면 된다. 이 콜이 불리면 시스템은 특정 역할을 하게 된다. 디스크 엑세스라든가 네트워크 관련 요청들이 모두 시스템 콜에 해당된다. 2) 프로세스 관리 운영체제는 수많은 프로세스를 관리한다. 프로세스는 실행 중인 프로그램을 말한다. 운영체제는 C.. 더보기
클라우드 컴퓨팅의 활용 사례 클라우드 컴퓨팅을 이용할 수 있는 분야는 전분야라고도 할 수 있다. B2C, 엔터프라이즈 분야, 공공분야, 신사업, IoT 서비스 가능도 가능하다. 물론 기업의 기존 시스템들도 클라우드 환경에서 서비스할 수 있다. 대표적으로 어떤 기능들을 통해서 효과를 낼 수 있는 생각해보면 CDN이 이용이 가능하다. CDN은 Content Delivery Network이다. 대용량 파일이나 이미지 파일들을 빠른 속도로 전파하기 좋다. 이러한 파일 전파에 특화된 서비스이다. 이를 통해서 게임서비스 같은 곳에서 업데이트 시에 파일을 올려두고 단말로 내려받기를 할 수 있으니 쉽게 배포가 가능하다. CDN은 네트워크를 구간별로 특화 시켜서 빠른 속도를 보장하기도 하지만, 일반적으로는 캐시 서버라고 해서 원본 파일을 미리 해당.. 더보기
서버리스 아키텍쳐 서버가 없다? 이제는 심지어 가상화를 뛰어 넘어 서버가 없다. 서버가 없다는 것이 쉽게 이해되지 않는다. 실제로 없는 것은 아니다. 다만 사용자 관점에서는 이제 더이상 신경을 쓸 서버가 없다는 의미에 가깝다. 신경을 쓴다는 의미는 관리 대상에서 생각하지 않아도 된다는 의미이다. 이미 클라우드라는 서비스를 통해서 하드웨어적인 서버는 생각하지 않아도 된다. 그냥 서비스 내에서 인스턴스라는 개념으로 보여지는 것을 껐다 켜거나 생성하거나 삭제 하면 된다. 서버리스는 그 인스턴스 내에서 관리해야 하는 요소를 더 줄였다. 인스턴스 내에는 대개 리눅스 운영체제가 설치되어 있다. 그 이후 웹서버나 WAS서버는 설치를 해야 하고 관리를 해줘야 한다. 인스턴스를 몇대 관리 한다고 하면 이곳에 서버들은 모두 관리의 대상이다. 문제가 생기.. 더보기
API (Application Program Interface) 그리고 OpenAPI 어플리케이션을 개발할 때 이 API로 개발을 한다. 어플리케이션에서 또는 플랫폼에서 API를 제공한다. 그 API를 사용해서 프로그램을 개발할 수가 있다. API는 인터페이스이고, 그 것을 호출한다고 하는데, 부르면 해당 API가 실행된다. 프로그램 내부에서만 사용을 했다면 함수가 될 수 있다. 하지만 외부에서 그 함수를 호출하려면 인터페이스가 필요한데, 이 인터페이스를 API라고 한다. 외부에서 부를 수 있는 함수라고 보면 된다. 물론 실제 단일 함수가 아니라 API를 호출하게 되면 어떤 기능을 수행하기 위해서 내부적으로는 여러가지 함수를 호출할 수 있다. 윈도우 프로그램을 만들때는 API를 이용한다. API 기능 중에는 윈도우를 제어 할 수 있는 기능들도 있고, 화면에 표현을 해주는 API도 있다. .. 더보기
NoSQL은 Not only SQL? NoSQL(Not only SQL)은 기존 방식의 관계형 DB가 아니라 대량 데이터를 위한 고속처리를 위한 DB이다. 왜 NoSQL인가 기존 DB는 데이터 베이스 모델링할 때 관계를 맺고 그 관계 구조 상에서 데이터가 저장이 되고, SQL은 이를 조회하기 위한 문장인데, 이 문장은 이 관계를 기본으로 SQL문이 만들어진다. 이런식의 관계지향은 아니다. NoSQL은 기존 방식의 SQL을 사용하지 않는다. 매우 직관적이며 자료 그대로를 넣는다. 기존 DB가 관계를 나누고 사용할 때는 조합해서 사용했다면 NoSQL은 사용하고자 하는 값을 위주로 저장을 그대로 해둔다. 그리고 그대로 꺼내서 사용한다. 기존에 DB의 많은 예제로 학생 테이블, 과목 인덱스 테이블, 과목 점수 테이블 등이 있어서 저장을 할 때 정규.. 더보기
클라우드 실현 기술, 가상화 클라우드 컴퓨팅이 가능한 기술적인 근거는 가상화이다. 여기서의 가상화는 우리가 일상적으로 말하는 가상과는 약간 거리가 있다. 가상이라고 하면 없는 것을 있는 것처럼 보이는 정도 아닐까 가상현실, 현실에 없는 것을 보여주는 것일터이다. 클라우드 컴퓨팅의 가상화가 가지는 의미는 이런 개념이다. 두대의 물리적인 컴퓨터를 한대의 컴퓨터처럼 보이게 하는 것 또는 한대의 컴퓨터를 두대의 컴퓨터처럼 나눠 쓸 수 있는 것 이 과정에서 실제 물리적으로 나눈다기 보다는 가상적으로 나눈다고 해서 가상화이다. 이러한 것이 가능한 것이 내부 기술 두가지가 있다. 컨테이너와 분산처리 기술이다. 컨테이너는 하나의 OS환경에서 어플리케이션이 실행할 수 있는 독립된 영역을 만들어주고 실제로 OS내부에 또 다른 OS가 있는 것처럼 동작.. 더보기
아마존 클라우드의 데이터베이스 서비스 DB도 아마존 같은 경우 DB를 품고 있다. RDS라는 이름으로 기존 관계형데이터 베이스들을 품고(?) 서비스형태로 서비스를 하고 있다. 품고 한다는 의미는 RDS 서비스를 선택할 경우 구지 DB를 설치 하지 않아도 된다. 인스턴스와 같이 그냥 생성하고 사용하면 된다. MySQL이나 Oracle DB를 설치 하지 않아도 된다. 크게 몇가지 DB 형태가 있는데, RDS, 그리고 DynamoDB, ElasticCache, Redshift DynamoDB는 NoSQL 기반의 DB이다. NoSQL는 기존 관계형 DB에서의 SQL과 다르다는 의미인데, 이를 기반으로 하는 것이다. Why NoSQL은 다시 언급하고자 한다. 왜 기존의 SQL은 NoSQL이라는 물결을 만났을까? 결국 성능과 IoT와 같은 디바이스 대.. 더보기
Why? 클라우드, 클라우드인 이유, 제공되는 기능들 예를 들면 명절에 철도 예매 서비스, 연말 정산 서비스 등 몇몇개 서비스는 플랙서블한 컴퓨팅 자원이 필요한 것들이다. 현재 어떤 서버 구조로 서비스 하고 있는지 보안사항이여서 알 수는 없겠지만, 매우 적합 할 것으로 보인다. 때로는 게임업체에서도 우리나라 게임이라면 시간대별 게임서버 댓수를 달리 함으로써 효율적인 서버 관리를 할 수도 있다. 아무래도 새벽 2-6시까지는 게임하는 사람들이 상식적으로는 적을 것이다. 낮시간에도 적을 수 있다. 하지만 휴일이나 주말에는 늘어날 수 있다. 이러한 때에 맞춰서 서버를 유연하게 관리한다면 비용적인 측면에서 좋고, 프로모션 같은 것을 진행했을때 갑자기 늘어나는 트래픽을 대응할 수 있을 것이다. 클라우드 이용 시 모델에는 퍼블릭 클라우드가 있고, 프라이빗 클라우드가 있.. 더보기
SaaS vs PaaS vs IaaS SaaS는 Software as a Service이다. 기존 방식으로 보면 소프트웨어는 구매를 해서 설치하고 사용을 했다. 장점과 단점이 존재할 수 있다. 일시에 구매를 해야 한다는 점이 그리고 사용하지 않을 수도 있다는 점등에서 진입 장벽이 높았을 수도 있다. SaaS는 소프트웨어를 서비스방식으로 제공한다는 취지이다. 과거 마이크로 소프트 워드 제품을 구매해서 사용해야 했다면 구매 당시에 비싼 제품 비용을 내야 하는 단점과 생각했던 거보다 많이 사용하지 않을 수 있는 리스크가 있다. 이를 제공처에서 한번의 라이센스 구매가 아니라 사용시에 비용을 지불하는 식으로 제공하는 것이다. 그리고 설치방식이 아니라 스트리밍 방식으로 서비스 처럼 제공을 한다. 그리고 데이터도 서버에 저장할 수 있다. 물론 서버는 개.. 더보기
클라우드 컴퓨팅이란? 장점은? 클라우드 컴퓨팅은 클라우드라는 말은 구름이라는 뜻에서 나왔다. 어딘가 존재하는 컴퓨터들이다. 어딘가는 존재한다. 하지만 구지 우리가 알아야 하는 것은 아닌 개념이다. 물리적으로 어떻게 구성되어 있는지 몰라도 된다. 모른다는 것은 큰 리스크이기도 하지만, 편리함을 주는 부분도 있다. 과거 서버 하나를 구입해서 운영을 하는 것까지는 큰 비용과 시간이 들었다. 클라우드 컴퓨팅은 이미 준비되어 있고, 그것을 바로 이용할 수 있다. 서버를 구입하는 것은 매우 큰 돈이 든다. 수천만원에서 수억까지 투자를 해야 서버를 구입할 수 있다. 하지만 클라우드는 몇만원부터 시작이 가능하다. 잘만 이용하면 Free Tier 같은 혜택을 통해서 매우 저렴하게 운영을 할 수도 있다. 편리함과 비용측면이 있는데, 보안 관점에서 우려.. 더보기
인터넷 쿠키와 세션 컴퓨터에서의 쿠키도 먹는 쿠키에서 표현이 나왔을지 모른다. 개발을 하다보면 쿠키로 구웠냐 라는 표현을 하는 것 봐서는 그럴 수 있다. 변수 값을 단말, 클라이언트쪽에 저장하는 개념이 쿠키이다. 달리 서버에 저장되는 것을 세션이라고 한다. 클라이언트나 서버에 왜 무엇을 저장할까 보면 이것이 왜 나왔을지 생각해보면서 개념을 이해하면 좋을 것이다. 웹은 기본적으로 한번 호출하고 응답을 받고 끊긴다. 계속 연결되어 있지 않아서 페이지 호출마다 클라이언트가 누군인지를 알아야 한다. 최소 어떤 데이터들을 보여주려면 어떤 사람의 것인지는 알아야 하는데, 그 사람이라는 것을 매번 알려준다는 것은 번거로운 일일 수도 있고, 보안상 취약점이 노출될 수도 있다. 그러면 값을 저장을 해야 한다. 그러면 이 값을 어떤식으로 어.. 더보기