AssemblyNotFound Geschrieben 26. Juli 2021 Geschrieben 26. Juli 2021 (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 26. Juli 2021 von AssemblyNotFound Zitieren
Gast Interrupt Geschrieben 27. Juli 2021 Geschrieben 27. Juli 2021 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 Zitieren
allesweg Geschrieben 27. Juli 2021 Geschrieben 27. Juli 2021 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. Zitieren
pr0gg3r Geschrieben 27. Juli 2021 Geschrieben 27. Juli 2021 (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 27. Juli 2021 von pr0gg3r Zitieren
AssemblyNotFound Geschrieben 27. Juli 2021 Autor Geschrieben 27. Juli 2021 (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 27. Juli 2021 von AssemblyNotFound Zitieren
Flammkuchen Geschrieben 30. Juli 2021 Geschrieben 30. Juli 2021 (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 30. Juli 2021 von Flammkuchen testplayer975, pr0gg3r, RealPride und 3 Weitere reagierten darauf 6 Zitieren
Th0mKa Geschrieben 4. August 2021 Geschrieben 4. August 2021 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 Zitieren
Flammkuchen Geschrieben 4. August 2021 Geschrieben 4. August 2021 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. testplayer975 reagierte darauf 1 Zitieren
carlmarxson Geschrieben 28. April 2023 Geschrieben 28. April 2023 (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 28. April 2023 von charmanta Anonymisierung. Bitte vorher mit StefanE abstimmen Th0mKa reagierte darauf 1 Zitieren
Empfohlene Beiträge
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.