Uncategorized

어느 프로젝트의 면접 후기

지난주에 어떤 프로젝트를 위해서 면접을 봤다. 최근에 이슈가 되고 있는 어느 업체의 클라우드로 마이그레이션을 진행하는 프로젝트였다. 면접을 보는 내내 답답함 뿐이였다. 물론 그런 답답함은 그쪽도 느꼈는지, 자신들이 찾는 사람이 아닌거 같다는 말로 갈음했다. 클라우드내 있는 서비스들은 수백가지가 넘는다. 하지만 큰 카테고리로 혹은 덩어리로 분류를 할 수 있는데, 최근에 이슈가 되고 있는 IoT, Big Data, AI, Micro Service 그리고 내가 레거시(Legacy) 라고 여기는 전통적이고도 일반적인 서비스들로 나뉜다. 문제는 모든 것을 다 속속들이 다 알 수는 없다. 예를들어, 데이터베이스 서비스로 RDS 서비스와 […]

DevOps

20 개의 Ansible 인터뷰 질문

이 글은 Arie Bregman 씨의 “20 Ansible Interview Questions” 을 번역한 것입니다. 질문1 Ansible 에서 다음 각각의 컴포넌트에 대해서 이들 사이의 관계를 포함해 설명하시오. Task Module Play Playbook Role Answer 이 질문은 당신이 Ansible 의 기본적인 컴포넌트에 익숙한지 않한지, 그들이 어떻게 상호작동 하는지를 체크한다. 나는 이것이 우리가 Ansible 로 하고자하는 모든 것에 기본인만큼 매우 중요한 것임을 알았다. Task – 특정 Ansible 모듈(Module) 호출하기 Module – 여러분의 호스트나 원격 호스트에서 Ansible 에 의해서 실제 실행되어지는 코드의 묶음. 모듈들은 카테고리로(database, file, network, […]

DevOps

[Ansible] hosts did not meet host_list requirements 메시지 처리하기

Ansible 을 사용할때에 인벤토리 파일에 대해서 가끔 “hosts did not meet host_list requirements, check plugin documentation if this is unexpected” 메시지를 보게 된다. 이 메시지는 ‘ansible -vvv ‘ 처럼 -v 옵션을 주면 보인다. 이 메시지는 인벤토리 파일 형식으로 인한 것으로 ini 형식을때에 주로 나온다. 하지만 인벤토리 파일 형식이 ini 형식임을 ansible 이 인지하지 못해서 벌어지는 일인데, 이는 ansible.cfg 파일에 다음과 같이 함으로써 없앨 수 있다. [inventory] enable_plugins = ini

Uncategorized

한국 직장에 고질병

한국의 조직의 고질병은 능력있고 성실한 사람에게 보상을 주기는 커녕 일을 더 준다는 것에 있다. 그래서 능력있는 사람은 못 견디고 떠나가고 능력없는 사람은 일도 없고 스트레스도 없으니가 조직에 오래 남을 수 있음. 결국 무능한 사람만 남은 무능한 조직이 된다.. 일은 일잘하는사람에게 밀어주고 진급은 술잘마시는 사람에게 시켜주고 … 이것이 한국 직장 병패임.   똑똑하고 일 잘하고 회사를 위한 합당한 이의제기를 하는 사람 보다 윗 사람의 말에 절대 반기안들고 YES만 하는 사람이 오래다니죠 사장 옆에는 항상 항상 그런 사람이 있더라구요…   대부분의 조직에서 […]

DevOps

Ansible fingerprint 접속 오류.

서버에 맨 처음 SSH 접속을 시도 하면 다음과 같은 오류가 발생한다.

이를 해결하기 위해서는 다음과 같이 환경변수를 지정해 주면 된다.

혹은 ~/.ansible.cfg 파일에 다음과 같이 지정해도 된다.

 

DevOps

Ansible Inventory 에 대해

Ansible 에서 Inventory 라고 하면 리모트 서버에 정보 리스트를 말한다. 이를 대부분 파일로 저장해서 보관하는데 이를 Inventory file 이라고 부른다. Inventory: (특정 건물 내의) 물품 목록, … 의 목록을 만들다. 리모트 서버 접속 목록을 Inventory  라고 보면 된다. INI vs Yaml Ansible Inventory 파일의 형식은 INI 와 Yaml 형식 두가지를 지원한다. INI 형식은 대략 다음과 같다.

브랏켓(Bracket, ‘[]’) 감싼 것은 서버의 그룹을 말한다. 그리고 그 그룹내에 접속하고자하는 서버들의 정보를 입력해준다. 간단하게 서버의 이름을 입력해주면 된다. Yaml 형식은 다음과 같다. […]

ElasticSearch

ElasticSearch Multi Instance 설치.

ElasticSearch 도 Tomcat 과 같이 Multi Instance 설치를 지원한다. 이는 ES_HOME의 쉘 환경 변수를 지정함으로써 실현된다. Tomcat 의 경우에는 CATALINA_HOME, CATALINA_BASE 였다. 대신 ElasticSearch 에서는 ES_BASE 가 없다. ENV 변수 ElasticSearch 에서 사용하는 환경변수는 다음과 같다. ES_HOME: elasticsearch 바이너리 설치 위치. ES_PATH_CONF: elasticsearch 설정파일이 있는 디렉토리 위치. ES_TMPDIR: elasticsearch 임시 디렉토리 위 두 변수를 가지고 MultiInstance 구성을 할 수있다. ES_HOME 설치 ES_HOME 설치는 elasticsearch 의 바이너리를 압축해제함으로써 끝이 난다.

/opt 디렉토리에 압축을 해제한 후에 심볼릭링크를 걸어준다. ES_BASE 생성 ES_BASE […]

Uncategorized

AWS 를 국내 기업도 다 하고 있다고???

국내기업과 세계적인 글로벌 기업인 AWS 와 기술력 별 차이가 없다고??? 기술력에 별차이가 없다라…. AWS 의 경우 가상화기술인 Xen 에 많은 기술적인 기여를 하고 있는데, 기술력으로 별차이가 없다는 국내기업은 무엇을 하고 있나? NoSQL 로 유명한 DynamoDB 를 만들었고 MySQL 코어를 수정해 Auroa DB 를 제작.. PostgreSQL 기반으로 RedShift 도 만들었다. 기술력에 별차이가 없다는 국내 기업은 과연 무엇을 만들 수 있나? AWS, MS가 제공하는 서비스를 제공하고 있다고?? AutoScaling 서비스를 제공하는 업체가 있는가? ALB(Application ELB) 를 제공하고 Web Console 에서 제어가 가능한가? 국내 […]

Installation

Python – easy_install, pip 설치하는 방법

Python 에서는 easy_install, pip 를 설치하는 방법중에 하나가 ‘get-pip.py’ 스크립트를 이용하는 것인데, 다음과 같다.

wget, curl 과 같은 프로그램을 이용할 수 없을 경우에 python 프로그램을 이용할 수도 있다. python3 의 경우에는 다음과 같다.

python2 의 경우에는 다음과 같다.

  한줄짜리 python 프로그램으로 get-pip.py 를 다운받고 설치를 해준다. ‘–user’ 는 사용자 홈 디렉토리를 설치 디렉토리로 삼게 한다.  

Uncategorized

[펌,수정]기업이 좋은 직원을 잃는 과정… ㄷㄷㄷㄷㄷㄷ

사원 A 입사 (9월) 사원 B 입사 (12월) 3개월 정도 차이지만 A 는 코딩자체에 흥미도 없고 프로젝트 이해력도 떨어지고 심지어 노력도 안함. 문서 제한일이 다가와서 다들 야근 할 때도 자기가 할 일은 다 하지도 않은 채 자기는 칼퇴주의라며 칼퇴. 결국 그 사람 일 다른 사람이 맡아서 하고 그러다보니 또 다른 팀원은 야근 ㅋ B 는 코딩을 좋아하고 이해력이 좋음. 빨리 적응했고 그러다보니 출장 관련 업무도 다 함. 잦은 출장을 가게되고 조그마한 파트도 맡아서 진행. 팀장은 믿는다면서 여러 일을 더 맡김ㅋ […]