저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
- 現) 엔제이원컴퍼니 대표
- 現) 동국대학교 국제정보대학원 정보보호학과 대우교수
- 前) JP Mogan Chase AMJ Tech consultant (일본)
- 前) 삼성 SDS CMS 사업본부 책임 엔지니어
저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
- 現) 제이원 컨설팅 대표
- 前) JP Mogan Chase AMJ Tech consultant (일본)
- 前) 삼성 SDS CMS 사업본부 책임 컨설턴트
강의
로드맵
전체 3수강평
- Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
- 멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
- Jenkins를 이용한 CI/CD Pipeline 구축
- Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
게시글
질문&답변
마지막강의 k8s catalog 404 오류
안녕하세요, 이도원입니다. 확인 감사합니다. 강의 업데이트 및 반영하도록 하겠습니다. 지금 준비 중인 MSA 패턴 강의 완료 후에, 본 강의에 대한 콘텐츠 및 강의 내용에 대한 업데이트 예정입니다. 감사합니다.
- 0
- 2
- 57
질문&답변
MSA 개발 배포 방식에 대한 선택과 방향성
안녕하세요, 이도원입니다 .MSA에 대해서 어느정도 이해나 흐름이나 아키텍쳐를 구성하는 방법 들에 대해서 강의하고자 하는 부분이 본 강의에서의 목표였습니다. 말씀하신 내용처럼 강의에서 다루었던 spring cloud + spring boot 조합만으로 모든 환경을 대신할 수는 없습니다. 실무에서 사용하기에는 관리형 서비시를 선택해서 사용하는 경우가 더 많기도 하고요. K8s를 사용하여 서비스를 구축하는 것을 다루기에는 본 과정에서 얘기하고자 했던 제 의도하고는 조금 달라서, 아무래도 오픈소스와 기본적인 개념을 가지고 예제를 사용한 것도 있습니다. 말씀하신 내용처럼 K8s를 사용하였을때 Outer architecture의 상당수가 쉽게 처리되는 부분도 있습니다. 질문하신 내용에 답변 드리면, EC2에 Docker 사용하여 배포EC2에 Kubernetes 사용하여 배포AWS의 EKS, ECS, API Gateway를 사용하는 방법위 방식 중, 실무에서의 선호도라면, 아무래도 3번째 방식이라고 생각됩니다. 물론 이것도 규모에 따라 EKS를 사용하는 것과 직접 K8s 클러스터를 구성하는 것에서 선택이 필요할 수도 있고, 어느 정도 규모도 있고, 업무도 인프라를 구축하는 엔지니어와 도메인 서비스를 개발하는 개발팀이 잘 구분되어 있는지에 따라서 달라질 거라 생각됩니다. 만약 공부하시는 대 순서를 정하고 싶다면, 올려주신 순서대로 해 보라고 말씀드리고 싶습니다. inner architecture를 제외하고, outer architecture 부분만 순차적으로 변경해 가면서 적용해 보신다면, cloud에서의 msa 구성이나 실행 과정에 대해 보다 더 잘 이해되실 것 같습니다. 추가 질문사항 있으시면 다시 글 남겨주세요.감사합니다.
- 0
- 2
- 88
질문&답변
섹션4 5실습 컨테이너 실행X
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 특정 상황에서만, 컨테이너가 죽어버리는 현상이 생긴다는 것은, 해당 컨테이너의 로그를 확인해 보지 않는 이상 정확한 원인을 파악하기가 어렵습니다. 말씀하셨던 컨테이너의 종료 상황(Exited)에서의 로그를 공유해 주시면 추가 답변 드리겠습니다. 감사합니다.
- 0
- 2
- 75
질문&답변
Docker Container에서 Tomcat 설치
안녕하세요, 이도원입니다. 말씀하신 Tomca의 설치가 어느 단계에서 진행되는 것인지 잘 모르겠어서, 수업에 사용되었던 Tomcat 서버에 대해서 정리해 보겠습니다. Host PC에 직접 설치해서 사용 Docker container 방식으로 tomcat 이미지를 이용해서 사용 tomcat 컨테이너 이미지를 base 이미지로 하여, 특정 web application을 직접 배포하여 사용 강의에서는 위와 같은 방식으로 사용했습니다. 만약 Jenkins에서 Deploy 관련 plugin을 설치해서 어떤 작업을 하셨다면, 해당 결과파일(war 파일 등)이 설치 또는 전송되어야 하는 서버에 Tomcat을 실행하고 진행하시거나, 또는 컨테이너 자체가 tomcat를 실행하고 있는 상태에서 실행되어 있을 수도 있습니다. 어떤 작업 또는 어떤 실습 예제 단계에서인지 추가 글 남겨주시면 다시 답변드리겠습니다.감사합니다.
- 0
- 2
- 52
질문&답변
ec2 여러대에서 각각 직접 설치 이유
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 말씀하신 내용처럼, EC2에 Jenkins나 Ansible 등을 직접 설치한 이유는 수업 진행을 위해서 선택한 방식입니다. EC2에 별도의 docker를 띄워도 상관없지만, 호스트 간에 파일의 전송이나 설치, 빌드 등의 작업을 Jenkins에서 처리 되는 것을 확인해 보기 위한 작업이었습니다. docker로 설치해서 사용해도 무방합니다. 감사합니다.
- 0
- 1
- 59
질문&답변
P@ssw0rd 설정시기
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 말씀하신대로 docker-server, ansible-server 등과 같은 이미지를 생성할 때, Base 이미지 지정 부터, 설치되어야 하는 필수 프로그램들과 함께, root 계정의 암호를 SSH 설치 시 포함시켰습니다. 감사합니다.
- 0
- 2
- 33
질문&답변
ansible 원리
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. ansible의 장점은 다른 툴에 비해서, 사전에 준비해야 하는 작업이나 설치해야 하는 에이전트 등이 없다는 점입니다. 서버간의 관리 및 파일 전송과 같은 작업을 위해서는 일반적으로 SSH 사용으로도 충분합니다. 다만 아래와 같이 몇몇 모듈에 대해서는 사전에 준비해야하는 경우도 있습니다. winrm(windows): TCP 5985 포트 mysql/postgresql 모듈: TCP 3306(mysql), 5432(postgresql)uri 모듈: API 서버 포트 (80, 443 등)docker 모듈: TCP 2375(비모듈), TCP 2376(TLS 보안)추가 궁금하신 사항이 있으시면 다시 글 남겨 주세요.감사합니다.
- 0
- 2
- 55
질문&답변
ansible 존재여부
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 말씀하신 docker run --privileged -itd --name ansible-server -p 20022:22 -p 8082:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/ansible-server:m1 /usr/sbin/init 명령어로 작업이 ansible 확인 아래와 같이 정상적으로 되고 있습니다. (오늘 오전에 테스트한 사항입니다.) 작업하신 이미지를 삭제하시고 새로 docker pull 하시고 실행해 보실 수 있을까요? (사진) 감사합니다.
- 0
- 2
- 39
질문&답변
젠킨스 빌드 성공후 shutdown
안녕하세요, 이도원입니다. 답변이 늦어 죄송합니다. 아래 AI 인턴이 답변해 준 내용과 동일한 답변이 될수 있을 것 같네요. 우선 Jenkins에서 빌드가 종료되면, 빌드에 사용되었던 프로세스도 같이 종료되어 버리기 때문에, 원하시는 작업이 지속적으로 백그라운드에서 작동되지 않습니다. 반대로, 백그라운드 작업이 아니고, java -jar ~ 처럼 그냥 서비스 실행하는 커맨드를 실행해 버리면, Jenkins 빌드는 종료되지 않고 (타임아웃 설정까지) 계속 대기상태가 되기도 합니다. 따라서 지속적으로 계속 기동하고 싶은 서비스라면 docker 컨테이너 실행이나, linux의 서비스 형태로 등록하여 실행할 수 있는 커맨드(systemctl 또는 service 등)로 실행하셔야 합니다. 감사합니다.
- 0
- 2
- 36
질문&답변
Docker Hub에 Push 무한 로딩
안녕하세요, 이도원입니다.답변이 늦어 죄송합니다.ansible-server에서 직접 docker login 후 docker push 작업에서 무한 로딩이 걸린다는 말씀이신가요? 우선 확인해 볼 부분은 172.17.0.4 서버에서 docker 이미지가 정상적으로 생성되었는지 부분과 docker hub 사이트로 등록하는데 필요한 인증이 되었는지 입니다.[172.17.0.4 서버에서 확인]우선 수작업으로 docker image 빌드 후, docker push 까지 되는지 확인 (이 부분은 처리하셨다고 한 것 같네요)위 작업에서 docker login 작업이 필요할 수 있으니, 로그인은 수동으로 먼저 진행해 준 상태에서 실행하시기 바랍니다.정상적으로 docker push 작업이 되었다면, 해당 이미지를 docker hub하고 172.17.0.4 에서도 삭제하시기 바랍니다.[ansible-server에서 확인]ansible-playbook으로 172.17.0.4 서버로까지 docker push 없이 이미지 생성하는 부분이 실행되는 스크립트 테스트 (docker push에 관련된 부분은 빼고 실행)ssh를 이행서 ansible-server에서 172.17.0.4 서버로 docker push 명령어가 실행되면서, 시간이 다소 소요되는 경우가 있는지 확인이 필요할 것 같습니다. 생성되는 docker image의 크기를 줄여서 ansible 테스트 해 보시기 바랍니다.172.17.0.4 서버로 docker push 외에 다른 명령어들은 잘 실행되는지 확인 (예를 들어, docker push와 docker rmi 명령어를 빼고, 이미지 생성까지만 실행했을 때 정상적으로 이미지 생성이 되는지 등)위 확인 작업으로도 동일한 문제가 발생한다면, 작업하신 ansible-server의 환경(이미지 및 실행 커먼드, 현재 작업중인 script, 작업 폴더에 존재하는 파일 등의 정보)와 172.17.0.4 서버의 환경 정보를 공유해 주시면, 저희도 최대한 유사한 환경에서 다시한번 테스트 해 보도록 하겠습니다.참고로, 말씀하신 문제를 확인해 보기 위해 제가 공유해 드린, edowon0623/ansible-server이미지과 edowon0623/docker-server 이미지를 이용하여 테스트 진행했습니다.감사합니다.
- 0
- 2
- 36