Jak Sys. Umiejętności administracyjne do pracy jako inżynier DevOps?

10

Szukam wskazówek, jak zdobyć umiejętności inżyniera DevOps.

Zawsze chciałem pracować nad projektami związanymi z rozwojem, ponieważ uwielbiam kodować, ale niestety nigdy nie miałem okazji. Wcześniej pracowałem przy projektach zewnętrznych przy użyciu .Net i PHP i posiadam certyfikat Java SE, ale nigdy go nie używałem.

Moje doświadczenie zawodowe obejmuje administrowanie systemem i aplikacjami. Przeważnie jestem teraz starszy w tej dziedzinie, więc przejście na rozwój nie jest preferowane, ponieważ musiałbym zacząć od nowa jako junior. Myślę jednak, że DevOps będzie dla mnie idealny, ale muszę wiedzieć, co muszę studiować, aby wypełnić luki w mojej wiedzy, aby być dobrym oddanym inżynierem DevOps (najlepiej część dotycząca pisania automatyzacji i narzędzi).

Proszę polecić, co powinienem studiować, na przykład słyszałem, że Python, Perl i Ruby są bardzo dobre dla DevOps, ale od czego jeszcze powinienem zacząć i jakie są obowiązkowe umiejętności, które muszę najpierw zdobyć?

Mój obecny zestaw umiejętności:

Sys. Admin

  • Administracja Unix (HP-UX, Solaris) i Linux (Ubuntu, Red hat, CentOS)
  • Administracja technologii Middleware (WebLogic, Apache-Tomcat, WebSphere, MQ)
  • Skrypty Bash / Shell

  • Konfiguracja i administracja serwera WWW

  • Doskonała znajomość popularnych systemów baz danych (SQL Server, Oracle, MySQL itp.)
  • Usługi sieciowe i integracje SOAP / REST / API
  • Oracle Business Intelligence Suite (OBIEE, DAC, Informatica)
  • ITSM Środek zaradczy Rozwój i administracja.
  • SAP Business Object (Analytics).
  • Splunk
  • Centrum serwisowe - Zarządzanie usługami IT z obsługą standardu ITIL
  • Silne zrozumienie technologii aplikacji internetowych.

Deweloper

  • Umiejętności eksperckie w zakresie programowania w Microsoft Visual Basic.
  • Doskonałe umiejętności programistyczne w Java SE.
  • Microsoft .Net Development
  • Rozwój MS SharePoint.
  • Ekspert w MS Office ze specjalistyczną wiedzą na temat makr i automatyzacji we wszystkich aplikacjach MS Office.
  • Pośredni rozwój PHP (CakePHP)
użytkownik3561596
źródło

Odpowiedzi:

8

Poszukaj ról DevOps Engineer i sprawdź listę technologii, których szukają. Zazwyczaj potrzebne są umiejętności skryptowe automatyzacji (takie jak Bash, Python lub PowerShell), umiejętności zarządzania konfiguracją (takie jak Chef, Puppet lub Ansible) oraz pewne podstawowe doświadczenie w utrzymywaniu i konfigurowaniu potoku kompilacji / wydania. W tym celu zapoznaj się z narzędziami CI / CD, takimi jak AppVeyor (.NET), Jenkins, Travis CI itp. Powinieneś także znać Git i systemy kontroli źródła, takie jak BitBucket lub TFS. Przydałoby się również zapoznanie się z automatycznymi technikami testowymi.

Jeśli jeszcze tego nie zrobiłeś, rozważ hostowanie niektórych produktów open source w Github i skonfigurowanie dla nich potoku, który wykonuje automatyczne testy zatwierdzeń, a także (jeśli to możliwe) publikowanie w systemie zarządzania pakietami. To wspaniałe doświadczenie, a także pokazuje swoje umiejętności.

Aby uzyskać bardziej ogólne zrozumienie filozofii DevOps (uważaj, że jest to zarówno kultura, jak i zestaw technologii), wykonaj jak najwięcej lektur na ten temat i zacznij śledzić (np. Za pośrednictwem Twittera) takich jak Gene Kim, Jez Humble i Patrick Debois. Polecam również przeczytanie Podręcznika DevOps, którego są autorami. Jest to bardzo dokładne wyjaśnienie, czym jest DevOps, a także w jaki sposób organizacje mogą to przyjąć.

Możesz także sprawdzić spotkania i konferencje związane z DevOps (takie jak Velocity , DevOpsDays i Config Management Camp ). Możliwości będą się oczywiście różnić w zależności od tego, gdzie jesteś na świecie.

Mark Wragg
źródło
dobrze powiedziane .. z mojego doświadczenia związanego z programowaniem w DevOps i pracą z administratorami sys zwykle brakuje umiejętności najbardziej poszukiwanych w postaci kontroli wersji (Git), podstawowych umiejętności skryptowych (bash lub Python) i możliwości konstruowania potoków używając czegoś podobnego do Jenkins Pipeline DSL .. Polecam również terraform oprócz znajomości jednego z głównych narzędzi CM (kukiełka, szef kuchni, ansible, sól)
TechDawg270
2

Zrób listę narzędzi DevOps, które wydają się popularne, pobierz, postępuj zgodnie z instrukcją i po prostu zrób to.

  • Włóczęga
  • Ansible
  • Doker
  • Kubernetes / OpenShift

Zapewni to dobry start z narzędziami bliższymi do strony „Ops” i - jeśli uda ci się również ustalić, dlaczego i po co te narzędzia są używane - uczyni cię godnym członkiem większości zespołów. Możesz zbierać coraz więcej bitów i kawałków Dev Devided (tj. Potoków CI / CD itp.).

AnoE
źródło