Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo,

ich bin aktuell normaler Softwareentwickler und finde das Thema DevOps Interessant. Also generell diesen Ansatz Sachen zu automatisieren. Daher habe ich mich entschlossen etwas in das Thema einzutauchen und diese Zertifizierung abzuschließen: https://docs.microsoft.com/de-de/learn/certifications/devops-engineer/

Ich mache das aber nicht wegen dem Zertifikat an sich, sondern weil mich das Zertifikat durch den Lernplan dahinter etwas an die Hand nimmt. Azure deswegen, weil es schon etwas mit Azure gearbeitet und bereits andere Azure Zertifikate abgelegt habe. 

Das mit "an die Hand nehmen" ist auch unbedingt nötig, weil aktuell bin ich noch total überfordert.  DevOps umfasst einfach so viele Themen, Technologien und Tools. Die Lernzeit um mich da etwas einzuarbeiten erbringe ich privat und ist daher natürlich auch nicht unbegrenzt verfügbar. Daher kann ich auch nur kleine Demo / Spielprojekte aufsetzen und mich halt grundlegend etwas mit den Tools vertraut werden aber nicht so tief wie als wäre es mein Hauptjob.

Ich mache das nicht unbedingt mit der 100%igen Absicht eine DevOps Stelle anzutreten. Mehr aus Eigeninteresse, weil ich es in meinem Nebengewerbe einsetzen könnte und weil ich schon viele Normale-Entwickler-Stellenanzeigen gelesen wo CI/CD/IAC/Docker/Kubernetes Kenntnisse "wünschenswert" sind kann das dem Lebenslauf sicherlich auch nicht schaden.

Aber ausgehend davon das ich doch eine DevOps - Stelle antreten wöllte:

  • Wie viel Vorwissen müsste man mitbringen?
  • Reicht es wenn ich in jedem Bereich (Pipelines, Docker, Kubernetes, IAC, Terraform, Ansible etc.) weiß wie die Tools arbeiten, wie sie zusammenspielen und man kleinste Demoprojekte aus dem Ärmel schütteln kann?
  • Kommt jeder DevOps ständig mit allem Kram in Kontakt oder gibt es da auch Spezialisierungen? Der eine macht mehr Pipelines der andere IAC mit Terraform etc.

Vielleicht können sich die DevOps hier im Forum mal äußern was bei euch erwartet wird und wie viel Einarbeitungszeit ihr in Neulinge investieren würdet. Ich rede natürlich nicht davon mich auf eine Senior-Position zu bewerben ;) 

Bearbeitet von AssemblyNotFound
Gast Interrupt
Geschrieben

Moin,

Zitat

Wie viel Vorwissen müsste man mitbringen?

Wenn du dich auf eine Junior Stelle bewirbst, dann sind wenig bis gar keine Vorkenntnisse in diesem Gebiet notwendig. Lediglich IT-Grundlagen müssen sitzen, ebenso wären solide Grundkenntnisse in der (Skript) Programmierung sowie in der IT-Administration von Vorteil. Ansonsten sollte man ein hohes Interesse und Lernbereitschaft mitbringen. Gut wäre es natürlich auch, wenn du dich vorab über das Gebiet DevOps bzw. IT-Automatisierung informiert hast und du von den gängigsten und wichtigsten Tools, insbesondere von Docker und Kubernetes, gehört hast.

Zitat
  • Kommt jeder DevOps ständig mit allem Kram in Kontakt oder gibt es da auch Spezialisierungen? Der eine macht mehr Pipelines der andere IAC mit Terraform etc.

Das kommt immer auf die Firma und auf die Umgebung drauf an. 

MfG

Geschrieben
vor 12 Stunden schrieb AssemblyNotFound:

Wie viel Vorwissen müsste man mitbringen?

Je nach Stellenprofil von "Mal etwas DevOps-Zeugs gehört, gesehen und sogar kurz angefasst" bis "kenne die bei Ihnen eingesetzten Tools perfekt und setze sie schon jahrelang ein".

vor 12 Stunden schrieb AssemblyNotFound:

Kommt jeder DevOps ständig mit allem Kram in Kontakt oder gibt es da auch Spezialisierungen?

Gegenfrage: Kommt jeder Softwareentwickler ständig mit allem Kram in Kontakt oder gibt es da auch Spezialisierungen?

 

vor 12 Stunden schrieb AssemblyNotFound:

wie viel Einarbeitungszeit ihr in Neulinge investieren würdet

Je nach Wissensstand und Lernfortschritt des Neulings unter Berücksichtigung der vorgesehenen Aufgaben zwischen sehr kurz bis mehrere Jahre.

Geschrieben (bearbeitet)

Da ich ein wenig Dev-Ops mache, hier meine Erfahrungen:

Linux

Ich weiß nicht wie es innerhalb der Azure-Umgebung aussieht, aber im Regelfall braucht man als Dev-Ops Linux-Kenntnisse, am besten noch mit Bash-Scripting (was ich echt nervig finde).

Windows

Je nachdem ob man auch Windows-Nodes/Worker hat, ist hier ein bisschen Admin-Wissen nicht schlecht.

Docker / Kubernetes

Kommt natürlich immer drauf an, wie krass man Dev-Ops betreibt, aber man verwendet heutzutage ganz gerne Container, je nach Aufwand/Umgebung kann man das auch auf Kubernetes laufen lassen und/oder skalieren. Was ich zum Teil mache sind eigene Container zu bauen. 

Software-Entwicklung

Je nach Sprache/Build-Werkzeugen muss man sich hier auch ein wenig auskennen, z. B. make, Gradle, Maven, was es so alles gibt.

Sofware-Testing

Auch mit Test-Frameworks sollte man keine Berührungsängste haben.

Software-Entwicklungsprozess

Man macht CI/CD ja nicht einfach so zum Spaß, es gliedert sich auch immer irgendwo in den Software-Entwicklungsprozess ein. Zum Teil kann es sein, diesen mitzugestalten.

Soft-Skills

Manchmal passt der Code einfach nicht (mehr) zur Pipeine, dann muss man den Entwicklern auch mal auf die Finger klopfen können ;)

So, das ist bisschen das mit dem ich Berührungspunkte habe (aber nicht jeden Tag alles gleichermaßen). Es kommt natürlich auch immer drauf an, wie krass man das betreiben möchte/muss. Wenn man ein GitHub-Repo hat und dort einen einfachen build mit einer GitHub Action macht, ist das mir ein paar Zeilen erledigt.

vor 13 Stunden schrieb AssemblyNotFound:

Mehr aus Eigeninteresse, weil ich es in meinem Nebengewerbe einsetzen könnte

Wenn du wirtschaftlich denken musst, ist es eben wie alles andere auch eine Kosten-Nutzen-Frage. Jetzt ein krasses Kubernetes dafür aufspannen ist vielleicht dann doch etwas zu krass, aber wiederkehrende Schritte zu automatisieren würde evtl. Sinn machen. Bei einfachen Projekten sind das aber auch Vier- oder Fünfzeiler. 

vor 13 Stunden schrieb AssemblyNotFound:

Normale-Entwickler-Stellenanzeigen gelesen wo CI/CD/IAC/Docker/Kubernetes Kenntnisse "wünschenswert"

Wichtig ist: Docker hat mehr Vorteile als nur die Verwendung in CI/CD. Kubernetes macht man "nicht einfach so nebenher". Viele Unternehmen wollen halt auch die Eierlegende Wollmilchsau - mit allen Vor- und Nachteilen.

 

Bearbeitet von pr0gg3r
Geschrieben (bearbeitet)

Super ich danke euch für die sehr ausführlichen Antworten :) Das hat mir sehr geholfen einen Einblick in die DevOps - Welt zu bekommen bzw. wie man dahin kommt. 

Ich werde mal das Zertifikat machen und mal jeden Bereich anfassen und dann mal sehen ob es mich auch langfristig packt. Falls nicht, habe ich trotzdem etwas gelernt was ich auch woanders einsetzen kann (z.B Docker).

Bearbeitet von AssemblyNotFound
Geschrieben (bearbeitet)
Am 27.7.2021 um 19:38 schrieb AssemblyNotFound:

Ich werde mal das Zertifikat machen und mal jeden Bereich anfassen und dann mal sehen ob es mich auch langfristig packt. Falls nicht, habe ich trotzdem etwas gelernt was ich auch woanders einsetzen kann (z.B Docker).

Naja Cert ließt sich eher so mau. Die Cloud/DevOps sind hauptsächlich Linux. Da würde ich ein Cert von Microsoft nicht mit der Kneifzange anfassen - auch wenn die Prinzipen natürlich auch mit Windows anwendbar sind.

Schau dir das hier mal an https://roadmap.sh/devops Klar das ganze ist überwältigend, aber zeigt Ausschnitte aus dem möglichen Techstack. 

Ich selber arbeite als DevOps :)

Linux: Generell brauchst du Linux Grundlagen (systemd/services, logs, Berechtigungen, Filesystem, DNS/Netzwerk, Container, SSH, Paketmanager, die ganzen Standardbefehle, ...). Container basieren nativ auf Linux und gefühlt mehr als das halbe Internet läuft auf Linux. Windows mit UIs benutzt fast niemand. Linux mit Terminal ist der Weg :)

Container: Man sollte auf jeden Fall Docker drauf haben. Mal ein Dockerfile schreiben, Container starten/stoppen, sich auf einen Container verbinden, .... . Für einfache Container Orchestrierung würde ich Docker Swarm/Docker Compose/Nomad/AWS ECS nehmen. K8s ist natürlich beste Container Orchestrierungstool, aber absolut komplex und für viele Use-cases einfach viel zu viel. Am Ende ist K8s Admin fast ein eigener Job... Klar der Skill ist überall gefragt, aber das eignet man sich nicht in 3 Tagen an. K8s ohne Linuxgrundlagen ist auch ein Witz. K8s ist nix für den Anfang einer DevOps Reise.

Netzwerk: Du brauchst die Netzwerk Grundlagen. MACs, IPs (Subnetting !), Ports, VPN, Routing, NAT. 

DNS/SSL: DNS Grundlagen braucht man und man sollte auch in der Lage sein Zertifikate mit AWS ACM/Let's Encrypt oder anderen Sachen zu beziehen :)

Infrastruktur als Code. Du baust alle Infrastruktur als Code mit z.B. Terraform oder Pulumi.

Configuration as Code: Du konfiguriest alle VMs mit Ansible, Chef, Puppet, etc. Generell gilt das Prinzip "Cattle, not pets" für Server. Man muss jederzeit einen Server löschen können und innerhalb kurzer Zeit mittels Terraform und Ansible wieder automatisiert frisch bereit haben. 

Cloud: Man sollte sich entweder in AWS, GCE oder Azure auskennen. AWS ist am weitesten entwickelt und auch die größte Cloud. Allein AWS ist ein Monster für sich und hier muss natürlich nicht alles kennen. Ein paar Kernservices braucht man aber: VPC, EC2, SSM, RDS, DynamoDB, Lambda, S3, ALB, ECS/ EKS, ECR, CloudWatch, ...

CI/CD pipelines: Hier Automatisiert man das Deployment von Apps, automatisches Ausführen von Tests, etc. Da gibt es viele Tools wie Jenkins, Azure DevOps und so weiter.

Monitoring/Logging: Server und Apps erzeugen Logs. Die möchte man irgendwo sammeln und analysieren. Gerne auch Alarme für bestimmte Logs oder Metriken. Mögliche Techstacks: AWS CloudWatch oder ELK-Stack oder Grafana+Prometheus+Loki oder ...

Git: Der eigene Code wird natürlich in Git verwaltet

Scripten: Oft muss man gerade in Pipelines viele Teile verbinden. Hier kommen gerne Bash und Python zum Einsatz. In der Cloud kann man auch gut mit AWS Lambda + Python viele Sachen automatisieren. 

Man muss natürlich nicht alles von Anfang ankennen und arbeitet sich langsam rein. 

Bearbeitet von Flammkuchen
Geschrieben
Am 30.7.2021 um 15:45 schrieb Flammkuchen:

Naja Cert ließt sich eher so mau. Die Cloud/DevOps sind hauptsächlich Linux. Da würde ich ein Cert von Microsoft nicht mit der Kneifzange anfassen - auch wenn die Prinzipen natürlich auch mit Windows anwendbar sind.

Man mag es kaum glauben, aber insbesondere bei Docker/Kubernetes gibt es in Azure ziemlich viel Linux zu sehen. Windows Desktops  hast du da jetzt eher nicht so oft. 
 

/Thomas

Geschrieben

Das glaube ich gerne. Docker ist bereits relativ abstrakt und in K8s ist alles bereits hoch abstrahiert. OP klingt so als käme er aus der typischen Windows-Dev-Welt. 

Was bring es wenn er ein paar K8s Befehle kann, aber in einem Bewerbungsgespräch bereits an einfachen Fragen wie "Wie setze ich das executable Bit für eine Binary ?" oder "Was ist ein SSH-Keypair ?" scheitert ?

DevOps ohne Linux-Grundkenntnisse ist einfach Quark.

  • 1 Jahr später...
Geschrieben (bearbeitet)

Ich habe mein Studium noch nicht abgeschlossen und mein Chef auf der Arbeit gibt mir bereits Aufgaben rund um die Softwareentwicklung. Leider kenne ich das noch nicht gut, aber ich kann es mir auch nicht leisten, diesen Job zu verlieren, denn er zahlt sich für meine Ausbildung aus. Also frage ich die Jungs die ich kenne ob sie ichsolllinksmitdemforenbetreiberabstimmen können um ich es nicht einfach nur Blödsinn vor dem Chef präsentieren Auch wenn ich mich vielleicht irre, und ich hätte gleich sagen sollen, dass ich noch nicht genug Erfahrung habe.

Bearbeitet von charmanta
Anonymisierung. Bitte vorher mit StefanE abstimmen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...