Zwinny sysadmin i devops - jak to osiągnąć? [Zamknięte]

18

W dzisiejszych czasach sprawne administrowanie systemami i devops to jedne z najbardziej popularnych tematów dotyczących administracji systemami i ich działania. Obie te koncepcje koncentrują się głównie na wypełnieniu luki między operacjami / administratorami a projektami (deweloperzy, biznes itp.). Nawet jeśli nigdy nie słyszałeś o koncepcji devops, jestem pewien, że ten temat również dotyczy Ciebie.

Jakich narzędzi i technik używasz do osiągania korzyści w swoich firmach? Szczególnie interesują mnie tematy takie jak zarządzanie zmianami, ciągła integracja i automatyzacja, ale nie tylko te tematy. Podziel się swoimi przemyśleniami. Nie mogę się doczekać, aby przeczytać twoje odpowiedzi / opinie :)

Marco Ramos
źródło
Część problemu z „pomostowaniem” programowania i operacji (Administracja systemem) ma inny najwyższy priorytet. Priorytetem administratora systemu nr 1 jest utrzymanie działania, choć różnorodne, powtarzające się zadania. Priorytetem programisty nr 1 jest stworzenie nowej funkcjonalności. Zadania te mogą się na siebie nakładać, ale nadejdą czasy, kiedy będą się kłócić. W tych czasach sporu Twoja DevOp będzie musiała zostać Operatorem lub Deweloperem. Niektóre ustawienia mogą tolerować wygaśnięcie, ale większość nie będzie cieszyła się reperkusjami finansowymi.
Chris S
2
Ostatnio słyszałem też, jak ktoś dyskutuje o administratorach, którzy również wiedzą, jak programować. Zdolności nie określają priorytetów ani podstawowych obowiązków. Współcześni administratorzy muszą być leniwi; w tym celu muszą być wydajni we wszystkim, co robią. Skrypty, tworzenie narzędzi serwisowych i rozumienie kodu to po prostu podstawowy zestaw umiejętności. Spółki stowarzyszone, które nie cenią tych umiejętności, stają się spadkami do małych i letargicznych modeli biznesowych (np. Produkcji), w których tolerowana jest taka nieefektywność. Zmieniająca się baza wiedzy nie gwarantuje współpracy ohydnej terminologii.
Chris S

Odpowiedzi:

30
  • svn / git - oczywiście kontrola wersji.

  • trac / redmine / jira - sprzedaż biletów.

  • cobbler - do udostępniania serwera podstawowego systemu operacyjnego. Cobbler to produkt skupiony na rodzinie redhat, ale jestem pewien, że jest coś podobnego do debian / ubuntu. Podobnie większość firm z „panelu sterowania chmurą”, takich jak RightScale, zapewni to dla Ciebie. Hasłem przewodnim tutaj jest „JEOS” lub „wystarczy system operacyjny”. Moja droga polega na użyciu linii „% packages --nobase” w moich kickstartach, a następnie zbudowaniu mojego stosu za pomocą ...

  • marionetka / szef kuchni - do zarządzania konfiguracją i egzekwowania spójności. Są tu także inne opcje, ważniejsze jest, abyś użył jednej z nich. Jedną sztuczką, którą uważam za szczególnie ważną, jest przechowywanie konfiguracji w tym samym systemie kontroli wersji, z którego korzystają programiści. Pomaga to połączyć przepływ pracy dwóch zespołów i sprawić, by były dla siebie widoczne.

  • func (lub capistrano lubuster-ssh) - do uruchamiania skryptu wdrażania w klastrze. Sztuczka polega na tym, aby sprawić, że starsi programiści będą mogli uruchomić się, aby wprowadzić nowe rzeczy na żywo i wprowadzić nieuniknione poprawki.
    To naprawdę rdzeń devops, umożliwiający programistom zarówno przełamanie, jak i naprawienie środowiska. Wielu sysadminów jest zbyt spragnionych władzy, aby tak odejść, lub ich zarządzanie nadal działa na błędnym przekonaniu, że sysadmini powinni nadzorować programistów (tak jakbyśmy mogli odczytać nawet połowę tego, co robią).

  • cacti / ganglia / collectd / munin - wykresy są bardzo ważne. Jest to wartość biznesowa metryk z ludzką wartością prostych wizualizacji. Korelowanie znacznika czasowego wypychania kodu ze znacznikiem czasu zmian na wykresach jest niezwykle cenne w rozwiązywaniu problemów z regresją wydajności i widzeniu prawdziwych faktów na temat decyzji dotyczących wydajności. Kluczową kwestią jest tutaj to, że wykresy muszą być łatwe do zobaczenia i używania przez programistów, a ich zarząd musi się od nich spodziewać.

  • nagios / zabbix / smokeping / etc - monitorowanie zawartości serwera i wskaźników wydajności typu „strona bazowa”. Ponownie kluczowe są wykresy. To więcej dla zespołu operacyjnego.

  • gomez / keynote / browsermob - zewnętrzny monitoring pełnej wydajności przeglądarki, z uwzględnieniem usług stron trzecich, CDN i problemów z czasem renderowania. Są to bardziej dla strony deweloperów zespołu.

To mieszanka narzędzi i technik, skup się na technikach. W szczególności zmiana sposobu myślenia „sysadmin” devops z „admin” na „operacje”. Chodzi o umożliwienie programistom. Umożliwiając im robienie rzeczy, umożliwiając im naprawę, umożliwiając im zobaczenie prawdziwych faktów / wskaźników / wykresów na temat tego, co zrobili. I odwrotnie, twórcy muszą się przekonać, że zostali włączeni i faktycznie obserwować trendy wydajności, debugować problemy i myśleć nie tylko o funkcjach, ale także o ich wdrażaniu i wpływie na zdrowie całego systemu / środowiska .

kagenut
źródło
2
+1 „rdzeń programistów, umożliwiający programistom zarówno przełamywanie, jak i naprawianie środowiska”
Ryan Gibbons
Jest to sprzeczne z zapewnieniem niezawodnych usług i dlatego deweloperzy mogą czasami być programistami grającymi operacje bez zrozumienia. Umiejętność polega na znalezieniu właściwej równowagi między umożliwieniem swobodnego rozwoju a zmianami w szermierce, aby ukryć przerwy przed użytkownikiem za inscenizację, redundancję itp.
JamesRyan
2

Najlepszym podejściem jest zrozumienie środowiska, w którym pracujesz. Zacznij od rozmowy z programistami i menedżerami. Postaraj się je zabrać na pokład i odeprzeć od nich pomysły. Najprawdopodobniej będą mieli dobry pomysł na to, jak działają rzeczy i czy twoje pomysły na wprowadzenie devopów spowodują jakiekolwiek problemy.

Następnie zacznij przeglądać aplikacje i wprowadzaj je pojedynczo, aby rozwiązać problemy.

Matt Delves
źródło
introduce them one at a time to solve problems.+1
Banjer
0

Chociaż narzędzia i techniki są ważne, kluczową ścieżką jest współpraca w całej organizacji. W dzisiejszych czasach Operacje IT to Operacje biznesowe. Etsy pokazuje zmiany w przychodach na swoich pulpitach, widoczne dla wszystkich.

Henk Langeveld
źródło