Staramy się wdrożyć środowisko programistyczne wykorzystujące wirtualizację dla małego zespołu 4 programistów w organizacji korporacyjnej. Umożliwiłoby to nam utworzenie oddzielnych środowisk programistycznych, testowych i testowych, a także dostęp do nowych systemów operacyjnych, które są wymaganiami dla systemów lub narzędzi, które oceniamy. Zmieniliśmy przeznaczenie istniejącej maszyny klasy stacji roboczej, wrzuciliśmy 24 GB pamięci RAM i RAID-10 i wszystko szło dobrze, dopóki nie podjęliśmy próby dodania maszyny do domeny.
Teraz rozpoczynamy wojnę, z którą wszyscy deweloperzy korporacyjni od początku musieli walczyć - walkę o lokalną kontrolę środowiska programistycznego i testowego. Administratorzy sieci i IT zgłosili obawy, począwszy od „ESX Server jest korporacyjnym standardem”, po serwery nie są dozwolone w sieciach VLAN klienta ”, aż do„ [wypełnij puste miejsce] nie jest zestawem umiejętności, które są obecnie w posiadaniu lokalnych lub organizacja informatyczna przedsiębiorstwa ”.
Gdybyśmy mieli taką potrzebę, moglibyśmy uzasadnić sprzęt klasy produkcyjnej i formalne wsparcie IT, ale zajęłoby to dużo czasu i wymagałoby dużego bólu głowy. Nawet wtedy formalne przydzielenie zasobów IT może potrwać miesiące, traktując to jako system produkcyjny - a nawet gdybyśmy to zrobili, prawdopodobnie stracilibyśmy lokalną kontrolę, której potrzebujemy.
Wyobrażam sobie, że wielu z was miało podobne problemy z kontrolą programistów w środowiskach nieprodukcyjnych - w szczególności w zakresie wirtualizacji - więc moje pytania są następujące:
- Jakie strategie i argumenty pomogły ci pozyskać ludzi z infrastruktury (IT i sieci), aby umożliwić istnienie tego rodzaju silosów w przedsiębiorstwach, które mają standardowe zasady sieci i bezpieczeństwa, które ogólnie (i zrozumiale) wykluczą tego rodzaju nie- ( centralnie) zarządzana infrastruktura?
- Czy uważasz, że jest to kwestia technicznego uzasadnienia - czy raczej politycznej walki o kontrolę i własność?
- Jeśli skończyło się na środowisku programistycznym zarządzanym przez IT, to ile było przeszkodą w codziennym programowaniu i testowaniu?
- Czy ktoś w końcu przeniósł swoje środowisko programistyczne do odłączonej sieci VLAN lub całkowicie oddzielnej sieci, aby uniknąć tych problemów z dostępem do sieci?
Ponadto nie jest to święta wojna Hyper-V vs. ESX (byłoby nam dobrze - ale Hyper-V został wybrany, ponieważ jest „darmowy” z MSDN do tych celów [tak, VMWare ma również darmowe narzędzia - ale dobre narzędzia zarządzania na ogół nie są] i łatwiej byłoby nimi zarządzać lokalni programiści w „Sklepie Microsoft”) - więc argumenty za lub przeciw są poza zakresem tego pytania.
Jest to również mniej wirtualizacji niż sprzętu fizycznego - przypuszczam, że to samo pytanie można by zadać bez komponentu równania do wirtualizacji.
Załóżmy również, że zespół programistów zapewnił już zarządzanie zarządzaniem poprawkami i antywirusem lub integrację z istniejącymi systemami korporacyjnymi, jeśli będą go obsługiwać. Ten scenariusz, z różnymi pytaniami, jest również opublikowany na SF, miejmy nadzieję, że wzbudzi przeciwny punkt widzenia.
źródło
Odpowiedzi:
Odszedłeś od rezerwacji i próbujesz to uzasadnić.
Tu nie chodzi o wirtualizację; Chodzi o kontrolę i odpowiedzialność. Dział IT odpowiada za bezpieczeństwo i niezawodność systemów firmy. Aby mieć pewność, że działają, dział IT utrzymuje ich kontrolę. Zbudowałeś system, który nie jest pod kontrolą IT, a teraz staje się problemem.
Z mojego doświadczenia wynika, że programiści chcą mieć własne systemy:
Ostatecznie, kiedy przejdziesz do produkcji, będziesz potrzebować całkowicie zarządzanego systemu informatycznego. Ale podczas rozwoju potrzebujesz elastyczności. Jakieś sugestie:
źródło
Chociaż jestem amatorem w takich sytuacjach, wydaje się, że potrzebny jest odpowiedni i dobrze skonstruowany argument, aby uzasadnić szefom departamentów potrzebę dodatkowych wydatków (i rozległości) zasobów informatycznych. Prawdopodobnie potrzebujesz dobrego mówcy, który jest w stanie pośredniczyć w kwestiach i powiązać potencjalną wartość wniosku z tymi, którzy skończą za to płacić.
Problem jest w rzeczywistości tym, który zasługuje na prawdziwe rozważenie: jedna grupa chce środowiska deweloperskiego, ale to wywiera pewną presję na drugą grupę, która czuje się odpowiedzialna, w rzeczywistości jest odpowiedzialna za bezpieczeństwo całego systemu, sieciowanie jest szczególnie tym, co IT jest uzasadnione cenne o.
Uderza mnie, że możliwość przeniesienia niektórych zasobów do potencjalnie lukratywnego projektu, a nawet po prostu wolnego środowiska dla programistów, została zastąpiona racjonalizacją rynku w zakresie wirtualizacji jako środka ograniczania kosztów i kontroli zasobów.
Nie zrozumcie mnie źle, nie jestem przeciwny wirtualizacji. Ale przychodzi mi do głowy, że często istnieją bardzo dobre i możliwe do wyjaśnienia działania pozwalające grupie programistycznej mieć prawo do oddzielnego królestwa, które byłoby bardziej produktywne w środowisku i potencjalnie bezpieczniejsze niż wirtualizacja wszystkiego.
Na pewno firma może zaoszczędzić pieniądze, wykorzystując chmurę do regularnych prac biurowych między biurami, tam jest bardzo przydatna. (jest to forma wirtualizacji, ale inna, wiem)
Załóżmy jednak, że programista zgłasza niemożliwy do zidentyfikowania błąd, którego nie można debugować, ponieważ pojawia się pytanie, czy aplikacja / program zepsuł się z powodu implementacji wirtualizacji (tj. Czy nie wystąpiłby w samodzielnym komputerze), a następnie staje się nieproduktywne, aby tracić czas na próby wyśledzenia błędu, który nie jest tak naprawdę w programowaniu, ale w implementacji VM.
Mam nadzieję, że wszystko jest jasne. Nie mam odpowiedzi na konkretny przypadek, ale myślę, że mam nadzieję, że są to przydatne rozważania pod względem problemu, i zdecydowanie zaleciłbym, aby omówić takie kwestie w sposób otwarty i pełny z udziałem obu zaangażowanych działów i być może przedstawiciela zarządzanie przedsiębiorstwem, które ostatecznie będzie musiało uzasadnić zakup. Stąd moja sugestia dobrego mówcy lub pośrednika!
Przypuszczalnie, jeśli wymaga to większej liczby pracowników, może to być pozytywna rzecz (jest tam wielu bezrobotnych), ale w dziale programistów może być wystarczająca ilość inteligentnych rozwiązań informatycznych, aby sami dodać rolę administratora serwera dla własnej grupy?
Wiem, że to naprawdę bardzo ważne, więc nie chcę być nonszalancki, ale są chwile, kiedy myślę, że konsolidacja i dodanie ról do istniejących pracowników stanowi zbyt duże obciążenie dla ich osobistego czasu, co zwykle kończy się niechęcią , szczególnie gdy mogą być częścią radykalnie nowej i udanej inżynierii oprogramowania.
Nie zazdroszczę twojemu problemowi, ale zazdroszczę miejscu pracy, które jest w pełni zaangażowane w wprowadzanie nowych projektów, nowego oprogramowania i nowych pomysłów. Szczerze życzę powodzenia i mam nadzieję, że mój wkład będzie pomocny.
Mihaly
źródło
Dział IT ma rację.
Prawdopodobnie zarządzają tysiącami aplikacji na setkach systemów. Jedynym sposobem, aby to zrobić skutecznie, jest uruchomienie kilku wybranych standardowych stosów oprogramowania na jeszcze mniejszej liczbie standardowych konfiguracji sprzętowych.
Jeśli podążysz tą drogą, w miarę zbliżania się do produkcji napotkasz coraz więcej problemów - w najgorszym przypadku konieczne będzie ponowne uwzględnienie całej aplikacji, aby działała w standardowym środowisku produkcyjnym na kilka dni przed uruchomieniem.
Lepiej współpracuj z grupą IT i poproś o skonfigurowanie dla ciebie standardowych środowisk testowych, za co płacą. - Jak na ironię prawdopodobnie skonfigurują maszynę wirtualną dla każdego środowiska.
Programiści powinni programować, niech faceci z infrastruktury IT zapewnią infrastrukturę, a faceci z sieci skonfigurują sieci - tak działają korporacje!
Również jeśli twoja aplikacja jest tak niestandardowa, że dział IT nie rozważy zbudowania środowiska testowego - nie będziesz miał szans na uzyskanie go w środowisku produkcyjnym. Porozmawiaj z architektami korporacyjnymi, dowiedz się, jakie środowiska są standardowe i spróbuj ich użyć. Jeśli naprawdę nie możesz zaimplementować aplikacji przy użyciu standardowego oprogramowania / sprzętu, musisz złożyć formalny wniosek o architekturę korporacyjną, aby zatwierdzić infrastrukturę jako wyjątkowy przypadek.
źródło
Będziesz musiał przedstawić swoją sprawę zarządowi, która:
Posiadanie zwirtualizowanego środowiska spełnia co najmniej jedno ze specyficznych wymagań firmy (takich jak elastyczność obsługi wielu platform) oraz
Możesz wdrożyć go w bardziej terminowy sposób, przy niższych kosztach niż IT, i
Lokalna kontrola obniży koszty i skróci czas wprowadzania produktów na rynek, oraz
Możesz zaspokoić obawy związane z bezpieczeństwem i konserwacją IT oraz
Nie wpłynie to na wydajność programisty.
Ostatni jest duży, jeśli. Omówiłem ten problem z wieloma osobami specjalizującymi się w tego rodzaju wirtualizacji. Mówią mi, że zanim rzucisz w to wystarczająco dużo sprzętu, aby był tak responsywny jak lokalny komputer, nie będzie żadnych oszczędności na kosztach sprzętu.
Tak więc wykazane oszczędności kosztów będą musiały przybrać formę elastyczności konfiguracji i możliwości zmiany tych konfiguracji w mgnieniu oka.
źródło