MÄlgrupp
Ăr du en utvecklare som vill vĂ€nda din karriĂ€r mot en mer avancerad DevOps-modell? Ăr du en klassisk Ops-ingenjör som vill fĂ„ en insikt om vad DevOps innebĂ€r? Eller kanske Ă€r du varken det ena eller det andra, men efter att ha arbetat med IT-teknik ett tag vill du byta jobb och har ingen aning om var du ska börja?
Om sÄ Àr fallet, lÀs vidare för att ta reda pÄ hur du kan bli en medelnivÄ DevOps-ingenjör pÄ sex mÄnader! Om du redan har arbetat med DevOps i mÄnga Är kan du ÀndÄ hÀmta mycket vÀrdefull information frÄn denna artikelserie och fÄ insikt om var integrations- och automatiseringsbranschen stÄr just nu och vart den Àr pÄ vÀg.

Vad Àr detta egentligen?
Först och frÀmst, vad Àr DevOps? Du kan googla fram definitioner och försöka sortera igenom allt det hÀr snacket, men vet att de flesta av definitionerna bara Àr en sammanblandning av ord som klÀs i en polerad form. SÄ jag ska ge dig en sammanfattning av alla dessa definitioner: DevOps Àr ett sÀtt att leverera mjukvara dÀr huvudvÀrk och ansvar delas mellan alla involverade. Det Àr allt.
Okej, men vad betyder egentligen förkortningen? Den innebÀr att traditionellt sett har utvecklare (de som skapar mjukvara) pÄverkats av incitament som skiljer sig avsevÀrt frÄn de som pÄverkar operations (de som hanterar mjukvaran). Till exempel, som utvecklare vill jag skapa sÄ mÄnga nya funktioner som möjligt sÄ snart som möjligt. Det Àr trots allt mitt jobb, och det Àr vad kunderna krÀver! Men om jag Àr en Ops-person vill jag ha sÄ fÄ nya funktioner som möjligt, eftersom varje ny funktion innebÀr en förÀndring, och varje förÀndring kan leda till problem. Resultatet av denna incitamentsklyfta Àr uppkomsten av DevOps.
DevOps försöker förena utveckling och drift (integration och automation) i en enda grupp. Idén Àr att nu kommer en grupp att dela bÄde smÀrta och ansvar (och förmodligen belöning) för att skapa, distribuera och generera intÀkter frÄn kundfokuserad mjukvara.
Purister kommer att sÀga att det inte finns nÄgot som heter "DevOps-ingenjör". "DevOps Àr en kultur, inte en roll", kommer de att sÀga. SjÀlvklart har de rÀtt ur teknisk synvinkel, men som ofta Àr fallet har den hÀr termen gÄtt bortom sitt ursprungliga sammanhang. En DevOps-ingenjör Àr ungefÀr som en "systemingenjör 2.0". Med andra ord, det Àr nÄgon som förstÄr mjukvaruutvecklingslivscykeln och skapar verktyg och processer för mjukvaruutveckling för att lösa klassiska operativa problem.

DevOps handlar i slutÀndan om att skapa digitala rörledningar som tar koden frÄn utvecklarens laptop och förvandlar den till intÀkter frÄn anvÀndningen av den slutliga produkten, det Àr vad det hela handlar om. Observera att valet av karriÀr inom DevOps kompenseras i hög grad med ekonomisk belöning, och nÀstan varje företag "gör DevOps" eller pÄstÄr sig göra det. Oavsett var dessa företag befinner sig, Àr de övergripande anstÀllningsmöjligheterna inom DevOps ganska hög och innebÀr "roliga" och meningsfulla sysselsÀttningar i mÄnga Är framöver.
Men var försiktig med företag som anstÀller en "DevOps-team" eller "DevOps-avdelning". Strikt talat borde sÄdana saker inte existera, för i slutÀndan Àr DevOps fortfarande en kultur och ett sÀtt att leverera mjukvara, inte att bemanna ett nytt team eller att skapa en avdelning med ett trendigt namn.
Ansvarsfriskrivning
Och nu, lÄt oss för ett ögonblick sÀtta ner vÄrt glas "Cool-Aid" och tÀnka pÄ följande. Har du hört det gamla ordsprÄket "det finns inga juniora DevOps-ingenjörer"? Om inte, sÄ vet att det Àr ett populÀrt troper pÄ Reddit och StackOverflow. Men vad betyder det?
I enklare termer betyder denna fras att det krĂ€vs mĂ„nga Ă„rs erfarenhet kombinerat med en solid förstĂ„else för verktyg för att i slutĂ€ndan bli en effektiv Senior DevOps-praktiker. Och tyvĂ€rr finns det ingen genvĂ€g för att nĂ„ detta mĂ„l. SĂ„, detta Ă€r inte ett försök att fuska â jag tror inte att man faktiskt kan lĂ„tsas vara en Senior DevOps-ingenjör med nĂ„gra mĂ„naders erfarenhet inom omrĂ„det. Att uppnĂ„ en klar förstĂ„else av de snabbt förĂ€nderliga verktygen och metoderna krĂ€ver flera Ă„rs erfarenhet, och det finns ingen vĂ€g runt det. Det finns dock en nĂ€stan enad (eller trendsatt, om du sĂ„ vill) meny av verktyg och koncept som de flesta företag anvĂ€nder, och det Ă€r vad detta handlar om.
Ă terigen, verktyg skiljer sig frĂ„n fĂ€rdigheter, sĂ„ medan du lĂ€r dig verktygen, se till att du inte försummar dina fĂ€rdigheter (intervjuer, nĂ€tverksbyggande, skriftlig kommunikation, felsökning osv.). Det viktigaste Ă€r att inte tappa fokus pĂ„ vad vi vill hitta â ett sĂ€tt att skapa en helt automatiserad digital konveyor som tar idĂ©er och omvandlar dem till intĂ€ktsgenererande kodfragment. Detta Ă€r den enda och viktigaste insikten frĂ„n hela denna artikel!
Nog med prat, nÀr kan jag börja?
Nedan följer en vÀgkarta för 'GrundlÀggande kunskaper i DevOps'. NÀr du har bemÀstrat allt som visas dÀr kan du med gott samvete och Àrlighet kalla dig DevOps-ingenjör! Eller molningenjör, om du inte gillar termen 'DevOps'.

Denna karta visar min (och förmodligen de flesta som arbetar inom detta omrÄde) uppfattning om vad en kompetent DevOps-ingenjör bör veta. Det Àr dock bara en Äsikt, och sjÀlvklart kommer det att finnas motstridiga Äsikter. Det Àr okej! Vi strÀvar inte efter perfektion hÀr, vi strÀvar efter en solid grund som man verkligen kan bygga pÄ.
Du mĂ„ste gĂ„ denna vĂ€g gradvis, lager för lager. Du bör börja (och fortsĂ€tta!) med de grundlĂ€ggande fĂ€rdigheterna, och först lĂ€ra dig de element som anges i blĂ„tt â Linux, Python och AWS. Sedan, om tid och efterfrĂ„gan pĂ„ arbetsmarknaden tillĂ„ter, kan du ta itu med de lila sakerna â Golang och Google Cloud.
För att vara Ă€rlig Ă€r det grundlĂ€ggande lagret nĂ„got som du kommer att behöva studera oĂ€ndligt. OS Linux Ă€r mycket komplext och det kan ta Ă„r att bemĂ€stra. Python krĂ€ver stĂ€ndig praktik för att hĂ„lla sig uppdaterad. AWS utvecklas sĂ„ snabbt att det du vet idag bara kommer att utgöra en del av den totala kunskapsportföljen om ett Ă„r. NĂ€r du har lĂ€rt dig grunderna, gĂ„ vidare till en verklig fĂ€rdighetsuppsĂ€ttning. Observera att det finns totalt 6 blĂ„ kolumner (Konfigurering, Version, Paketering, Distribuering, Drift, Ăvervakning), en för varje mĂ„nads studier.

Du har förstĂ„s noterat avsaknaden av ett viktigt steg i vĂ„r sex mĂ„naders plan â testning. Jag har medvetet uteslutit det frĂ„n tidsplanen eftersom skrivandet av moduler, integration och acceptanstester Ă€r svĂ„ra uppgifter och traditionellt faller pĂ„ utvecklarnas axlar. Uteslutningen av steget "testning" förklaras av att syftet med denna tidsplan Ă€r att sĂ„ snabbt som möjligt bemĂ€stra grundlĂ€ggande fĂ€rdigheter och verktyg. Enligt författaren utgör bristen pĂ„ testningserfarenhet bara ett obetydligt hinder för korrekt anvĂ€ndning av DevOps.
Dessutom, kom ihĂ„g att vi inte studerar en massa orelaterad teknisk prat, utan strĂ€var efter att förstĂ„ de verktyg som tillsammans skapar en begriplig berĂ€ttelse. Denna berĂ€ttelse utgör en end-to-end automatisering av processen â en digital konveyor som flyttar bitar likt en produktionslinje. Du vill vĂ€l inte lĂ€ra dig en massa verktyg och stĂ€ndigt behöva stanna upp! DevOps-verktygen förĂ€ndras snabbt, medan koncepten förĂ€ndras mycket sĂ€llan. DĂ€rför bör du strĂ€va efter att anvĂ€nda verktyg som lĂ€rande proxyer för högre nivĂ„koncept.
Okej, lÄt oss grÀva lite djupare!
GrundlÀggande kunskaper
Under the top step with the inscription Foundation, you will see the skills that every DevOps engineer should master. These skills involve a solid command of the three 'pillars' of the industry: operating system, programming language, and public cloud. These are not things you can quickly familiarize yourself with and move on. These skills need to be continuously refined and honed to stay at the forefront of the industry and to keep the professional environment around you relevant. Let's go through them one by one.
Linux is where everything works. Can you be an amazing DevOps practitioner while fully staying within the Microsoft ecosystem? Of course, you can! There is no law that dictates using only Linux. However, keep in mind â while all Linux tasks can be done in Windows, it is much more painful and with fewer functionalities. At this point, it's safe to assume that without knowledge of Linux, you cannot become a true DevOps professional, so Linux is something you must learn and study.
Honestly, the best way to do this is to simply install Linux (Fedora or Ubuntu) at home and use it as much as possible. Of course, you will break a lot of things, get stuck in workflows, and have to fix everything, but you will learn Linux!

By the way, in North America, RedHat variants are more common, so it makes sense to start with Fedora or CentOS. If you are wondering whether to get the KDE or Gnome edition, choose KDE. This is what Linus Torvalds himself uses.
Python is currently the dominant back-end language. It's easy to get started with, and it is widely used. Python is very common in artificial intelligence and machine learning, so if you ever wish to move into another hot area of activity, you will be fully prepared for it.

Amazon Web Services: again, it is impossible to become an experienced DevOps professional without a solid understanding of how the public cloud works. And if you want to learn as much as possible about it, study Amazon Web Services. It is the leading player in this service area and offers the richest set of working tools.
Kan man istÀllet börja med Google Cloud eller Azure? SjÀlvklart kan man det! Men med tanke pÄ den senaste finanskrisen bör man beakta att AWS Àr det mest sÀkra alternativet, Ätminstone 2018, eftersom det tillÄter gratis registrering av ett konto och att man kan börja utforska möjligheterna med molntjÀnster. Dessutom erbjuder AWS-konsolen en anvÀndarvÀnlig meny för val. Den goda nyheten Àr att du inte behöver kÀnna till all teknik frÄn Amazon för detta.

Börja med följande: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing under EC2) och Security Group. Dessa saker rÀcker för att komma igÄng, och varje modernt molnföretag anvÀnder dessa verktyg relativt aktivt. AWS eget utbildningssajt Àr en bra plats att börja pÄ.
Jag rekommenderar att du dagligen avsÀtter 20-30 minuter för lÀrande och praktik med Python, operativsystemet Linux och molntjÀnsten AWS, utöver andra Àmnen som du kommer att behöva studera. Generellt tror jag att en timme om dagen fem gÄnger i veckan Àr tillrÀckligt för att förstÄ de processer som pÄgÄr inom DevOps-industrin pÄ sex mÄnader eller Ànnu mindre. Det finns totalt 6 huvudkomponenter, var och en motsvarar en mÄnad av lÀrande. Det Àr allt du behöver för att fÄ grundlÀggande kunskaper.
I kommande artiklar kommer vi att titta pÄ nÀsta svÄrighetsnivÄ: hur man helt automatiserar instÀllning, versionering, paketering, distribution, körning och övervakning av mjukvara.
FortsÀttningen kommer snart...
Lite reklam đ
Tack för att ni stannar kvar hos oss. Gillar ni vÄra artiklar? Vill ni se fler intressanta material? Stöd oss genom att göra en bestÀllning eller rekommendera oss till era vÀnner, , en unik motsvarighet till entry-level servrar som vi har skapat för er: (alternativ med RAID1 och RAID10 finns tillgÀngliga, upp till 24 kÀrnor och upp till 40GB DDR4).
Dell R730xd Ă€r tvĂ„ gĂ„nger billigare i datacentret Equinix Tier IV i Amsterdam? Bara hos oss i NederlĂ€nderna! Dell R420 â 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB â frĂ„n $99! LĂ€s om
KĂ€lla: habr.com
