Technique
-
인프라 기초지식 13. 인프라 운영 part.3Technique/Infrastructure 2016. 4. 3. 23:11
대규모 인프라 관리대규모 인프라를 관리하려면 시뮬레이션에 바탕을 둔 면밀한 사전 준비와 관리체제를 구축해야한다. 대규모 인프라 관리에서 오해하면 안되는 것은 대규모 인프라 관리를 중소 규모 인프라 관리의 연장선에서 파악하는 것이다.대규모 인프라는 인적자원, 데이터센터 공간, 서버, 네트워크 장비, 네트워크대역 등 온갖 자원이 동시에 부족해지는 가운데서 우선순위를 매겨 가며 잇달아 대책을 세워야하는 세계다. 중간 규모 이하의 인프라는 임기응변식의 대응으로도 충분히 시간 내에 대응할 수 있을 때가 많다. 하지만 대규모 사이트에서는 면밀하게 계획을 세운 다음 효율을 추구해가지 않으면 계속 증가하는 기기 관리와 장애 건수에 밀려 운영이 파탄난다.대규모 인프라라는 것은 단순히 서버가 늘어나느 ㄴ것뿐만 아니라 운영..
-
인프라 기초지식 12. 인프라 운영 part.2Technique/Infrastructure 2016. 4. 3. 21:25
MSP( Managed Service Provider )IT인프라의 운영 관리를 대행해주는 업자를 말한다. IT 인프라르 보유했지만 24시간, 365일 대응하는 체제를 사내에서 만들기 어렵거나, 애초에 인프라를 운영할 수 있는 사람을 확보하지 않았을 때는 MSP와 계약하면 안심할 수 있다. MSP 업자 선택 방법기업의 신뢰성중요한 서버 운영을 위탁할 때, 신뢰할 수 없는 기업을 선택하는 것은 사업적으로 위험하다. 단순히 가격만 보는 것이 아니라 MSP 업자의 컴플라이언트(Compliance) 측면은 물론이고 재무 상황 등도 충분히 확인 해야한다. 커뮤니케이션 능력인프라 운영 관리를 자사에서 할 수 없을 때, MSP업자에게 인프라 운영의 모든 것을 위임하게 된다. 하지만, MSP업자의 엔지니어와의 커뮤니케..
-
인프라 기초지식 11. 인프라 운영 part.1Technique/Infrastructure 2016. 4. 3. 20:32
장애대응 하드웨어는 언젠가 반드시 고장이 난다는 생각 때문에 가능한 서비스를 멈추지 않도록 하는 방향으로 진화했다. 예를 들어 서비스를 가동한 채로 이중화된 부품 중 고장난 부품을 교환할 수 있는 '핫스왑' 기술이나 이상을 감지하면 자동으로 보정하는 'ECC 기능' 은 하드웨어의 가용성을 높여주는 기술의 한 예다. 그 밖에도 하이엔드 서버에서는 업체가 실시간으로 감시하고 있다가 경고를 감지하면 자동으로 업체의 유지보수팀이 달려가 수리해주는 서비스도 제공된다. 또한 소프트웨어는 사람이 만드는 것이므로 아무래도 버그가 섞여 있기 마련이다.실제 환경에 적용하기 전에 충분히 테스트하긴 하지만, 아무래도 테스트를 하지 못한 조작이나 혹은 악의적인 접근으로 시스템에 이상이 발생할 수도 있다.인프라 엔지니어 입장에서..
-
인프라 기초지식 10. 스토리지Technique/Infrastructure 2016. 4. 3. 18:00
스토리지 데이터를 저장하는 장치를 스토리지 라고 부른다. 스토리지 에는 서버 내부의 저장 영역인 로컬 스토리지와 서버 외부의 저장 영역인 외부 스토리지가 있다. 외부 스토리지에는 서버에 직접 연결하는 것(DAS)과 네트워크를 통해 연결하는 것(NAS, SAN)이 있다. 로컬 스토리지로컬 스토리지란 서버 내부에 디스크를 설치해서 이용하는 저장 영역을 말한다. 외부 스토리지를 사용하지 않으므로 설치 공간은 절약할 수 있다. 하지만, 외부 스토리지를 이용할 때외 비교하면 설치할 수 있는 디스크 개수와 확장성이 적어진다. 외부 스토리지외부 스토리지란 서버 외부에 준비한 스토리지 장비, 혹은 스토리지 영역을 말한다. 외부 스토리지에는 세가지 형태가 있다. DAS( Direct Attached Storage ) 서..
-
인프라 기초지식 9. 네트워크 기본 용어 요점 정리Technique/Infrastructure 2016. 4. 3. 16:14
네트워크는 좀 어렵다 는 소리를 자주 듣는다. 네트워크가 어렵게 느껴지는 주요 이유는 일반적으로 네트워크 장비를 블랙박스처럼 다루어, 특별히 내용에 신경 쓰지 않는 일이 많기 때문으라 생각한다. 그래서 이것만은 알아두면 좋겠다고 생각하는 네트워크 기본영어를 몇가지 정리해보고자 한다. TCP/IP(Transmission Control Protocol / Internet Protocol ) 오늘날 인터넷에서 일반적으로 이용되는 프로토콜이다. 전세계에서 TCP/IP 가 표준으로 사용되고 있기에, 우리는 인터넷에 연결된 전 세계의 컴퓨터와 쉽게 통신할 수 있다. OSI참조 모델OSI 참조 모델이란 국제표준화기구에 의해 책정된 컴퓨터가 가져야 할 통신 기능을 계층 구조로 나눈 모델을 말한다.OSI참조 모델에서는 ..
-
[ 메모 ] MySQL index에 대하여Technique/RDBMS 2016. 3. 31. 11:57
인덱스에 대한 깊은 내용은 뒤에서 다루고, 우선 기본적인 것과 깊게 깨달은 것 1. 인덱스 컬럼이 날짜 형식일때 where 절에 날짜 범위를 입력하면 그 컬럼이 인덱스로 지정되어 있더라도 풀스캔 한다ex) select * from table A where create_date between A and B; -> full scan-> select * from table A where create_date = A; 2. 인덱스 컬럼이 int인경우 where 절에 in 을 이용한 조건을 사용할 경우 플스캔 한다ex) select * from table A where column_a` IN ( '10','11', '12' ); -> full scan-> select * from table A where colu..
-
[ 메모 ] MySQL SQL_CALC_FOUND_ROWS, FOUNT_ROWS() 키워드Technique/RDBMS 2016. 3. 31. 11:54
MySQL로 작업을 하던중 검색되는 모든 행의 수를 알고 싶을 경우가 있다.보통 PHP의 MySLQ 함수나 MySQLi함수 계열에선 result타입에 보면 num_rows()라는 녀석이 있어 이걸 참조하면 검색 되는 모든 결과를 알고 있다.하지만 쿼리에 LIMIT를 거는 경우엔 전체수를 알려면 쿼리를 2번 던져야 하는 번거로움(?) 이 있다.이를 조금이라도 더 쉽게 하고자 SQL_CALC_FOUND_ROWS 키워드를 사용한다.사용법은 ①SELECT SQL_CALC_FOUND_ROWS * FROM Table LIMIT 0, 10;②SELECT FOUND_ROWS() AS total;이 2개의 쿼리를 전송하는 것으로 가능하다.①의 쿼리는 10개의 행을 가져 오지만 이때 지정한 SQL_CALC_FOUND_RO..
-
[ 메모 ] is null 을 사용한 order byTechnique/RDBMS 2016. 3. 31. 11:50
is null을 사용한 order by 사용 예) SELECT * FROM table_name WHERE condition=? ORDER BY view_order IS NULL ASC, view_order asc; 라는 쿼리를 날려 보니 내가 원하는 대로 view_order가 숫자대로 지정된 놈은 그대로 정열 되고 Null인 경우엔 맨 밑으로 정렬 되었다 오예! MySQL에서 NULL 이란 값이 있긴 한데 뭔지 모르겠단 의미 이다. 주의주의