엔터프라이즈 네트워크의 가상화 된 개발 환경 제어를위한 싸움과 싸워야하는 전쟁을 시작하고

우리는 엔터프라이즈 조직 내 4 명의 소규모 개발자 팀을위한 가상화를 사용하여 개발 환경을 구현하려고합니다. 이를 통해 별도의 개발, 테스트 및 준비 환경을 설정할 수있을뿐만 아니라 평가중인 시스템 또는 도구에 필요한 새로운 운영 체제에 액세스 할 수 있습니다. 우리는 기존의 워크 스테이션 급 컴퓨터의 용도를 변경하고 24GB RAM과 RAID-10을 사용했으며 컴퓨터를 도메인에 추가하려고 시도 할 때까지 잘 작동했습니다.

이제 우리는 처음부터 모든 엔터프라이즈 개발자가 개발 및 테스트 환경의 로컬 제어를위한 싸움과 싸워야하는 전쟁을 시작하고 있습니다. 네트워크 및 IT 관리자는 “ESX 서버는 엔터프라이즈 표준입니다”에서 “서버는 클라이언트 VLAN에서 허용되지 않음”에서 “[빈칸 채우기”는 현재 로컬에서 보유하고있는 기술이 아닙니다. 또는 엔터프라이즈 IT 조직 “.

필요한 경우 프로덕션 급 하드웨어와 공식 IT 지원을 정당화 할 수 있지만 시간이 걸리고 많은 두통이 발생합니다. 그럼에도 불구하고이 시스템을 프로덕션 시스템으로 취급하여 IT 리소스를 공식적으로 할당하는 데 몇 달이 걸릴 수 있습니다.

비 프로덕션 환경에 대한 개발자 제어, 특히 가상화에 대해 비슷한 어려움을 겪고 있다고 생각합니다. 제 질문은 다음과 같습니다.

  1. 이러한 유형의 사일로가 일반적으로 (그리고 이해할 수있게) 이러한 유형의 비 ( 중앙 관리) 인프라?
  2. 이것이 기술적 인 정당성의 문제, 또는 통제와 소유권에 대한 정치적 투쟁의 문제라는 것을 알고 있습니까?
  3. IT 관리 형 개발 환경으로 인해 일상적인 개발 및 테스트를위한 장애물은 어느 정도입니까?
  4. 이러한 네트워크 액세스 문제를 피하기 위해 개발 환경을 연결이 끊긴 VLAN 또는 완전히 분리 된 네트워크로 옮기는 사람이 있습니까?

또한 이것은 Hyper-V와 ESX의 성전이 아닙니다 (우리는 어느 쪽이든 괜찮을 것입니다. 그러나 Hyper-V는 이러한 목적을 위해 MSDN에서 “무료”이기 때문에 선택되었습니다. [예, VMWare에는 무료 도구도 있습니다. 좋은 관리 도구는 일반적으로 그렇지 않으며] “Microsoft Shop”에서 로컬 개발자가 쉽게 관리 할 수 ​​있습니다.) 따라서이 질문의 범위를 벗어나거나 반대하는 주장은 없습니다.

이것은 또한 가상화 대 물리적 하드웨어에 대한 것입니다. 가상화 구성 요소 없이도 같은 질문을 할 수 있다고 생각합니다.

또한 개발자 팀은 이미 패치 관리 및 바이러스 백신을 관리하거나 기존 엔터프라이즈 시스템을 지원할 경우 통합 할 것을 보증한다고 가정합니다. SF에 다른 질문이있는이 시나리오도 반대 의견을 도출하기 위해 게시됩니다 .



답변

당신은 “예약을 벗어났습니다”, 그리고 그것을 정당화하려고합니다.

이것은 가상화에 관한 것이 아닙니다. 통제와 책임에 관한 것입니다. IT 부서는 회사 시스템의 안전과 신뢰성에 대한 책임이 있습니다. IT 부서가 업무를 수행 할 수 있도록 자체 제어하에 있습니다. IT의 통제를받지 않는 시스템을 구축했으며 이제는 문제가되고 있습니다.

내 경험상 프로그래머가 자신의 시스템을 원하는 일반적인 이유는 다음과 같습니다.

  • IT는 반응하지 않습니다. 새로운 환경을 만드는 데 몇 주가 걸리지 만 지금은 환경이 필요합니다.
  • 당신은 통제가 필요합니다. 그들은 당신에게 그것을주지 않을 것입니다. 권한을 설정하고 구성 요소를 설치하는 등의 작업을 수행 할 수 있어야합니다. IT에서는이를 허용하지 않습니다.

궁극적으로 프로덕션 환경으로 갈 때 완전히 잠겨있는 IT 관리 시스템을 원할 것입니다. 그러나 개발하는 동안 유연성이 필요합니다. 몇 가지 제안 :

  • 친구를 사귀십시오. IT의 일부 사람들을 알게됩니다. 그들에게 얼굴을 맞대고 이야기하십시오. 상황을 설명하고 무엇을 할 수 있는지 물어보십시오. 간단히 물어 보면 개발자 서버에 대한 관리자 권한을 얻을 수 있습니다.
  • 로컬을 실행하십시오. 로컬 머신에서 애플리케이션의 일부를 실행할 수있는 경우 서버가 필요하지 않거나 잠긴 DB 인스턴스를 사용하여 벗어날 수 있습니다.
  • 스폰서를 받으십시오. VP가 들어 와서 “왜 내 프로젝트를 차단하고 있습니까?” 프로젝트 스폰서의 영향력을 사용하십시오.
  • 클라우드로! 프로젝트 예산이이를 충당 할 경우 EC2를 호스팅하기 만하면 전체 IT 부서를 우회 할 수 있습니다. 방화벽 외부에 회사 정보가 유출 될 위험이 있습니다.
  • 긴 게임을 실행하십시오. 적절한 권한이 부여되고 관리되는 서버에 대한 요청을 일찍 제출하십시오. 홈브류에 대한 불만이 접수되면 여전히 공식 서버를 기다리고 있다고 말하십시오.
  • 미리 할당하십시오. 나중에 필요할 것으로 생각되는 서버를 요청하십시오. 그런 다음 실제 필요한 경우 용도를 변경하십시오.

답변

이러한 상황에서 내가 아마추어 인만큼 IT 부서의 추가 비용 (및 창공)에 대한 필요성을 부서장에게 정당화하기 위해서는 적절하고 잘 구성된 주장이 필요한 것 같습니다. 문제를 중개하고 제안서의 잠재적 가치를 지불하는 사람들과 관련시킬 수있는 훌륭한 연사를 원할 것입니다.

문제는 실제로 고려해야 할 문제입니다. 한 그룹은 Dev 환경을 원하지만 책임감을 느끼고 실제로 전체 시스템의 보안을 담당하는 다른 그룹에 약간의 압력을가합니다. 특히 IT 부서가 정당한 것으로 네트워킹하는 네트워킹 소중한.

유망한 수익성 높은 프로젝트를 위해 특정 리소스를 오프 사이트로 만들거나 개발자에게 무료 환경을 제공하는 기능이 이제 가상화에 대한 시장 합리화로 인해 비용 절감 및 리소스 제어 수단으로 대체되었다는 사실에 놀랐습니다.

이제 내가 틀리지 말아라. 나는 가상화와는 거리가 멀다. 그러나 개발 그룹이 환경을보다 생산적으로 만들고 잠재적으로 모든 것을 가상화하는 것보다 안전한 별도의 영역에 자격을 부여 할 수있는 매우 좋고 설명 가능한 공명이 종종 있습니다.

클라우드를 사용하여 일반 사무실 간 부서에 클라우드를 사용하여 비즈니스가 비용을 절감 할 수 있는지 확인하십시오. 매우 유용합니다. (이것은 가상화의 한 형태이지만 다릅니다.)

그러나 개발자가 가상화 구현으로 인해 응용 프로그램 / 프로그램이 손상되었는지 (즉, 독립형 컴퓨터에서는 발생하지 않음)에 대한 질문이 있기 때문에 디버깅 할 수없는 식별 할 수없는 오류가 발생한다고 가정합니다. 실제로 프로그래밍에 있지는 않지만 VM 구현에있는 버그를 추적하려고하면 시간을 낭비하는 데 역효과를 낳습니다.

나는 분명해지기를 바랍니다. 귀하의 특정 사례에 대한 답변이 없지만 문제와 관련하여 희망적으로 유용한 고려 사항이라고 생각합니다. 그러한 문제는 관련된 두 부서 및 아마도 해당 담당자와 공개적이고 완전하게 논의하는 것이 좋습니다. 궁극적으로 구매 사례를 만들어야하는 엔터프라이즈 관리. 따라서 좋은 연설자 또는 중개자에 대한 나의 제안!

아마도 더 많은 직원이 필요한 경우 긍정적 인 일이 될 수 있지만 (실직 한 사람이 많지 않음) 개발자 섹션에 자체 그룹 자체의 서버 관리자와 같은 역할을 추가하기에 충분한 IT 스마트가있을 수 있습니까?

나는 그것이 실제로 매우 중요하다는 것을 알고 있기 때문에 플립 팬트가되고 싶지는 않지만 기존 근로자에 ​​대한 역할의 통합 및 추가가 개인 시간에 너무 많은 부하를 가하여 재 노동하는 경향이있는 경우가 있습니다 특히 그들이 새롭고 성공적인 소프트웨어 엔지니어링의 일부가 될 수있을 때.

나는 당신의 문제를 부러워하지 않지만 새로운 디자인, 새로운 소프트웨어 및 새로운 아이디어를 가져 오는 데 완전히 관여하는 직장을 부러워합니다. 진심으로 당신에게 행운을 빕니다, 그리고 나의 기여가 도움이되기를 바랍니다.

미 할리


답변

실제로 IT 부서는 요점을 가지고 있습니다.

아마도 수백 개의 시스템에서 수천 개의 응용 프로그램을 관리 할 것입니다. 이들이 효과적으로 수행 할 수있는 유일한 방법은 더 적은 수의 표준 하드웨어 구성에서 실행되는 몇 가지 선택된 표준 소프트웨어 스택을 보유하는 것입니다.

이 경로를 따르는 경우 프로덕션에 가까워 질수록 점점 더 많은 문제가 발생합니다. 최악의 시나리오에서는 라이브하기 며칠 전에 표준 프로덕션 환경에서 실행되도록 전체 애플리케이션을 리팩터링해야합니다.

IT 그룹과 협력하여 지불해야 할 표준 테스트 환경을 구성하도록 요청하는 것이 좋습니다. 아이러니하게도 아마도 각 환경에 가상 머신을 설치할 것입니다.

프로그래머는 IT 인프라 담당자가 인프라를 제공하고 네트워크 담당자가 회사의 작동 방식에 따라 네트워크를 구성하도록 프로그래밍해야합니다.

또한 응용 프로그램이 표준이 아니기 때문에 IT 부서에서 테스트 환경 구축을 고려하지 않을 경우 프로덕션 환경에 적용 할 가능성이 거의 없습니다. 엔터프라이즈 아키텍트에게 어떤 환경이 표준인지 알아 내고 사용해보십시오. 표준 소프트웨어 / 하드웨어를 사용하여 응용 프로그램을 실제로 구현할 수없는 경우 인프라를 예외적으로 승인하기 위해 엔터프라이즈 아키텍처를 공식적으로 요청해야합니다.


답변

다음과 같은 경영진에게 사례를 제시해야합니다.

  1. 가상화 된 환경을 갖추면 회사에서 명시 적으로 언급 한 요구 사항 중 하나 (예 : 여러 플랫폼을 지원할 수있는 유연성)를 충족 하며

  2. IT보다 적은 비용으로보다 적시에 구현할 수 있습니다.

  3. 현지 통제력이 있으면 비용이 절감되고 시장 출시 시간이 단축되며

  4. IT의 보안 및 유지 관리 문제를 만족시킬 수 있으며

  5. 프로그래머 생산성에는 영향을 미치지 않습니다.

마지막은 큰 경우입니다.   이러한 종류의 가상화를 전문으로하는 많은 사람들과이 문제를 논의했습니다. 그들은 로컬 PC처럼 반응 할 수 있도록 충분한 하드웨어를 던져야 하드웨어 비용을 절약 할 수 있다고 말합니다.

따라서 입증 된 비용 절감은 구성의 유연성과 즉각적인 구성 변경 기능의 형태로 이루어져야합니다.