나는 개발자 배경에서 오는 것이 실제로 '더 까다로운'것이 될 것이라고 생각합니다. 질문은 거의 3 세이므로 여행을 찾는 방법을 듣는 것이 흥미로울 것입니다. 위에서 언급 한 응용 프로그램에 대한 sys 관리자와 희망적으로 약간의 빛을 비추거나 기술적 인 비 관점을 제시하여 사람 (관리자 또는 개발자)이 왜 당신이 요청한 것을 고려했는지 설명하는 데 도움이 될 것입니다. x, y, z의 관계는 이러한 도구가 부품의 합보다 클 수 있습니까?
실제로 sys 관리자는 여기에 우위가 있다고 생각합니다. 귀하의 질문에 언급 한 대부분의 응용 프로그램은 관리자 '문제'를 해결하고보다 추상적 인 데이터 센터 환경을 제공하며 이는 개발자와 새로운 ' devops의 전략 (전략 / 팀 읽기, devops는 사람이 아님). 그렇다면 언급 한 앱과의 관계는 무엇입니까? 이것이 어떻게 IT 서비스에 대한 전체적인 접근을 제공합니까?
OpenStack : 프라이빗 클라우드를 구축 할 수있는 툴로 AWS와 같은 툴과 비교 가능
그것이 무엇입니까,하지만 무엇을합니까? -가장 적절하게 명명 된 운영 체제는 DOS였습니다. BIOS를 추상화하여 디스크를 작동 시켰으며 OpenStack은 데이터 센터를 운영하고 인프라를 추상화합니다 (IaaS-데이터 센터 운영 체제의 전문 용어 임). 이제 데이터 센터에 API, 명령 구문 및 GUI가 있으며 OpenStack은 하이퍼 바이저, 스위치, 라우터, 방화벽, 스토리지 영역 네트워크,로드 밸런서, 도커 호스트 등을 구동 할 수 있습니다. OpenStack은 하드웨어 제조업체의 '플러그인' 또는 특정 기능을 사용합니다. 소프트웨어가 무언가를 정의함에 따라 소프트웨어에만 존재할 수 있다또는 네트워크 기능 가상화. 이 OpenStack과 다른 모든 클라우드 외에도 오케스트레이션 엔진에 던지는 스크립트를 읽거나 규칙 (스케일 확대, 축소 등)에 따라 트리거되는 스크립트를 읽음으로써 자체 인프라를 오케스트레이션 할 수 있습니다. 그래서 OpenStack은 추상화의 거대한 계층 내가, 내가 가지고있는 스위치 케어 나에게 네트워크를 제공하지 않습니다 예를 들어, 인 이 , 균형 잡힌 나에게 공개 HA, 자동 스케일링 복잡한 부하를 구축, 명령, 또는 도메인 이름, 저장 등록 첨부 꼬추 - 내가 인터넷에서 발견이 스크립트.
Docker : 몇 가지 Linux 커널 개념을 기반으로하는 "경량 VM". 예를 들어 공유 웹 호스팅 환경에서 프로세스를 독립적으로 실행하는 데 사용할 수 있습니다.
Docker는 추상화의 또 다른 계층이며 클라우드가 파괴적인 기술인 것처럼 소프트웨어 종속성, 업그레이드, 데이터 격리 및 순전 한 이식성과 같은 많은 운영상의 '문제'를 해결하기 때문에 업계를 변화시키고 있습니다. Java는 개발자가 생각할 필요가없는 소스 코드 이식성으로 인해 대중화되었습니다. JVM을 실행하면 Java를 지원하는 한 커피 머신에서 코드를 실행해야합니다. 도커는 비슷한 문제를 해결하고 내 앱을 실행하려면 도커 호스트가 필요 하지 않습니다.,이 버전의 파이썬,이 커널,이 리눅스 배포판 등이 필요하지만 앱에는 여전히 이러한 종속성이 있지만 기본 호스트는 신경 쓰지 않으며 관리자는 격리 된 컨테이너 내부에서 수행하는 작업을 신경 쓰지 않습니다 ( 포인트). Docker는 개발 및 운영 패러다임을 모두 바꾸어 전체 운영 체제와 바이너리와 같은 서비스를 처리합니다. 우리는 저장소에서 가져 와서 버전을 지정하고 수정하고 매개 변수로 실행할 수 있습니다.
Chef : VM과 같은 운영 체제를 설정하고 구성하는 도구입니다.
그렇습니다. 처음 두 사람만큼 혼란 스럽지는 않지만 Chef, puppet, ansible, salt, 시스템 센터 운영 관리자 및이 공간의 수많은 다른 응용 프로그램은 개발자와 관리자가 배포, 업그레이드 및 기타 작업을 모델링 할 수있는 방법을 제공합니다 (config 클라우드에 대한 것처럼 이러한 노력을 검토하는 표준 기관이없는 것 같습니다 . 그러나 우리는 인프라와 같이 결정적인 것을 다루지 않기 때문에 배우는 것이 더 고통스럽고 서로간에 양도 할 수는 없습니다.
방랑자 : VM의 생성 및 관리를 자동화하는 것이 제 이해입니다. VM 설정, 시작 및 중지. 이는 로컬 VM 또는 원격 (예 : 클라우드 플랫폼)을 사용하여 수행 할 수 있습니다.
이것은 언급 한 응용 프로그램 목록에서 이상한 것입니다 .Vagrant는 개발자를위한 도구이며 관리자를위한 장난감입니다. 예를 들어 방랑자와 함께 개발 환경을 신속하게 구축 할 수 있습니다. 예를 들어 Android 앱을 개발하고 IDE를 가져옵니다. 방랑자, 나는 그것이 Docker에 의해 곧 추월 될 것이라고 생각합니다.
이 모든 것을 사용하기 시작하는 방법에 대한 조언을 줄 수 있습니까?
이것이 바로 관리자가 우위에 있다고 생각하는 이유입니다. 수동으로 대부분의 작업을 수행하고 잘못 될 수있는 사항을 알고 있어야합니다. 꼭두각시 매니페스트, 클라우드 컴퓨팅 및 도커 오케스트레이션이 더 쉬워 질 것입니다. 개발자는 많은 접선을 사용하므로 잠재적 인 실무자에 대한 조언은 먼저 관리자가되는 것입니다.