1. DevOps için En İyi Bulut Servis Sağlayıcı, Özellikler ve Araçları Seçme

Emily Freeman tarafından

DevOps girişiminizin başarısı büyük ölçüde süreci takip etmeye bağlıdır, ancak doğru araçları kullanmak da önemlidir. Bir bulut servis sağlayıcısı seçmek, özellikle DevOps sürüş motivasyonunuz olduğunda kolay bir seçim değildir. GCP (Google Cloud Platform), AWS (Amazon Web Services) ve Azure'un birbirlerinden daha fazla ortak noktası vardır.

Çoğu zaman, kararınız DevOps ekibinizin belirli bir bulut sağlayıcısıyla veya mevcut yığınızla olan konfor düzeyine, bulut sağlayıcısının kendisinden daha fazla bağlıdır. Buluta geçmeye karar verdikten sonra, bir sonraki karar DevOps gereksinimlerinize uyan bir bulut sağlayıcısına karar vermektir. DevOps ilkeleri göz önünde bulundurularak bulut sağlayıcılarını değerlendirirken göz önünde bulundurmanız gereken bazı noktalar şunlardır:

  • Sağlam kayıt. Seçtiğiniz bulut, sorumlu finansal kararların geçmişine ve büyük veri merkezlerini on yıllar boyunca işletmek ve genişletmek için yeterli sermayeye sahip olmalıdır. Uyum ve risk yönetimi. Resmi yapı ve yerleşik uyumluluk politikaları, verilerinizin güvenli ve emniyetli olmasını sağlamak için hayati öneme sahiptir. İdeal olarak, sözleşmeleri imzalamadan önce denetimleri gözden geçirin. Olumlu itibar. Müşteri güveni kesinlikle önemlidir. Gelişen DevOps ihtiyaçlarınızı artırmaya ve desteklemeye devam etmek için bu bulut sağlayıcısına güvenebileceğinize inanıyor musunuz? Hizmet Seviyesi Anlaşmaları (SLA'lar). Ne düzeyde bir hizmete ihtiyacınız var? Genellikle bulut sağlayıcıları, maliyete dayalı olarak çeşitli düzeylerde çalışma süresi güvenilirliği sunar. Örneğin, yüzde 99,9 kesintisiz çalışma, yüzde 99,999 kesintisiz çalışma süresinden önemli ölçüde daha ucuz olacaktır. Metrikler ve izleme. Tedarikçi ne tür uygulama bilgileri, izleme ve telemetri sağlar? Sistemleriniz hakkında mümkün olduğunca gerçek zamanlı olarak uygun düzeyde bilgi edinebildiğinizden emin olun.

Son olarak, seçtiğiniz bulut sağlayıcısının, özel DevOps gereksinimlerinizi karşılayan hizmetler sağlayan mükemmel teknik özelliklere sahip olduğundan emin olun. Genellikle,

  • Bilgi işlem yetenekleri Depolama çözümleri Dağıtım özellikleri Kayıt ve izleme Kullanıcı dostu arayüzler

Ayrıca, bir noktada, diğer API'lara ve hizmetlere HTTP çağrıları yapmanız gerektiğinde, bir hibrit bulut çözümü uygulama yeteneğini de onaylamanız gerekir.

Üç büyük bulut sağlayıcısı Google Cloud Platform (GCP), Microsoft Azure ve Amazon web Servisleridir (AWS). Ayrıca daha küçük bulut sağlayıcıları ve kesinlikle bir dizi özel bulut sağlayıcısı bulabilirsiniz, ancak bilmeniz gerekenin büyük kısmı genel bulut sağlayıcılarını karşılaştırmaktan gelir.

Amazon Web Servisleri (AWS)

Diğer büyük genel bulut sağlayıcıları gibi AWS de, kullandıkça öde aboneliği aracılığıyla isteğe bağlı bilgi işlem sağlar. AWS kullanıcıları çok sayıda hizmete ve bilgi işlem kaynağına abone olabilir. Amazon, bulut abonelerinin çoğunu elinde bulunduran bulut sağlayıcıları arasında mevcut pazar lideridir.

Dünyanın dört bir yanındaki bölgelerde güçlü özellikler ve hizmetler sunar. En iyi bilinen hizmetlerden ikisi Amazon Elastik Bilgi İşlem Bulutu (EC2) ve Amazon Basit Depolama Hizmeti'dir (Amazon S3). Diğer bulut sağlayıcılarında olduğu gibi, hizmetlere erişilir ve altyapı API'lar aracılığıyla sağlanır.

Microsoft Azure

Microsoft bu bulut sağlayıcısını Microsoft Azure olarak başlatmadan önce Windows Azure olarak adlandırıldı. Microsoft bunu tam olarak adından da anlaşılacağı şekilde tasarladı - geleneksel olarak Windows BT kuruluşları için bir bulut sağlayıcısı olarak hizmet verdi. Ancak pazar daha rekabetçi hale geldikçe ve Microsoft mühendislik ortamını daha iyi anlamaya başladığında, Azure adapte oldu, büyüdü ve gelişti.

AWS'den hala tartışmasız daha az sağlam olmasına rağmen, Azure kullanıcı deneyimine odaklanan çok yönlü bir bulut sağlayıcısıdır. Çeşitli ürün lansmanları ve satın alımları yoluyla - özellikle GitHub - Microsoft, daha geniş bir kitleye daha sağlam hizmetler sunmasını sağlayan Linux altyapısına büyük yatırım yapmıştır.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP), üç büyük genel bulut sağlayıcısından en az pazar payına sahiptir, ancak yaklaşık iki düzine coğrafi bölgede önemli miktarda bulut hizmetleri sunar.

GCP'nin belki de en çekici yanı, kullanıcılara Google'ın dahili olarak kullandığı altyapıyı sunmasıdır. Bu altyapı son derece güçlü bilgi işlem, depolama, analitik ve makine öğrenimi hizmetlerini içerir. Belirli ürününüze bağlı olarak, GCP'nin AWS ve Azure'da eksik (veya daha az olgunlaşmış) özel araçları olabilir.

Bulutta DevOps araçlarını ve hizmetlerini bulma

Kelimenin tam anlamıyla yüzlerce araç ve hizmet büyük bulut sağlayıcıları aracılığıyla hizmetinizdedir. Bu araçlar ve hizmetler genellikle aşağıdaki kategorilere ayrılır:

  • hesaplamak Depolama Ağ Kaynak yönetimi Bulut Yapay Zeka (AI) Kimlik Güvenlik serverless IOT

Aşağıda, büyük bulut sağlayıcılarının üçünde de en sık kullanılan hizmetlerin bir listesi bulunmaktadır. Bu hizmetler arasında uygulama dağıtımı, sanal makine (VM) yönetimi, kapsayıcı düzenleme, sunucusuz işlevler, depolama ve veritabanları bulunur.

Kimlik yönetimi, blok depolama, özel bulut, gizli depolama ve daha fazlası gibi ek hizmetler dahildir. Kapsamlı bir listeden çok uzaktır, ancak seçeneklerinizi araştırmaya ve bulut sağlayıcılarını farklılaştıran şeyleri hissetmeye başladığınızda sizin için sağlam bir temel oluşturabilir.

  • Uygulama dağıtımı: Uygulamaları Java, .NET, Python, Node.js, C #, Ruby ve Go gibi çeşitli dillerde dağıtmak için Hizmet Olarak Platform (PaaS) çözümü Azure: Azure Bulut Hizmetleri AWS: AWS Elastik Fasulye Sırığı GSİO: Google App Engine
  • Sanal makine (VM) yönetimi: Sanal makineleri (VM) Linux veya Windows ile çalıştırmak için Hizmet Olarak Altyapı (IaaS) seçeneği Azure: Azure Sanal Makineleri AWS: Amazon EC2 GCP: Google Compute Engine
  • Yönetilen Kubernetes: Popüler orkestratör Kubernetes aracılığıyla daha iyi konteyner yönetimi sağlar Azure: Azure Kubernetes Hizmeti (AKS) AWS: Kubernetes için Amazon Elastik Konteyner Hizmeti (ECS) GCP: Google Kubernetes Motoru
  • Sunucusuz: Kullanıcıların sunucusuz işlevlerin mantıksal iş akışlarını oluşturmalarını sağlar Azure: Azure İşlevleri AWS: AWS Lambda GCP: Google Cloud İşlevleri
  • Bulut depolama: Önbelleğe alma ile yapılandırılmamış nesne depolama Azure: Azure Blob Depolama Alanı AWS: Amazon S3 GCP: Google Cloud Storage
  • Veritabanları: İsteğe bağlı SQL ve NoSQL veritabanları Azure: Azure Cosmos DB AWS: Amazon İlişkisel Veritabanı Hizmeti (RDS) ve Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL ve Google Cloud BigTable (NoSQL)

Üç büyük bulut sağlayıcısını keşfettiğinizde, uzun bir hizmet listesi görürsünüz. Hizmetinizdeki yüzlerce seçenek sizi bunalmış gibi hissedebilir. Şans eseri, neye ihtiyacınız olduğunu bulamazsanız, pazar yeri muhtemelen benzer bir şey sağlayacaktır. Pazar, bağımsız geliştiricilerin buluta takılan ve Azure, AWS veya GCP tarafından barındırılan hizmetler sundukları yerdir.

Aşağıdaki tabloda, tümü olmasa da çoğu bulut sağlayıcısı tarafından sağlanan ek hizmetler listelenmektedir.

  1. DevOps Neden Önemli: DevOps'un Organizasyonunuza Faydaları

Emily Freeman tarafından

Doğru bir şekilde yapıldığında DevOps, kuruluşunuz için önemli avantajlar sunar. Bu makale DevOps'un kuruluşunuza nasıl fayda sağladığını bilmek için önemli noktaları sunmaktadır. Bunu, meslektaşlarınızı ikna etmenize veya yol engebeli hale geldiğinde DevOps yoluna gitmeyi neden seçtiğiniz hakkındaki anlayışınızı güçlendirmek için bir referans olarak kullanın.

DevOps avantajları

DevOps, sürekli değişikliği kabul etmenize yardımcı olur

Teknoloji ortamı sürekli değişen bir ortamdır. Bazı diller gelişir ve yeni diller oluşturulur. Çerçeveler gelir ve gider. Altyapı araçları, uygulamaları daha verimli bir şekilde barındırma ve hizmetleri daha hızlı sunma konusundaki sürekli artan talepleri karşılayacak şekilde değişir. Araçlar, mühendislik yükünü azaltmak için düşük seviyeli bilgi işlem yapmaya devam ediyor.

Değişmeyen tek şey değişimdir. Bu değişikliğe uyum sağlayabilmeniz, bireysel katılımcı, yönetici veya yönetici olarak başarınızı belirleyecektir. Şu anda şirketinizde doldurduğunuz veya nihayetinde oynamayı umduğunuz rolden bağımsız olarak, hızlı bir şekilde uyum sağlamak ve büyümeden mümkün olduğunca çok sürtünmeyi kaldırmak çok önemlidir. DevOps, iletişimi ve işbirliğini geliştirerek uyum sağlamanızı ve büyümenizi sağlar.

DevOps bulutu kucaklar

Bulut gelecek değil; kar. Hala geçiş yapıyor veya henüz taşınmaya hazır olmasanız da, bulutun birkaç şirket dışındaki herkes için ileriye giden yol olduğunu anlayın. Geleneksel altyapıdan daha fazla esneklik sağlar, işlemlerin stresini azaltır ve (gittikçe öde) fiyatlandırma yapısı nedeniyle (genellikle) maliyetler önemli ölçüde daha azdır.

Herkese açık, özel ve karma bulutlar, işletmenizi daha iyi yönetmeniz için sonsuz olanaklar sunar. Kaynakları birkaç dakika içinde döndürme (başlatma), çoğu şirketin buluttan önce hiç yaşamadıkları bir şeydir.

Bulut tarafından sağlanan bu çeviklik DevOps ile el ele gider. Otomasyon ve konfigürasyon yönetimine odaklanan bir şirket olan Kukla'dan Omri Gazitt bunu en iyi şekilde ifade etti: “Kurumlar buluta geçtikçe, yazılımları nasıl teslim ettikleri hakkındaki temel varsayımlarını gözden geçiriyorlar.”

Bulut sayesinde API'lar, kaynaklarınızı ve uygulamanızı sorunsuz bir şekilde yönetebilmeniz için her hizmet, platform ve altyapı aracını birbirine bağlar. Buluta geçiş yaparken, geçmiş mimari kararlarını yeniden değerlendirebilir ve uygulamanızla sisteminizi buluta özgü olacak veya bulut düşünülerek tasarlanmış olacak şekilde yavaşça geçirebilirsiniz.

DevOps en iyisini işe almanıza yardımcı olur

Artan talep nedeniyle, büyük mühendisler azdır. Önümüzdeki on yıl ve sonrasında piyasada mevcut olan tüm işleri doldurmaya veya piyasa talebini karşılamaya yetecek kadar mühendis yoktur. Mühendis bulmak zor olsa da, özellikle meraktan ve başarısız olmaktan korkmayan mühendisleri keşfetmeye odaklanmanız mümkün değildir. DevOps'u genel mühendislik kültürünüzde uygularsanız, mühendisleri yükseltebilir ve sürekli iyileştirmeyi destekleyen yöntem ve teknoloji konusunda eğitebilirsiniz.

Bir röportajda potansiyeli ölçmek zordur. Genellikle yetenek fısıldar. En yetenekli mühendisler tipik olarak sokulgan veya övünmez değildir; işlerinin onlar için konuşmasına izin verdiler. DevOps, görüştüğünüz mühendislerin kişisel ve mesleki çıkarlarını daha yakından dinlemenizi sağlar.

Merak, iletişim becerileri ve coşku düzeylerine göre adayları seçmeyi deneyin. Bu nitelikler ekibinizi korku, belirsizlik ve şüphe çukurlarında görebilir. Ekibi, zor problemleri çözme çabalarında kısıtlamalar dahilinde verilen zor kararlarla taşıyabilirler.

Birisine bir beceri öğretebilirsiniz, ancak birisine nasıl öğreneceğini öğretmek tamamen farklı bir konudur. DevOps kuruluşunuzda oluşturduğunuz öğrenme kültürü, teknik yeteneklere göre bir büyüme zihniyetine öncelik vermenizi sağlar. DevOps'ta ekip için işe alım çok önemlidir. Her birey bir bütünün parçasıdır ve takım bütünsel olarak dengeye sahip olmalıdır. Bu dengeye ulaşmak, bazen “en iyi” mühendisi tutmamanız, ekip için en iyi mühendisi tutmanız anlamına gelir.

DevOps ekibini işe aldığınızda, birlikte çizilen taslak atlar gibi, bireysel olarak yapabileceğinizden daha fazla ağırlık çekebilirsiniz. DevOps ile ekibinizin bireysel bileşenlerini çoğaltabilir ve bir bütün olarak bir ekibin güç merkezini oluşturabilirsiniz.

DevOps sizi rekabetçi tutar

DevOps Araştırma ve Değerlendirme (DORA) tarafından yayınlanan yıllık DevOps Durumu Raporu bunu açıkça ortaya koyuyor: Dünyanın dört bir yanındaki şirketler mühendislik uygulamalarını ayarlamak ve faydalarından yararlanmak için DevOps kullanıyor. Mühendislik üretiminde artış ve maliyette azalma görüyorlar. DevOps ile bu şirketler, karmaşık süreçlerden ve sistemlerden son kullanıcıya odaklanan yazılım geliştirmenin modern bir yoluna geçiyor.

DevOps, şirketlerin güvenilir bir altyapı oluşturmasına ve bu altyapıyı, yazılımı daha hızlı ve daha güvenilir bir şekilde yayınlamak için kullanmasına olanak tanır. Sonuç olarak: Yüksek performanslı kuruluşlar DevOps kullanıyor ve dağıtım sıklıklarını artırarak ve sistemdeki değişiklikler nedeniyle meydana gelen arızalarını önemli ölçüde azaltarak rekabetlerini eziyorlar.

Rekabet etmek istiyorsanız, sağlam DevOps yöntemlerini benimsemelisiniz. Belki hepsi değil ve kesinlikle hepsi bir anda değil - ama beklemek ve DevOps'un değerli olup olmadığını görmek için zaman geçti.

DevOps, insan sorunlarının çözülmesine yardımcı olur

İnsanlar evrimimizde teknolojinin beynimizden daha hızlı evrimleştiği bir noktaya ulaştı. Dolayısıyla, insanların karşılaştığı en büyük zorluklar, yazılım veya altyapı sınırlamalarından değil, insan sınırlamalarından kaynaklanmaktadır. Diğer yazılım geliştirme yöntemlerinden farklı olarak, DevOps bütünsel olarak sosyoteknik sisteminize odaklanır.

DevOps'u kucaklamak kültür ve zihniyette bir değişim gerektirir. Ancak bir DevOps kültürü ve zihniyeti elde ederseniz, siz ve kuruluşunuz neredeyse sınırsız fayda elde edersiniz. Mühendisler, başarısızlık baskısı ve korkusu olmaksızın keşfetme yetkisine sahip olduklarında inanılmaz şeyler olur.

Mühendisler sorunları çözmenin yeni yollarını keşfederler. Projelere ve sorunlara sağlıklı bir zihniyetle yaklaşırlar ve gereksiz ve olumsuz bir rekabet olmaksızın daha akıcı çalışırlar.

DevOps çalışanlara meydan okuyor

DevOps, bireysel mühendislerin yanı sıra bir bütün olarak mühendislik ekibinin büyümesini hızlandırır. Mühendisler akıllı insanlar. Ayrıca doğal olarak meraklılar. Büyüme zihniyetini benimseyen büyük bir mühendis, belirli bir teknoloji, araç veya metodolojide ustalaştıktan sonra yeni zorluklara ihtiyaç duyar veya genellikle durgun hissederler.

Beyinleri ve yetenek setleri gerilmiş gibi hissetmek zorundalar - bunalmış veya stresli olan noktaya değil, büyüdüklerini hissetmek için yeterli. Bu Dan Pink tarafından Drive'da anlatılan gerilim. Bu dengeyi kurarsanız, mühendisleriniz bireyler ve ekip olarak gelişecektir.

DevOps metodolojisi T-şekilli becerileri teşvik eder, bu da mühendislerin derin bir bilgi birikimine sahip bir alanda uzmanlaştığı ve diğer birçok alanı geniş bir şekilde anladığı anlamına gelir. Bu yaklaşım, mühendislerin diğer ilgi alanlarını keşfetmelerini sağlar.

Örneğin bir Python mühendisinin bulut altyapısına ilgisi vardır. Başka hiçbir mühendislik metodolojisi mühendisleri DevOps'un keşfettiği kadar keşfetmeye izin vermez ve teşvik etmez ve bu da yetenekleri işe almak ve elde tutmak için büyük bir katkıda bulunur.

DevOps köprü boşlukları

Modern teknoloji şirketlerinin zorluklarından biri, işletmenin ihtiyaçları ile mühendislik ihtiyaçları arasındaki bu boşluktur. Geleneksel bir şirkette, geleneksel yönetim stratejileri ile mühendislik ve pazarlama, satış ve iş geliştirme gibi bölümler arasında doğal bir sürtünme vardır. Bu sürtünme, hizalama eksikliğinden kaynaklanmaktadır. Her bölüm farklı başarı göstergeleri ile ölçülür.

DevOps bir işletmenin her departmanını birleştirmeyi ve ortak bir anlayış ve saygı yaratmayı amaçlamaktadır. Birbirlerinin işlerine ve katkılarına olan saygı, şirketteki herkesin gelişmesini sağlayan şeydir. Sürtünmeyi giderir ve hızlanmayı artırır.

Bir kızak köpeği takımı düşünün. Her köpek ayrı yönlerde hareket ediyorsa, kızak hiçbir yere gitmez. Şimdi birlikte çalışmayı, birlikte ilerlemeye odaklanmış köpekleri hayal edin. İçeride sürtünme olmadığında, karşılaştığınız tek zorluk dışsaldır ve dış zorluklar neredeyse her zaman iç çekişmeden daha yönetilebilir.

DevOps iyi başarısız olmanızı sağlar

Başarısızlık kaçınılmazdır. Bu sadece kaçınılmaz. Tüm bilinmeyenler nedeniyle sisteminizin başarısız olabileceği her yolu tahmin etmek imkansızdır. (Ve muhteşem bir şekilde başarısız olabilir, değil mi?) Her ne pahasına olursa olsun başarısızlıktan kaçınmak ve başarısızlık meydana geldiğinde ezilmiş hissetmek yerine, buna hazırlanabilirsiniz. DevOps, organizasyonları başarısızlığa tepki vermeye hazırlar, ancak panik, stres kaynaklı bir şekilde değil.

Olaylar her zaman bir miktar stres içerecektir. Komuta yapınız boyunca bir noktada, bir yöneticinin bir hizmet kesintisi sırasında kaybedilen paraya bağırması muhtemeldir. Ancak, başarısızlığı sisteminizi daha esnek olacak şekilde öğrenmenin ve uyarlamanın bir yolu olarak kullanarak ekibinizin yaşadığı stresi azaltabilirsiniz.

Her olay, bireyler ve ekip olarak gelişme ve büyüme fırsatıdır.

DevOps, sürekli iyileştirme sanatı olan kaizen'i kucaklar. Ekibiniz işlerinde akış yaşarsa, her gün uzun vadeli büyümeye ve sonuçta daha iyi bir ürüne katkıda bulunan küçük seçimler yapabilirler.

DevOps sürekli gelişmenizi sağlar

Sürekli iyileştirme, DevOps'ta önemli bir bileşendir. Kuruluşunuza DevOps uygularken hiç bitmeyen bir döngünün görselleştirmesini kullanın. Döngü, Sisifos'un düşünceleriyle korkuları çağırmamalı ve bir kayayı tüm sonsuzluk için bir tepeye doğru itmelidir. Bunun yerine, bu döngüyü, yokuş aşağı yuvarlanan, momentum ve kütle toplayan bir kartopu gibi hareket olarak düşünün.

DevOps'u benimsedikçe ve gittikçe daha fazla temel ilkesini günlük iş akışınıza entegre ettikçe, bu ivmeye ilk elden şahit olacaksınız. Sürekli iyileştirme döngüsü daima müşteri etrafında merkezlenmelidir. Sürekli olarak son kullanıcıyı düşünmeli ve geri bildirimleri yazılım teslim yaşam döngünüze entegre etmelisiniz.

Bu döngünün temelini CI / CD oluşturur. CI / CD'yi benimsemek DevOps'un ya hep ya hiç hiçbir şartı değildir; bunun yerine yavaş bir uygulama sürecidir. Öncelikle sürekli entegrasyona hakim olmaya odaklanmalısınız. Mühendisleri kodu özgürce paylaşmaya ve kodu sık sık birleştirmeye teşvik edin. Bu yaklaşım izolasyon ve siloların mühendislik organizasyonunuzda engelleyici olmasını engeller.

Kuruluşunuz sürekli entegrasyona hakim olduktan sonra, yazılım dağıtımını otomatikleştirme pratiği olan sürekli yayına geçin. Kodun kaliteyi sağlamak için birden fazla denetimden geçeceği için bu adım otomasyon gerektirir. Tüm kodunuz bir kaynak kodu deposunda güvenli ve erişilebilir olduktan sonra, küçük değişiklikleri sürekli olarak uygulamaya başlayabilirsiniz. Amacınız manuel engelleri kaldırmak ve ekibinizin müşteri etkisi olmadan hataları bulma ve düzeltme yeteneğini artırmaktır.

DevOps özelliği otomatikleştiriyor

Hızlanma ve artan etkinlik DevOps metodolojisinin merkezinde yer alır. Emek yoğun manuel süreçleri otomatikleştirerek DevOps, mühendisleri, beklenmedik servis kesintileri karmaşası olmadan yazılım ve sistemleri daha güvenilir ve kolay bakım yapan projeler üzerinde çalışmaya serbest bırakır.

Site güvenilirlik mühendisliği (SRE), hizmetleri çalışır durumda tutmak için gerekli olan ancak manuel ve tekrarlayan bir iş olan toil ile ilgilenir. Toil otomatikleştirilebilir ve uzun vadeli değeri yoktur. Belki de en önemlisi, çizgi büyümeyi sınırlayan doğrusal olarak ölçeklenir. Toil'in toplantılar ve planlama gibi idari gereklilikleri ifade etmediğini unutmayın. DevOps zihniyeti ile uygulanırsa, bu tür çalışmalar ekibinizin uzun vadeli ivmelenmesinde faydalıdır.

DevOps uygulamanızın temel ilkelerinden biri otomasyon. Dağıtım boru hattınızı, ayrıntılı bir test paketinin yanı sıra kodun serbest bırakılması gereken diğer kapıları içerecek şekilde otomatikleştirebilirsiniz. Birçok yönden SRE, DevOps'un evriminde bir sonraki mantıklı adımdır ve siz ve kuruluşunuz DevOps'un temel kavramlarına hakim olduktan ve uygulamayı ekibinize uyguladıktan sonraki adımınız olmalıdır.

DevOps teslimatı hızlandırır

Yazılım teslimat yaşam döngüsü, yavaş ve doğrusal Şelale sürecinden DevOps'un çevik ve sürekli bir döngüsüne dönüştü. Artık bir ürünü düşünmüyor, tam olarak geliştiriyor ve daha sonra başarısını umarak müşterilere bırakıyorsunuz.

Bunun yerine, müşteri çevresinde bir geri bildirim döngüsü oluşturur ve ürünlerinizde sürekli yinelenen değişiklikler sunarsınız. Bu bağlı devre, özelliklerinizi sürekli olarak iyileştirmenizi ve müşterinin sunduğunuz ürünten memnun olmasını sağlar.

Tüm noktaları birleştirip kuruluşunuzda DevOps'u tamamen benimsediğinizde, ekibinizin daha iyi yazılımları daha hızlı sunabildiğini görürsünüz. Değişiklikler ilk başta, tıpkı serbest bıraktığınız değişiklikler gibi küçük olacaktır. Ancak zamanla, önemsiz görünen bu değişiklikler toplanır ve kaliteli yazılım sunumunu hızlandıran bir ekip oluşturur.

  1. BusinessOperations Yönetimi Bulut Araçlarınızdan Daha Fazla Şey Yapın: Buluttaki DevOps'u Otomatikleştirme

Emily Freeman tarafından

Bulutu DevOps uygulamanızla birleştirmek, daha önce yapmış olduğunuz işi hızlandırabilir. Birlikte kullanıldığında, hem DevOps hem de bulut, şirketinizin dijital dönüşümünü sağlayabilir.

DevOps'un önceliklerini vurguladığınız sürece sonuçları göreceksiniz: insanlar, süreç ve teknoloji. Bulut - diğer araçlarla birlikte - DevOps uygulamanızın teknik kısmına dik olarak düşer.

DevOps ve bulut bilişim

Bulut bilişim, kendi fiziksel altyapınızı yönetirken mümkün olmayacak şekilde geliştiricileriniz ve operasyonlarınız için otomasyon sağlar. Kod olarak Altyapı (IaC) olarak adlandırılan bir sistem olan buluttaki kod aracılığıyla altyapı sağlamak, şablonlar ve tekrarlanabilir işlemler oluşturmanıza olanak tanır.

Altyapı kodunuzdaki değişiklikleri kaynak kontrolü yoluyla izlediğinizde, ekibinizin sorunsuz çalışmasına ve değişiklikleri izlemesine izin verirsiniz. IaC, mühendislerin bir portalın etrafında tıklamalarını sağlamaktan çok daha tekrarlanabilir ve otomatiktir.

Portaldaki talimatlar bile kusursuz değildir. Aynı kurulumu YAML dosyası yerine portal üzerinden sürekli olarak oluşturursanız, altyapı kurulumunda küçük ancak önemli değişiklikler yapma riskiniz vardır.

DevOps kültürünüzü buluta taşıma

İnsanlar sık ​​sık DevOps ve bulut bilişim hakkında iç içe geçmiş gibi ve birçok yönden konuşurlar. Bununla birlikte, bulutta bulunmadan DevOps'u benimseyebileceğiniz veya mühendislik organizasyonunuzu dönüştürmeye başlayabileceğinizi unutmayın. Altyapınızı bir bulut sağlayıcısına kaydırmadan önce ekibiniz için standartları, uygulamaları ve süreçleri belirlemeniz kesinlikle makuldür.

İnsanlar herkes zaten buluttaymış gibi konuşsa da, hala buluta geçişin son noktasındasınız. Bulut sağlayıcıları gün geçtikçe daha sağlam hale geliyor ve mühendislik şirketleri yavaş yavaş kendi kendine barındırılan hizmetlerini buluta geçiriyor. Bunu göz önünde bulundurarak, DevOps'u benimsemeye çalışan bir kuruluş, büyük bir bulut sağlayıcısının hizmetlerini kullanmayı güçlü bir şekilde düşünmek akıllıca olacaktır.

DevOps deneyimi olan herkes buluta bir NoOps çözümü demez, ancak buna OpsLite diyebilir. Bulut hizmetleri genellikle karmaşık operasyon mimarisini bu mimariyi geliştiriciler için daha kolay hale getirecek ve bileşenlerinin daha fazla sahiplenmelerini sağlayacak şekilde soyutlar.

Geliştiricilerin bir çağrı üzerine rotasyona dahil edilmeleri gerektiğini düşündüğünüzde haklısınız - haklısınız. Geliştiricileri çağrı üzerine rotasyona dahil etmek, kod dağıtma bilgisini arttırmanın yanı sıra hizmetlerinin çalıştığı altyapıyı yönetme ve sağlama konusunda mükemmel bir yoldur. Bu, operasyonel yükü azaltır ve operasyon uzmanlarının proaktif çözümler üzerinde çalışma süresini azaltır.

DevOps'un benimsenmesi yoluyla öğrenme

Ekibiniz DevOps'u benimseme ve aynı anda bulut bilişim kullanmaya yönelme yeteneğine sahipse, bu değişimleri hem geliştiriciler hem de işlemciler için öğrenme fırsatları olarak kullanabilirsiniz.

Ekibiniz buluta geçiş yaparken, geliştiriciler operasyon uzmanlarını kod, hatta belirli dillerle ve kaynak kontrolüyle tanışma fırsatına sahipler ve operasyon arkadaşları geliştiricilere altyapı hakkında bilgi verebilirler. Her iki grup da uzman ve yeni başlayanlar olduğunda, her iki grup da egoya zarar veren bilgi transferinin çoğunu yapmak zorunda değildir.

Bu etkileşimlerden ortaya çıkan güven, uyum ve sağlıklı dinamik, ekibinizi canlandıracak ve acil çalışmalardan çok daha uzun süre dayanacaktır. Birçok yönden, DevOps uygulamanızı geliştirerek DevOps kültürünüzü güçlendiriyorsunuz.

DevOps girişiminizde bulut hizmetlerinden yararlanma

Modern operasyonlar değişiyor ve gelişiyor. Rakipleriniz, daha hızlı yenilik yapmanın ve yazılım teslim yaşam döngülerini hızlandırmanın yeni yollarını zaten benimsiyor.

Bulut bilişim, işletmelerin BT kaynakları hakkında düşündüğü geleneksel yöntemden büyük bir değişimi temsil ediyor. Altyapı ve operasyon gereksinimlerinizin çoğunu bir bulut sağlayıcısına dış kaynak kullanarak, ek yükü azaltır ve ekibinizi kullanıcılarınıza daha iyi yazılım sunmaya odaklanmak için serbest bırakırsınız.

Kuruluşların bulut bilişim hizmetlerine yönelmesinin altı yaygın nedeni şunlardır:

  • Karşılanabilirliği artırmak. Bulut sağlayıcıları, yalnızca ihtiyacınız olan servisleri ihtiyacınız olduğunda seçmenize izin verir. Kablo TV'ye erişip erişemediğinizi düşünün, ancak yalnızca izlediğiniz kanallar için ödeme yapın. Çok isterdin, değil mi? Çoğu DevOps ekibi üyesi olur! Bulut sağlayıcıları tam da bunu yaparken fiziksel olarak güvenli veri merkezlerinde bulunan en güncel bilgi işlem donanımını sağlar. Dağıtımları otomatikleştirme. Sistemdeki değişiklikler - dağıtımlar - kesintilere ya da hizmet kesintilerine en yaygın katkıda bulunanlardır. Bulut sağlayıcılar, serbest bırakma kodunu otomatik, tekrarlanabilir bir süreç haline getirir ve manuel sürümlerde hata yapma ve hata verme olasılığını önemli ölçüde azaltır. Otomatik dağıtımlar ayrıca geliştiricilerin kendi kodlarını yayınlamalarını da sağlar. Nihayetinde, otomatik dağıtımlar, tesisin kapalı kalma süresini ve üretimdeki gerici tetiklemeyi azaltırken süreci kolaylaştırır. Hızlandırılmış teslimat. Bulut, yazılım teslim yaşam döngüsünün neredeyse her aşamasında sürtünmeyi azaltır. Kurulum gerekli olsa da, genellikle işlemi manuel olarak yapmak için gereken sürenin iki katından fazla sürmez ve bir hizmeti veya işlemi yalnızca bir kez ayarlamanız gerekir. Hızlandırılmış teslimat size bir ton esneklik sağlar. Artan güvenlik. Bulut sağlayıcıları güvenliği sundukları hizmetlerin bir parçası haline getirir. Microsoft Azure, Amazon web Servisleri (AWS) ve Google Cloud Platform (GCP) farklı uyumluluk standartlarını karşılar ve sisteminizin güvenliğini güçlendirmenize yardımcı olacak politikalar, hizmetler ve kontroller sağlar. Ayrıca, bulut içinde bir dağıtım boru hattı aracı kullanırsanız, bir ortama yeni kod yayınlanmadan önce güvenlik kontrolleri ekleyebilir ve böylece güvenlik açıkları olasılığını azaltabilirsiniz. Artan arıza. Bulut oluşturma ve yayınlama boru hatları aracılığıyla ekibiniz, işlevsellik, kod kalitesi, güvenlik ve sistemlerinize sunulan herhangi bir kodun uyumluluğunu onaylamak için otomatik testler oluşturabilir. Bu yetenek, hata olasılığını azaltırken sorunlu dağıtım riskini de azaltır. Daha dayanıklı ve ölçeklenebilir sistemler oluşturmak. Bulut, kuruluşların saniyeler içinde ölçeklendirmesine, ölçeklendirmesine ve kapasiteyi artırmasına olanak tanır. Bu elastik ölçeklendirme, kullanıcılarınız ürününüzle dünyanın neresinde etkileşime giriyor olursa olsun, bilgi işlem ve depolama kaynaklarının gerektiği gibi döndürülmesini sağlar. Bu yaklaşım, müşterilerinize daha iyi hizmet vermenize ve altyapı maliyetlerini daha verimli bir şekilde yönetmenize olanak tanır.

DevOps yaklaşımı, her geçiş yaptığınızda işlemden faydalanabileceğiniz ve süreçten öğrenebileceğiniz döngüsel bir yöntem oluşturmakla ilgilidir.

  1. DevOps ile Mühendislik Performansını Artırma İpuçları

Emily Freeman tarafından

DevOps sürecinin bir parçası olarak mühendislik performansının iyileştirilmesi, tüm işletme üzerinde büyük etkiler yaratabilir. Geliştirme yaşam döngüsünün düzenlenmesi ve darboğazların kaldırılması, işin genel performansını hızlandırmaya ve sonuçta kârlılığı artırmaya hizmet edecektir. Bir DevOps mühendisi olarak iş performansını önemsemeniz gerekmediğini düşünüyorsanız yanılıyorsunuz.

DevOps Araştırma ve Değerlendirme'ye (DORA) göre, yüksek performanslı DevOps ekipleri rakiplerini dört temel alanda sürekli olarak geride bırakıyor:

  • Dağıtım sıklığı: Bu terim mühendislerinizin ne sıklıkta kod dağıtabileceğini ifade eder. Performansı artırmak, günde birden çok kez istendiği gibi devreye girerek uyum sağlar. Teslim süresi: Teslim süresi, yeni kodu taahhüt etmekten bu kodu bir üretim ortamında çalıştırmaya kadar geçen süredir. DORA'ya göre, en yüksek performans gösteren oyuncuların teslim süresi bir saatin altındadır, oysa ortalama performans gösterenlerin bir aya kadar ihtiyacı vardır. MTTR (Kurtarma için Ortalama Süre): MTTR, bir olay veya kesinti gerçekleştikten sonra bir hizmeti geri yüklemek için ne kadar sürdüğünüz anlamına gelir. İdeal olarak, bir saatin altında nişan almak istiyorsunuz. Bir kesinti, özellikle uygulamanın kar merkezlerini etkilediğinde ciddi paraya mal olur. Uzun kesintiler güveni yok eder, moralleri azaltır ve ek organizasyonel zorluklar anlamına gelir. Değişiklik hatası: Bu terim, sisteminizde yapılan değişikliklerin performansı olumsuz etkileme oranını ifade eder. Asla yüzde sıfır değişim başarısızlık oranına ulaşmayacak olsanız da, otomatik testlerinizi artırarak ve her biri kaliteyi sağlayan sürekli entegrasyon kontrolleri ve kapıları olan bir dağıtım boru hattına güvenerek sıfıra kesinlikle yaklaşabilirsiniz.

DevOps başarısının bir ölçüsü olarak mükemmelliği ortadan kaldırmak

DevOps, “Bitti mükemmel olmaktan daha iyidir” mantrasına dayanır. Mükemmellik elde etmeye çalışmak, etkinlik ve üretkenlik düşmanıdır.

DevOps çeşidininkiler de dahil olmak üzere çoğu mühendis, analiz felçinin bazı versiyonlarından muzdariptir - işinizi aşırı değerlendirmek ve herhangi bir potansiyel aksilikten kaçınmak için üretkenliğinizi sınırlayan zihinsel bir sıkıntı.

Çalışmanızdaki kusurları eğitmek, başarısızlık olasılığını ve yeniden düzenlemenin kaçınılmazlığını kucaklamanızı gerektirir. Müşteri etrafında geri bildirim döngüleri oluşturmak ve ardışık düzenin çeşitli aşamalarına geri dönmek DevOps'un ana kiracılarıdır. DevOps'ta, çizgiyi bir çevreye bükmek için uçları bağlıyorsunuz.

Yinelemeli ve dairesel olarak düşündüğünüzde, mükemmel olmayan kodu dışarı atmak çok daha az korkutucu görünüyor çünkü kod taşa oyulmuyor. Bunun yerine, daha fazla veri ve geri bildirim toplarken DevOps mühendislerinin sık sık geliştiği geçici bir durumdadır.

DevOps için küçük ekipler tasarlama

Muhtemelen Amazon’un “iki pizza” takımlarını duymuşsunuzdur. Konsept genel olarak küçük ölçekli ekiplerin önemine değiniyor. Şimdi, iki pizza ekibinden oluşan tam kişi sayısı iştahınıza göre değişir.

Takımları 12 kişinin altında tutmak iyi bir fikirdir. Bir grup 9, 10 veya 11 kişiye yaklaştığında, onu ikiye bölmeyi deneyin. Grup büyüklüğü için tatlı nokta 4-6 kişidir. Kesin numaranız ilgili kişilere bağlı olarak değişebilir, ancak asıl nokta şudur: Gruplar çok büyüdüğünde, iletişim zorlaşır, uçurumlar oluşur ve ekip çalışması acı çeker.

DevOps ekiplerini oluştururken bir başka bonus hedef daha var: çift sayılar. İnsanlara iş yerinde bir “arkadaş” vermek iyi bir fikirdir - her şeyden önce güvenebilecekleri biri. Çift numaralı gruplarda, herkesin bir arkadaşı vardır ve kimse dışarıda bırakılmaz. Eşit olarak eşleştirebilirsiniz ve iyi çalışma eğilimindedir. Çift numaralı gruplar oluşturmak, personel sayıları nedeniyle her zaman elde edilemez, ancak akılda tutulması gereken bir şeydir.

İletişim kanallarını ölçmek için bir formül n (n - 1) / 2'dir, burada n kişi sayısını temsil eder. Basit bir hesaplama yaparak ekibinizin iletişiminin ne kadar karmaşık olacağını tahmin edebilirsiniz. Örneğin, 10 kişilik iki pizza ekibinin formülü 10 (10-1) / 2 = 45 iletişim kanalı olacaktır. Daha büyük ekiplerin ne kadar karmaşık olabileceğini hayal edebilirsiniz.

DevOps çalışmalarınızı izleme

Her gün yaptığınız şeyleri not etmek için küçük bir yükü aşarsanız, sonuçlar size olağanüstü bir değer sağlayacaktır. Zamanınızı nasıl kullandığınıza dair gerçek verilere sahip olmak, sizi ve ekibinizin etkinliğini izlemenize yardımcı olur. Peter Drucker'ın ünlü söylediği gibi, “Ölçemezseniz, geliştiremezsiniz.”

İşinizi kaç gün hiçbir şey yapmamış gibi hissediyorsunuz? Bütün gün toplantıdan veya rastgele kesintilerden sonra toplantı yaptınız. Yalnız değilsin. Birçok işçi aynı soruna sahiptir. İlerlemenizi ve dolayısıyla verimliliğinizi izlemek zor olabilir. Etkililik duygularımız ve etkililiğimizin gerçekliği arasındaki fark, herhangi bir DevOps ekibi için tehlikeli bir alandır.

Bunun için otomatik bir araç yerine kalem ve kağıt kullanmayı deneyin. Evet, bilgisayarınızda zamanınızı nasıl kullandığınızı izlemek için yazılımı kullanabilirsiniz. E-postayı okurken, yavaşlarken ve kodlarken ne zaman size söyleyebilir, ancak nüanstan yoksundur ve çoğu zaman büyük parçaları kaçırır veya yanlış kategorize eder.

Ne yaptığınız ve ne zaman yaptığınız hakkında bir fikriniz olduktan sonra, hangi faaliyetlerin Eisenhower Karar Matrisinin hangi çeyreğine gireceğini belirlemeye başlayabilirsiniz. Size veya kuruluşa değer vermeyen rutin olarak ne kadar yoğun bir iş yapıyorsunuz?

DevOps projelerinde sürtünmenin azaltılması

Bir yöneticinin DevOps mühendislik ekibi için yapabileceği en iyi şeylerden biri onları yalnız bırakmaktır. Sorunları bağımsız olarak çözebilen meraklı mühendisleri işe alın ve ardından işlerini yapmalarına izin verin. Mühendislik çalışmalarını yavaşlatan sürtünmeyi ne kadar çok azaltabilirsiniz, ekibiniz o kadar etkili olacaktır.

Sürtünmeyi azaltmak, takımlar arasında var olan sürtünmeyi, özellikle de operasyonları ve gelişmeyi içerir. Güvenlik gibi uzmanları da unutmayın.

Hedeflerin ve teşviklerin hizalanması hızı arttırır. Herkes aynı şeyleri başarmaya odaklanmışsa, bir ekip olarak bir araya gelebilir ve metodik olarak bu hedeflere doğru hareket edebilir.

DevOps başarısı için insancıllaştırma uyarısı

Her mühendislik ekibinin önemli olmayan eylemler veya olaylar hakkında uyarıları vardır. Tüm bu uyarılara sahip olmak mühendisleri gerçekten önemli uyarılara karşı duyarsızlaştırır. Birçok mühendis, mesajların fazlalığı nedeniyle e-posta uyarılarını yok saymaya şartlandı.

Uyarı yorgunluğu birçok mühendislik organizasyonuna yardım eder ve yüksek maliyete sahiptir. Her gün su altında kalırsanız, önemsiz olan bir denizden önemli olanı seçmek imkansızdır. Bu mesajların acil olduğunu, ancak önemli olmadığını bile söyleyebilirsiniz. . . .

E-posta, uyarı için ideal bir araç değildir, çünkü zamana duyarlı değildir (birçok kişi e-postayı günde yalnızca birkaç kez kontrol eder) ve diğer minutialara kolayca gömülür.

Hızlı yineleme hakkında öğrendiklerinizi uygulayarak, çok fazla yanlış pozitif olmadan uygun bir kapsama alanı sağlamak için uyarı eşiklerinizi düzenli olarak yeniden değerlendirin. Hangi uyarıların gerekli olmadığını belirlemek zaman ve iş ister. Ve muhtemelen biraz korkutucu olacak, değil mi? Bir uyarıyı silmek veya bir eşiği artırmak her zaman biraz risk taşır.

Uyarı gerçekten önemliyse ne olur? Eğer öyleyse, anlayacaksınız. Bir DevOps organizasyonunda başarısızlıktan korkamayacağınızı unutmayın. İleriye doğru itmek ve sürekli gelişmek için onu kucaklamalısınız. Korkunun kararlarınızı yönlendirmesine izin verirseniz, mühendis ve organizasyon olarak durgunlaşırsınız.

  1. Kuruluşunuzda DevOps Ekipleri Nasıl Oluşturulur

Emily Freeman tarafından

DevOps'un ideal bir organizasyon yapısı yoktur. Teknolojideki her şey gibi, şirketinizin yapısıyla ilgili "doğru" yanıt benzersiz durumunuza bağlıdır: mevcut ekibiniz, büyüme planlarınız, ekibinizin büyüklüğü, ekibinizin mevcut beceri setleri, ürününüz ve daha fazlası.

DevOps ekibinizin vizyonunu hizalamak ilk göreviniz olmalıdır. Sadece insanlar arasındaki bariz sürtünme meyvesini çıkardıktan sonra ekipleri yeniden düzenlemeye başlamalısınız. O zaman bile, biraz esnekliğe izin verin.

Açıklık ve esneklikle yeniden yapılanmaya yaklaşırsanız, dinlemek istediğiniz mesajı gönderir ve ekibinize özerklik verirsiniz - temel bir DevOps ilkesi.

Altyapı ve yapılandırma yönetimi konusunda tutkulu ve meraklı bir Python veya Go geliştiriciniz zaten olabilir. Belki bu kişi yeni organizasyonunuzda daha op odaklı bir role geçebilir. Kendinizi o kişinin yerine koyun. Sizi riske atan bir organizasyona sadık olmaz mıydınız? Çok çalışmaktan heyecan duymaz mıydınız? Ve bu heyecan bulaşıcıdır.

Burada, halihazırda sahip olduğunuz takımları nasıl hizalayacağınızı, bir takımı DevOps uygulamalarına nasıl ayıracağınızı ve çapraz işlevli takımlar nasıl oluşturacağınızı öğreneceksiniz - tüm yaklaşımlar takımlarınızı DevOps'a yönlendirmeyi seçebilirsiniz.

Bir yaklaşım seçebilir ve oradan gelişmesine izin verebilirsiniz. Bu kararın kalıcı ve taşınmaz olduğunu düşünmeyin. DevOps hızlı yineleme ve sürekli iyileştirmeye odaklanır ve bu da bu metodolojinin en büyük yararıdır. Bu felsefe ekipler için de geçerlidir.

DevOps için fonksiyonel ekipleri hizalama

Bu yaklaşımda, geleneksel geliştirme ve operasyon ekipleriniz arasında güçlü bir işbirliği yaratırsınız. Takımlar doğada işlevsel kalır - biri op, diğeri kod odaklı. Ancak teşvikleri uyumludur. Birbirlerine güvenmek için büyüyecek ve iki ekip birlikte çalışacaklar.

Daha küçük mühendislik kuruluşları için, fonksiyonel ekipleri hizalamak sağlam bir seçimdir. İlk adım olarak bile, bu hizalama şimdiye kadar yaptığınız olumlu değişiklikleri güçlendirebilir. Hizalamaya genellikle uyum oluşturmak için zaman ayırarak başlarsınız. Her iki takımdaki her bir kişinin sadece diğer takımın rolünü ve kısıtlamalarını entelektüel olarak anlamasını değil, aynı zamanda acı noktalarıyla empati kurmasını sağlayın.

Bu yaklaşım için, “Siz oluşturun, siz destekleyin” politikasını tanıtmak iyi bir fikirdir. Bu politika, hem geliştiricinin hem de operasyon görevlisinin herkesin çağrı üzerine rotasyonunuza katıldığı anlamına gelir.

Bu katılım, geliştiricilerin gecenin ortasında çağrılmanın hayal kırıklıklarını anlamaya başlamasını ve müşterileri etkileyen bir hatayı düzeltmek için sisli ve kafein yoksunluğunun üstesinden gelmeye çalışıyor. Operasyon çalışanları ayrıca geliştiricilerinizin çalışmalarına olan bağlılıklarına güvenmeye başlar. Bu küçük değişiklik bile olağanüstü miktarda güven yaratıyor.

Dikkat edilmesi gereken bir nokta: Geliştiriciler çağrıda bulunmamaya karşı çok mücadele ederse, kuruluşunuzda daha büyük bir sorun vardır. Geri arama nadir değildir, çünkü çağrıda bulunmak normal günlük sorumluluklarından çok farklıdır. Geri itme genellikle bir rahatsızlık ve korku bölgesinden gelir. Geliştiricilerinizin ilk kez çağrı yaptıklarında ne yapacaklarını bilmeyebileceğini ele alarak bu reaksiyonu hafifletmeye yardımcı olabilirsiniz.

Altyapıya aşina olmayabilirler ve sorun değil. Onları olayı tırmandırmaya ve daha fazla deneyime sahip birini sayfalamaya teşvik edin. Son olarak, yaygın uyarıları ve hangi işlemleri yapacağınızı içeren bir çalışma kitabı oluşturun. Bu kaynağı sağlamak, bir şeyleri asmaya başlayana kadar bazı korkuların üstlenilmesine yardımcı olacaktır.

Daha uyumlu bir DevOps ekibi oluşturmak için işbirliğinin teşvik edilmesine yardımcı olan bir başka taktik, her takımın bir meslektaşı “ticaret” ettiği bir gölgeleme günü sunmaktır. Takas edilen kişi sadece takımdaki bir başkasını gölgeler, masalarında (veya bölgelerinde) oturur ve günlük sorumluluklarına yardımcı olur. Çalışmaya yardımcı olabilir, sorunları ekip olarak tartışabilir (çift programlama) ve sistem hakkında farklı bir bakış açısıyla daha fazla bilgi edinebilirler. Bu öğretim tarzı kuralcı değildir.

Bunun yerine, merak ve güven inşa etmeye kendini verir. İş arkadaşları “aptal” çeşitlilik bile olsa soru sormaktan ve özgürce öğrenmekten çekinmeyin. Performans beklentisi yok. Zaman sadece birbirini tanımak ve birbirlerinin çalışmalarını takdir etmek için harcanmalıdır. Herhangi bir üretken çıktı bir bonus!

Bu uyum yaklaşımında, her iki ekip de planlama, mimari ve geliştirme süreçlerine kesinlikle dahil edilmelidir. Tüm gelişim yaşam döngüsü boyunca sorumlulukları ve hesap verebilirliği paylaşmaları gerekir.

Bir DevOps ekibini ayırma

Özel bir DevOps ekibi, gerçek bir DevOps ekibinden çok Sys Admin'in bir evrimidir. Beceri setlerinin bir karışımı olan bir operasyon ekibi. Belki de bazı mühendisler konfigürasyon yönetimine aşinadır, diğerleri IaC (kod olarak altyapı) ve belki de diğerleri konteynerler veya bulut yerel altyapısı veya CI / CD (sürekli entegrasyon ve sürekli teslimat / geliştirme) konusunda uzmandır.

Bir grup insanı resmi bir ekibe koymanın siloları yıkmak için yeterli olduğunu düşünüyorsanız yanılıyorsunuz. İnsanlar elektronik tablolardan daha karmaşıktır. Silolarınız sağlıksız ve aşiret oldukları bir aşamaya girdiyse, hiyerarşi hiçbir şey ifade etmez. Toksik kültürlerde, güçlü bir liderlik tarzı ortaya çıkabilir, bunu hemen hemen her zaman taraf tutanlar izler. Bunu kendi ekibinizde görürseniz, yapacak işiniz var.

Ekibiniz için herhangi bir yaklaşım işe yarayabilse de, bu özel ekip yaklaşımı en çok düşünmeniz gereken yaklaşımdır. Özel bir DevOps ekibinin en büyük dezavantajı, ekipleri hizalama, siloları azaltma ve sürtünmeyi giderme ihtiyacını kabul etmeden geleneksel mühendislik ekiplerinin bir devamı haline gelmesidir. Sürtünmeyi sürdürme (veya daha fazlasını yaratma) riskleri bu yaklaşımda yüksektir. Belirli bir nedenle bu ekip organizasyonunu seçtiğinizden emin olmak için dikkatli olun.

Bu DevOps yaklaşımının faydaları, önemli altyapı değişikliklerini veya ayarlamalarını ele alacak özel bir ekibe sahip olmaktır. Dağıtımlarınızı yavaşlatan veya site güvenilirliği endişelerine neden olan operasyon odaklı sorunlarla uğraşıyorsanız, bu geçici olarak bile iyi bir yaklaşım olabilir.

Eski bir uygulamayı buluta taşımayı planlıyorsanız, özel bir ekip. Ancak bu ekibi DevOps ekibi olarak adlandırmak yerine, bir otomasyon ekibi olarak etiketlemeyi deneyebilirsiniz.

Bu özel mühendis grubu tamamen doğru altyapı ve otomasyon araçlarını kurduğunuzdan emin olabilir. Daha sonra, uygulamanızın bulutta büyük bir kesinti olmadan ineceği konusunda güvenle ilerleyebilirsiniz. Yine de, bu yaklaşım geçicidir. Ekibi çok uzun süre izole tutarsanız, hızlı büyümeden gömülü siloya kaygan bir yokuş aşağı inme riskiyle karşı karşıya kalırsınız.

DevOps için çapraz işlevli ürün ekipleri oluşturma

Çapraz fonksiyonel ekip, tek bir ürün odağı etrafında oluşturulmuş bir ekiptir. Geliştirme, kullanıcı arayüzü ve kullanıcı deneyimi (UI / UX), kalite güvencesi (QA) ve operasyonlar için ayrı ekiplere sahip olmak yerine, bu ekiplerin her birinden insanları birleştirirsiniz.

Çapraz fonksiyonel bir ekip en iyi orta ve büyük ölçekli kuruluşlarda çalışır. Her ürün ekibinin pozisyonlarını dolduracak kadar geliştiriciye ve operasyona ihtiyacınız var. Her çapraz fonksiyonel takım biraz farklı görünüyor.

Takım başına en az bir operasyon görevlisine sahip olmak iyi bir fikirdir. Operasyon görevlilerinden sorumluluklarını iki ekip arasında bölmelerini istemeyin. Bu senaryo onlar için haksızdır ve iki ürün ekibi arasında hızla sürtünme yaratacaktır. Mühendislerinize çalışmalarına odaklanıp derinlemesine inceleme ayrıcalığı verin.

Kuruluşunuz hala küçükse veya başlangıç ​​aşamasındaysa, tüm mühendislik organizasyonunuzu çapraz işlevli bir ekip olarak düşünebilirsiniz. Küçük ve odaklanmış tutun. 10-12 kişiye sahip olmaya başladığınızda, mühendisleri nasıl yeniden organize edebileceğinizi düşünmeye başlayın.

Aşağıdaki resim, çapraz fonksiyonel ekiplerinizin neye benzeyebileceğini göstermektedir. Ancak kompozisyonlarının takımdan takıma ve organizasyondan organizasyona değiştiğini unutmayın. Bazı ürünler güçlü bir tasarım odağına sahiptir, yani her ekipte birden fazla tasarımcı olabilir. Diğer ürünler, estetiğe fazla önem vermeyen mühendisler için tasarlanmış teknik ürünlerdir. Bu tür ürünler için takımların bir tasarımcısı olabilir veya hiç tasarımcısı olmayabilir.

DevOps ürün ekibi

Kuruluşunuz yeterince büyükse, kesinlikle farklı DevOps fikirleri ve yaklaşımları kullanarak birden fazla ekip oluşturabilirsiniz. Kuruluşunuzun benzersiz olduğunu unutmayın. Mevcut durumunuza göre kararlar verme ve oradan ayarlama yapma yetkisine sahip olun. İşte çeşitli ürün ekiplerinin olası kombinasyonları.

  • Eski Ürün Ekibi: Proje Yöneticisi (PM), Ön Uç Geliştirici, Arka Uç Geliştirici, Arka Uç Geliştirici, Site Güvenilirlik Mühendisi (SRE), Otomasyon Mühendisi, KG Test Cihazı Bulut Dönüşüm Ekibi: SRE, SRE, Operasyon Mühendisi, Otomasyon Mühendisi, Arka Uç Geliştirici MVP Ekibi: PM, Tasarımcı, UX Mühendisi, Ön Uç Geliştirici, Arka Uç Geliştirici, Operasyon Mühendisi

Çok işlevli bir ürün ekibinin dezavantajı, mühendislerin aynı beceri setleri ve tutkularıyla mühendislerin dostluğunu kaybetmesidir. Sosyalleşebileceğiniz ve öğrenebileceğiniz bir grup benzer düşünen bireye sahip olmak iş memnuniyetinin önemli bir yönüdür. Aşağıdaki bu soruna bir çözüm bulun.

Aşağıda gösterildiği gibi, mühendislerinize kabileleriyle harcayacakları özel çalışma zamanı verebilirsiniz. Bir araya gelip konuşabilmeleri için haftada bir kez öğle yemeği için ödeme yapmak kadar cömert bir şey yapabilirsiniz. Ya da kabile olarak projelerde çalışmaları için yüzde 10-20 oranında çalışma süresi sağlayabilirsiniz. Her iki durumda da, keskin kalmak için mühendislerinize ihtiyacınız var.

Kabileler endüstri bilgisini paylaşır, sağlam geri bildirim sağlar ve kariyer gelişimini destekler. Mühendislerinize eğitim, deneyim ve hedeflerini paylaştıkları kişilerden öğrenmeleri için zaman verin. Bu kez rahatlayabilecekleri ve kendilerini evlerinde hissedebilecekleri güvenli bir yer sağlar.

DevOps kabileleri

Hiçbir mükemmel finagling, kötü bir örgüt kültürünün eksikliklerinin üstesinden gelmeyecektir. Ancak şu ana kadar dikkat ettiyseniz ve uygun adımları attıysanız, bir sonraki adım, daha önce yerleştirdiğiniz kültürel idealleri güçlendiren ekipler oluşturmaktır.

  1. BusinessOperations ManagementGelOps Süreçlerine Geçiş: Hattan Devreye

Emily Freeman tarafından

DevOps yaklaşımı, bir çizginin aksine bir döngü içerir. Süreç boyunca tutarlı geri bildirim toplayarak sürekli entegrasyon ve sürekli teslimat sağlar. DevOps metodolojisi süreçlerin nasıl geliştiğinin sadece bir örneğidir.

Kalkınma süreçleri son birkaç on yıl içinde ve iyi bir nedenle radikal bir şekilde değişti. 1960'larda Margaret Hamilton, Apollo 11 misyonu için yazılımı geliştiren mühendislik ekibine liderlik etti. İnsanları tekrar tekrar uzaya fırlatmıyorsunuz - en azından 1960'larda yapmadılar. “Hızlı başarısız olma” nın özellikle iyi bir yaklaşım gibi hissettirdiği bir yazılım alanı değildir. Hayatlar hatta milyonlarca dolardan bahsetmemektedir.

Hamilton ve akranları şelale metodolojisini kullanarak yazılım geliştirmek zorunda kaldılar. Aşağıdaki görüntü bir şelale geliştirme sürecinin bir örneğini göstermektedir (düz bir çizgide meydana gelir).

şelale süreci

Aşağıdaki görüntü aşamaları ekler. Okların bir yöne nasıl gittiğine dikkat edin. Net bir başlangıç ​​ve net bir son gösterirler. İşiniz bittiğinde, işiniz bitti. Sağ?

Hayır! Birçok kişi kod tabanlarının bir bölümünden sonsuza kadar uzaklaşmak (veya onları ateşle öldürmek) istediği kadar, genellikle bu ayrıcalığı alamazlar.

Hamilton ve ekibi tarafından geliştirilen yazılım çılgınca bir başarıydı (Meclis'te hata mesajlaşma gibi sıfır yardımcıyla geliştiklerini düşünmek akıl almaz). Ancak, tüm projeler eşit derecede başarılı değildi.

Daha sonra, şelalenin başarısız olduğu yerlerde, Agile başarılı oldu. (DevOps, Agile hareketinden doğdu.) Agile, düz şelale hattını alıp bir daireye bükerek, mühendislik ekibinizin tekrar tekrar ve sürekli olarak geliştirebileceği hiç bitmeyen bir devre yaratıyor.

şelale geliştirme boru hattı

Aşağıdaki görüntü, dairesel gelişim yaşam döngüsünün nasıl düşünüleceğini göstermektedir.

DevOps devresi

Genellikle, farklı kuruluşlar tarafından reçete edilen çeşitli döngüler, satıcıların sattığı ürünlerden etkilenir. Örneğin, satıcı altyapı yazılımı ve araçlarını satarsa, muhtemelen geliştirme yaşam döngüsünün bu kısmının belki de en çok yazılımınızı dağıtmaya, izlemeye ve desteklemeye odaklandığını vurgular.

Burada satılık bir şey yok. Burada odaklanan aşamalar, yazılım geliştirmelerini daha iyi yönetmeyi ve DevOps'u benimsemeyi öğrenirken insanların en çok uğraştıkları şeylerle birlikte geliştiriciler için en kritik olanlardır.

Yazılım geliştirme yaşam döngüsünün beş aşaması

  • Planlama: DevOps geliştirme sürecinizin planlama aşaması belki de DevOps misyonunuzun en önemli anahtarıdır. Sizi yolda başarı veya başarısızlık için ayarlar. Aynı zamanda herkesi bir araya getirmenin en verimli zamanı. Herkes tarafından bu, iş paydaşları, satış ve pazarlama, mühendislik, ürün ve diğerleri anlamına gelir. Tasarım: Çoğu şirkette tasarım aşaması kodlama aşamasına birleştirilir. Bu korkunç tasarım ve kod karışımı, mimari stratejinin uygulamadan ayrılmasına izin vermez. Bununla birlikte, veritabanı tasarımı, API lojistiği ve temel altyapı seçenekleri gibi şeyleri geliştirme hattının sonuna bırakırsanız - veya belki daha da kötüsü, ayrı özellikler üzerinde çalışan bireysel geliştiricilere bırakırsanız - kod tabanınızın hızlı bir şekilde silindiğini görürsünüz. mühendislik ekibiniz olarak. Kodlama: Özelliklerin gerçek gelişimi DevOps sürecinin yüzüdür ve tüm ihtişamı kazanır. Ancak bu, gelişim yaşam döngünüzdeki en az önemli adımlardan biridir. Birçok yönden, sadece boru hattınızın önceki alanlarının yürütülmesi. İyi yapılırsa kodlama nispeten basit ve anlaşılır bir süreç olmalıdır.

Şimdi bir geliştiriciyseniz ve yüzlerce rastgele ve çözülmesi zor hatalarla uğraştığınız için bu son cümlede solunduysanız, nasıl hissettiğinizi anlamak kolaydır. Kodlama zor. Yazılım geliştirme ile ilgili hiçbir şey kolay değildir. Ancak, planlama, tasarım ve mimaride uzmanlaşarak (ve kodun gerçek uygulamasından ayırarak), yazılım geliştirmenin en zor kararlarının soyutlanmasını sağlarsınız.

  • Test: Test, boru hattınızın tüm uzmanlık alanlarından mühendislerin dalış yapabileceği ve katılabileceği, test, sürdürülebilirlik ve güvenlik hakkında bilgi edinmek için eşsiz bir fırsat sağlayan bir alandır. Yazılım geliştirmenin altı aşaması, yazılımınızın beklendiği gibi çalışmasını sağlamak için farklı test türlerini yaşamaktadır. Dağıtım: Dağıtım, belki de operasyonlarla en yakından ilişkili olan aşamadır. Geleneksel olarak, operasyon ekibiniz geliştiricileriniz tarafından geliştirilen ve kalite güvence (QA) ekibiniz tarafından test edilen kodu alıp müşterilere salıvererek, onları serbest bırakma sürecinden tek başına sorumlu hale getirir. DevOps, geliştirme sürecinin bu aşamasında büyük bir etkiye sahiptir. Ayrıca, dağıtım, çekilecek en otomasyon araçlarının bulunacağı alanlardan biridir. Bir DevOps perspektifinden, önceliğiniz dağıtım sürecini basitleştirerek ekibinizdeki her mühendisin kodlarını konuşlandırabilmesidir. Bu, operasyonların benzersiz bir bilgiye sahip olmadığı veya operasyon ekiplerinin dağıtılabileceği anlamına gelmez.

Operasyon çalışanları altyapı, yük dengeleme ve benzerleri hakkında her zaman benzersiz bilgiye sahip olacaklardır. Aslında, operasyon ekibinizden yazılım dağıtma manuel görevini kaldırmak, başka bir yerde size zaman ve para tasarrufu yapmalarını sağlayacaktır. Uygulamanızın güvenilirliğini ve sürdürülebilirliğini artırmak için çalışmak için zamanları olacak.

DevOps çerçevesi içinde bir teslimat yaşam döngüsünün en önemli yönü, bunun gerçek bir döngü olmasıdır. Sonuna geldiğinizde, hemen başlangıca geri dönersiniz. Ayrıca, yol boyunca herhangi bir noktada müşterilerden destek geribildirimi alırsanız, müşterilerinize en iyi şekilde hizmet verecek şekilde yazılım geliştirebilmeniz için bir sonraki aşamaya (veya planlama aşamasına) dönün.

Bir boru hattı inşa etmenin ilk kısmı, doğrusal olarak işlemektir. Yol boyunca ayarlanmış aşamaları ve kontrol noktalarını içeren düz bir çizgi oluşturuyorsunuz. Bu çerçevede, yazılım geliştirme yaşam döngüsünü başladığınız ve bitirdiğiniz bir şey olarak görebilirsiniz. Şelale sevenler gurur duyardı.

Ancak gerçeklik düz bir çizgide çalışmanıza izin vermez. Sadece kod üretmeye başlayamaz, bitiremez ve uzaklaşamazsınız. Bunun yerine, ilk yinelemeli döngünüzde yayımladığınız temel yazılımı geliştirmeye ve ikinci döngüde geliştirmeye zorlanırsınız. Ve benzeri vb. Süreç asla bitmez ve gelişmeyi asla bırakmazsınız.

DevOps süreci, bu düz boru hattının başlangıcını ve bitişini bağlamanıza yardımcı olur, böylece sürekli olarak geliştirmeniz ve iyileştirmeniz için onu bir devre veya döngü olarak anlamaya başlarsınız.

  1. BusinessOperations Management Bir DevOps Ekibi Oluşturmak için Görüşme Teknikleri: Doğru Teknik Becerileri Edinme

Emily Freeman tarafından

DevOps işleri için işe alım yaparken doğru beceri seti için adayları değerlendirmek zor olabilir ... ama imkansız değil. Biraz yaratıcılık ve kutunun dışına çıkmaya istekli olarak, DevOps girişimleriniz için doğru teknik becerilere sahip adayları bulmanıza yardımcı olmak için görüşme tekniklerini kullanabilirsiniz.

DevOps görüşmesi

Geniş bilmecelerin ve tere neden olan beyaz tahta röportajlarının yaşı azalıyor - ve iyi bir nedenden dolayı. Bir beyaz tahta röportajı, adayı kandırmakla ilgilenen bir mühendis tarafından teknik bir konuşmayı tartışmaktan daha fazla önemseyen bir mühendis tarafından kolaylaştırılırsa, hiçbir yere hızlı gidemezsiniz.

Beyaz tahta röportajları son zamanlarda az temsil edilen ve marjinal grupların (kadınları ve renk insanlarını içeren) dezavantajlı hale getirmesi için çok fazla ısı aldı. Bu çağda, teknoloji şirketlerinin çeşitli işgücü istihdam etmesi kesinlikle hayati önem taşıyor, bu nedenle bu durum kabul edilemez. Bununla birlikte, bir şekilde bir kişinin teknik yeteneğini ölçmeniz gerekir.

Cevap nedir? İyi haber, seçeneklerinizin olması. (Kötü haber ... seçenekleriniz var.)

Nasıl işe alacağınız kim olduğunuzu belirler.

DevOps iş adayları için beyaz tahta röportajını tekrar ziyaret edin

Beyaz tahta röportajı asla olması gerektiği gibi olmadı. Bir beyaz tahta röportajında, DevOps adayına sekiz kağıda basılmış bir bilgisayar programı verildi. Talimatlar? “Programda hata ayıkla.” Umm. . . Affedersiniz?

Beyaz tahta röportajı, bir adaya imkansız görünen bir sorun verdiğiniz, tahtaya bir işaretleyici ile gönderdiğiniz ve dört veya beş kişinin paniklerini gözlemlerken bolca terlediğini gösteren bir durum haline geldi. Bu görüşme, hiç kimseye işveren veya görüşmecinin karşı taraf için uygun olup olmadığı konusunda kaliteli bilgi vermez.

Diğerleri beyaz tahta röportajının ortadan kaldırılması çağrısında bulunsa da, daha nüanslı bir öneri: DevOps gereksinimlerinize uyacak şekilde değiştirin. Bir kod parçası veya belirli bir sorun hakkında iki kişi arasında bir tartışma yapın. Sorunu, ikili bir arama ağacını dengelemek gibi çılgın bir şey yapmayın. Görüştüğünüz iş Meclis'te tam anlamıyla kod yazmıyorsa, adayın Meclis yazma yeteneğini değerlendirmeniz gerekmez.

Doldurmak istediğiniz DevOps işini, gerekli beceri setlerini ve bu becerileri bir adayda ölçmenin en iyi yolunu öğrenin. Ekibinizde tek bir mühendisin adayla oturmasını ve sorun hakkında konuşmasını sağlayın. Konuşmaya nasıl başlarsın? Yol boyunca hangi sorunlarla karşılaşıyorsunuz? Çözümlerinizi karşılaştığınız zorluklara nasıl uyarlarsınız?

Bu konuşma yaklaşımı DevOps iş adayları için iki şey başarıyor:

  • Paniği azaltır. Çoğu insan baskı altında iyi düşünmez. Ayrıca, birisi omzunun üzerinden bakarken her yazım hatasını veya hatasını eleştirirken işinizi her gün yapmazsınız. Bu işi bir an önce bırakacaksınız. Bu yüzden insanları bu şekilde röportaj yapmaya zorlamayın. Bunun yerine, adaylarınıza neler yapabileceklerini gösterme şansı verin. Nasıl düşündükleri ve iletişim kurdukları hakkında bilgi edineceksiniz. Gerçek işi taklit eder. Konuşma röportajı size bu kişiyle çalışmanın nasıl bir fikir olduğu konusunda fikir verir. İşteki zor sorunları birbirinizle mücadeleyi izleyerek çözemezsiniz. (En azından, yapmamalısın. Gerçekten. Bu çok işbirlikçi veya DevOps-y değil, meslektaşlarınızı silolarında acı çekmeye bırakıyor.) Bunun yerine, birlikte çalışıyorsunuz, fikir alışverişi yapıyorsunuz, bir şeyler düşünüyor, hata yapıyor, iyileşiyor ve buluyorsunuz. bir çözüm - birlikte.

En iyi beyaz tahta röportajları işbirlikçi, iletişimsel ve merak üzerine odaklanmıştır - uygulayıcıların DevOps hakkında sevdikleri her şey.

DevOps iş adaylarına eve götürme testleri önerme

Daha geleneksel bir beyaz tahta röportajına bir alternatif, eve götürme testidir. Bu tür testler, özellikle beyaz tahta görüşmesine katılma becerilerini etkileyen her türlü kaygı veya görünmez engelli kişiler için uygundur. Bu röportaj tarzı, imposter sendromu ile yoğun bir şekilde mücadele eden mühendisler için de uygundur.

Imposter sendromu, başarılarını içselleştirmek için mücadele eden ve sürekli bir sahtekarlık olarak maruz kalma hissi yaşayan yüksek başarılı bireyleri tanımlar.

Eve götürme testi, bir DevOps adayının kendi zamanında evde çözebileceği bir tür problemden oluşur. Eve götürme testleri genellikle adayın testleri geçmesi için kod yazması gereken bir test paketi olarak ayarlanır.

Alternatif olarak, sorun “Girdiğiniz [karakterleri kendi dilinizde] bir girdi oluşturan ve karakterleri tersine çeviren bir program oluşturma” gibi nispeten küçük bir şey olabilir. Seçenekler sınırsızdır ve testi teknik yığınıza göre özelleştirebilirsiniz. uygun görürsünüz.

Hatta DevOps iş adaylarından başvurularını dağıtmalarını isteyebilirsiniz. Adayların açık kaynak araçlarını kullanmalarına izin verdiğinizden emin olun veya belirli teknolojileri kullanmak için onlara gerekli abonelikleri sağlayın.

Eve götürme testlerinin en büyük dezavantajı, insanlardan akşamları veya hafta sonları, temelde ücretsiz olan işi yapmaları için zaman almalarını istemenizdir. Onları eve götürme sınavı için yaptıkları çalışma için ödeseniz bile, bu görüşme tarzı, çocukların, bir eşin veya hasta ebeveynlerin bakımı da dahil olmak üzere iş dışında başka sorumlulukları olan bir DevOps adayını haksız yere etkileyebilir.

Her büyük mühendisin zanaatlarını yapmak için sınırsız zamanı yoktur. Ancak DevOps aday havuzunuzu, bir eve götürme testine 5-10 saat ayırabilecek insanlarla sınırlandırırsanız, ekibinizin hızlı bir şekilde homojen ve durgun olduğunu görürsünüz.

DevOps iş adaylarıyla kodu inceleyin

Gerçekten söyleyebilecek bir röportaj tekniği, bir mühendis veya bir grup mühendisle birlikte gerçek koddaki gerçek hataları birlikte çözmek için oturduğunuz zamandır. Gerçek zamanlı kod röportajına birkaç yaklaşım uygulayabilirsiniz.

Bir eve götürme testini taklit edebilir ve bir program oluşturmak ya da bir dizi testi geçmek için bir işlev yazmak için adaya bir saat kadar süre verebilirsiniz. Röportajı, gerçek bir PR'yi çektiğiniz ve kodun ne yaptığının yanı sıra nelerin geliştirilebileceğini incelediğiniz bir kod incelemesi gibi de hazırlayabilirsiniz.

Birçok yönden, bir kod incelemesinin çift programlama niteliği, beyaz tahta röportajının ve eve götürme testinin en iyi kısımlarını birleştirir - ancak bazı büyük dezavantajları yoktur.

Çift programlama, iki mühendisin birlikte bir problem üzerinde birlikte çalıştığı bir mühendislik uygulamasıdır. Tipik olarak, bir kişi klavyeye sahip olarak "araç kullanır", ancak hangi yaklaşımın en iyi olduğuna, hangi kodun ekleneceğine ve neyin götürüleceğine işbirliği yaparak karar verirler.

DevOps pozisyonu operasyon odaklı bir rol içeriyorsa, bu gerçek zamanlı kodlama yaklaşımını kullanmak daha da iyidir. Birçok ops, altyapıyı kod olarak uygulamayı veya yapılandırmaları yönetmeyi öğrense de, geliştiricilerle aynı deneyime sahip değildir.

Bir şeyin ne yaptığını ve nasıl çalışabileceğini gözden geçirmek, adayın özgeçmişindeki araçlar ve teknolojiler listesinde deneyim sahibi olduğunu doğrulamanın ve adayın bir takımla iletişim kurabilmesini sağlamanın harika bir yoludur.

DevOps ekibinizi oluşturmak bireysel bir uğraştır. DevOps ekibinizin gördüğünüz diğer kullanıcılarla eşleşmesi gerekmez. Hedeflerinizi değerlendirin ve her DevOps işi için doğru adayı seçin.

  1. BusinessOperations ManagementSürekli Entegrasyon ve Sürekli Teslimat: CI / CD'den Uygulama ve Yararlanma

Emily Freeman tarafından

DevOps kültürünün büyümesi, geliştiricilerin yazılım oluşturma ve gönderme şeklini değiştirdi. Agile zihniyeti ortaya çıkmadan önce, geliştirme ekiplerine bir özellik verildi, onu oluşturdu ve daha sonra unuttum. Kodu, daha sonra hatalar nedeniyle geri atan veya operasyon ekibine taşıyan QA ekibine attılar. Operasyonlar, kodu üretimde dağıtmak ve korumaktan sorumluydu.

Bu süreç en azından söylemek gerekirse beceriksizdi ve biraz çatışmaya neden oldu. Ekipler silolarda bulunduğundan, süreçleri ve motivasyonları da dahil olmak üzere diğer ekiplerin nasıl işlediğine dair çok az fikirleri vardı ya da hiç yoktu.

Sürekli entegrasyon ve sürekli teslimat (veya dağıtım) anlamına gelen CI / CD, ekipler arasında tarihsel olarak var olan duvarları yıkmayı ve bunun yerine daha sorunsuz bir geliştirme süreci başlatmayı amaçlamaktadır.

Sürekli entegrasyon ve sürekli teslimatın faydaları

CI / CD birçok avantaj sunar. Bununla birlikte, bir CI / CD boru hattı inşa etme süreci zaman alıcı olabilir, ayrıca ekipten alım ve yönetici liderliği gerektirir.

CI / CD'nin bazı faydaları şunlardır:

  • Kapsamlı otomatik test: En basit CI / CD uygulaması bile, bir geliştirici ana dalda her değişiklik yaptığında koda karşı çalıştırılabilen sağlam bir test paketi gerektirir. Hızlandırılmış geri bildirim döngüsü: Geliştiriciler CI / CD ile anında geri bildirim alır. Yeni kod birleştirilmeden önce otomatik testler ve olay entegrasyonları başarısız olur. Bu, geliştiricilerin geliştirme döngüsünü kısaltabileceği ve özellikleri daha hızlı dağıtabileceği anlamına gelir. Kişilerarası çatışmanın azalması: Süreçlerin otomatikleştirilmesi ve ekipler arasındaki sürtünmenin azaltılması, geliştiricilerin en iyi yaptıklarını yaptıkları daha mühendis bir çalışma ortamını teşvik eder: mühendis çözümleri. Güvenilir konuşlandırma süreci: Bir Cuma öğleden sonra konuşlandırmayı geri alan herkes, konuşlandırmanın sorunsuz gitmesinin ne kadar önemli olduğunu söyleyebilir. Sürekli entegrasyon, kodun iyi bir şekilde test edilmesini sağlar ve son kullanıcıya ulaşmadan üretim benzeri bir ortamda güvenilir bir şekilde çalışır.

Sürekli entegrasyon ve sürekli teslimatın uygulanması

CI / CD, çevik metodolojilere dayanır. CI / CD'yi yinelemeli bir süreç olarak uygulamayı düşünmelisiniz. Her takım bir CI / CD versiyonundan yararlanabilir, ancak genel felsefeyi özelleştirmek büyük ölçüde mevcut teknoloji yığınınıza (kullandığınız diller, çerçeveler, araçlar ve teknoloji) ve kültüre bağlı olacaktır.

Sürekli entegrasyon

Sürekli entegrasyon (CI) uygulayan ekipler, kod değişikliklerini ana veya geliştirme dalına olabildiğince sık geri birleştirir. CI tipik olarak yeni koda karşı otomatik testler oluşturmayı ve çalıştırmayı doğrulamak için bir entegrasyon aracı kullanır.

CI süreci, bir takımdaki geliştiricilerin kod tabanının aynı alanında çalışmasına izin verirken, değişiklikleri minimum düzeyde tutar ve büyük birleştirme çakışmalarını önler.

Sürekli entegrasyonu uygulamak için:

  • Her özellik için otomatik testler yazın. Bu, hataların üretim ortamına dağıtılmasını önler. Bir CI sunucusu kurun. Sunucu, ana depoyu değişiklikler için izler ve yeni işlemlere basıldığında otomatik testleri tetikler. CI sunucunuz testleri hızlı bir şekilde çalıştırabilmelidir. Geliştirici alışkanlıklarını güncelleyin. Geliştiricilerin değişiklikleri ana kod tabanına sık sık birleştirmeleri gerekir. En azından, bu birleştirme günde bir kez yapılmalıdır.

Sürekli teslimat

Sürekli teslimat, geliştiricilerin koddaki her değişikliği teslim edilebilir olarak ele alması nedeniyle CI'den bir adım daha ileri gitmektedir. Bununla birlikte, sürekli konuşlandırmanın aksine, bir yayın bir insan tarafından tetiklenmelidir ve değişiklik hemen bir son kullanıcıya iletilemeyebilir.

Bunun yerine, dağıtımlar otomatikleştirilir ve geliştiriciler kodlarını tek bir düğmeyle birleştirebilir ve dağıtabilir. Ekip, küçük ve sık teslim edilen yinelemeler yaparak değişiklikleri kolayca giderebilmelerini sağlar.

Kod otomatikleştirilmiş testleri geçtikten ve oluşturulduktan sonra, ekip kodu KG veya evreleme gibi istedikleri ortama dağıtabilir. Genellikle, bir meslektaş bir mühendis tarafından bir üretim sürümü dalında birleştirilmeden önce kodu manuel olarak inceler.

Sürekli dağıtımı uygulamak için:

  • CI'de güçlü bir temele sahip olun. Otomatik test paketi, özellik geliştirme ile ilişkili olarak büyümeli ve her hata raporlandığında testler eklemelisiniz. Sürümleri otomatikleştirin. Bir insan hala konuşlandırmaları başlatır, ancak sürüm tek adımlı bir işlem olmalıdır - bir düğmeye basit bir tıklama. Özellik bayraklarını düşünün. Özellik bayrakları, belirli kullanıcıların eksik özelliklerini gizleyerek eşlerinizin ve müşterilerinizin yalnızca istediğiniz işlevi görmesini sağlar.

Sürekli dağıtım

Sürekli dağıtım, sürekli dağıtımı, sürekli dağıtımdan bir adım daha ileri götürür. Tüm üretim sürümü boru hattını geçen her değişiklik devreye sokulur. Bu doğru: Kod doğrudan üretime sokulur.

Sürekli dağıtım, dağıtım sürecinden insan müdahalesini ortadan kaldırır ve tam otomatik bir test paketi gerektirir.

Sürekli konuşlandırma uygulamak için:

  • Güçlü bir test kültürü sağlayın. Testin geliştirme sürecinin temel bir parçası olduğunu düşünmelisiniz. Yeni özellikleri belgeleyin. Otomatik sürümler API belgelerini geride bırakmamalıdır. Diğer bölümlerle koordinasyon sağlamak. Sorunsuz bir sunum süreci sağlamak için pazarlama ve müşteri başarısı gibi departmanları dahil edin.
  1. BusinessOperations ManagementTop 10 DevOps Tuzakları: Yazılım Projeleriniz Neden Başarısız?

Emily Freeman tarafından

DevOps kültürünü geliştirmek ve DevOps yaklaşımınızı desteklemek için araçlar seçmek kuruluşunuza fayda sağlayacaktır. DevOps yaklaşımı mühendislik ekibinizi canlandırır ve ürün geliştirmenizi müşterinize odaklar.

Ancak, kuruluşunuzun aşırı akımında büyük bir değişiklik yapmaya çalıştığınızda, zorluklarla karşılaşırsınız ve aksiliklerle uğraşmak zorunda kalırsınız. DevOps'a dönüştükçe, sizin ve ekibinizin üstesinden gelmek için benzersiz hız tümseklerini keşfedeceksiniz.

Karşılaşabileceğiniz her engeli muhtemelen tahmin edemeseniz de, bu makale sizi en yaygın on DevOps tuzağına hazırlayabilir. DevOps uygulamanıza nasıl yaklaşsanız da, önceliklerinizin bu sırayla insanlara, sürece ve teknolojiye odaklanmış olması gerektiğini unutmayın.

DevOps projenizde kültüre öncelik vermemek

DevOps her şeyden çok kültürel bir harekettir. Kuruluşunuzda oluşturduğunuz kültür, DevOps uygulamanızı yapar veya bozar. DevOps kültürünüz işbirliği, güven ve mühendislik yetkilerini vurgulamalıdır. Otomasyonu çiviler, ancak bu kültürel bileşenleri kaçırırsanız, muhtemelen başarısız olursunuz.

Gerçekte, takım yapmak o kadar önemli değil. Hizmetinizde olan araçlar, daha çok benzerdir. Çözdükleri sorunlar önemli olmakla birlikte, bu sorunların hiçbiri, geleneksel bir mühendislik organizasyonunda geliştiricileri ve operasyon insanlarını ve güvenlik gibi diğer ekipleri birleştirmeye çalışmanın neredeyse sonsuz hayal kırıklığıyla karşılaştırılamaz.

DevOps mühendisleri (iş gruplarını) galvanize etmeye çalışıyor. Herkesin öğrenebileceği, paylaşabileceği ve büyüyebileceği bir temel oluşturur. Bu kişisel hızlanma, daha iyi DevOps yazılımı daha hızlı oluşturmak için tüm mühendislik organizasyonunuzu hızlandıracaktır. Ekibinizdeki mühendisler sahip olduğunuz en değerli varlıktır. Onlara saygılı davranarak ve en iyi yaptıkları şeyi yapmalarını sağlayan mühendis çözümlerine iyi davranın.

DevOps ile ilerlerken diğerlerini geride bırakmak

Davayı DevOps için dahili yapmak kültürünüz için oluşturduğunuz temel türünü belirleyecektir. Verimli toprak arayın. Çok hızlı hareket ederseniz ve kilit kişileri DevOps dönüşümünün önemine ikna etmezseniz, insanlar hareketlerinizi şüpheyle izler ve herkese yanıldığınızı göstermek için ilk fırsatta sıçrarlar. Bu içinde olmak eğlenceli bir pozisyon değil ve bu yolculuğa asla başarısız olmanızı bekleyen insanlarla başlamak istemezsiniz.

Başarılı olmak için DevOps gemisindeki herkese, hatta muhaliflere ve şüphecilere bile ihtiyacınız var. Mühendisler şüpheci olabilir. Bu endüstride on iki yıl sonra, birçok fikir ve yeni yaklaşımların gelip geçtiğini gördüler. DevOps'u aynı eski sorunlara “başarısız olan başka bir yaklaşım” olarak kolayca silinebilirler. Ve bunu kötü uygularsanız, DevOps gerçekten de başarısız olan başka bir yaklaşım olacaktır. Siz ve ekibiniz diğerlerini potansiyel konusunda ikna etmeli ve herkesi masaya davet edecek şekilde harekete geçmelisiniz.

Yöneticileri veri ve hızlandırılmış yazılım dağıtımı potansiyeli ile ikna etmeyi deneyin. Ancak mühendislerin DevOps'un işlerini nasıl daha keyifli hale getireceğini bilmesi gerekiyor. DevOps'un iş gereksinimlerine nasıl uyum sağladığını ve yazılım dağıtım hattı boyunca sürtünmeyi nasıl azalttığını gösterin.

Sadece konsepti abartmamaya dikkat edin. DevOps zorlukları olacak. DevOps gümüş bir kurşun değildir ve ekibin mühendislerin hata yapmak ve büyümek için serbest olduğu bir öğrenme kültürü yaratmasını sağlamak için başlangıçta yoğun bir çalışma gerektirir.

DevOps'a yeterince insanın inandığı bir etkinlik ufkuna ulaştıktan sonra, kuruluşunuzun ve içindeki insanların desteğine sahip olduğunuz bilgisine devam edebilirsiniz.

DevOps projenizde teşvikleri hizalamayı unutmak

Teşvikleri belirli ekiplerden veya belirli mühendislerden beklediğinizle uyumlu hale getirmezseniz, daha fazla zorluk ortaya çıkar. DevOps'un gerçek aracı, eğer ustalaşabilirseniz, güçlenmedir. Mühendislerinizin parazitsiz olarak işlerini iyi yapmalarını sağlamak istiyorsunuz. Yetenekli mühendisleri işe aldınız, bu yüzden sorumluluklarını yerine getirme yeteneklerine güvenin.

Örneğin, geliştiriciler bir çağrı üzerine rotasyonda hizmet verdiğinde, bazı kuruluşlar bunu bir ceza olarak çerçevelemektedir. “İnşa ettiniz, destekliyorsunuz,” insanları tam olarak mutlu duygularla doldurmuyor. Bunun yerine, başka bir silip sorumluluk biçimi gibi geliyor. Ancak insancıl ve eşit olarak dağıtılmış çağrı üzerine rotasyon, sadece geliştiricilere çalışmalarının sahipliğini almalarını sağlamakla kalmaz, aynı zamanda tüm ekip için öğrenme fırsatları yaratır.

DevOps'ta, mühendisleri kusurlu işler için cezalandırmazsınız; bunun yerine, sorumluluğu paylaşır ve öğrenmeye değer veren ve herkesi meraklı olmaya ve daha az aşina oldukları teknoloji alanlarına katılmaya teşvik eden bir organizasyon geliştirirsiniz.

Teşvikleri düzenlemek ve işbirliği için fırsatlar yaratmak, ürünlerinizi geliştirme ve müşterilerinize daha iyi hizmet verme hedefinizi yönlendirir. Herkes DevOps aracılığıyla müşterileriniz için şaşırtıcı hizmetler yaratma hedefine yönelikse, grubun galvanizlenmeye başladığını göreceksiniz.

DevOps projeniz hakkında sessiz kalma

DevOps, sırların ve arka oda müzakerelerinin antitezidir. Bunun yerine, her şeyi masaya koyar ve sizi kuruluşunuzdaki insanların bütünlüğüne güvenmeye zorlar. Açık iletişimi ilk kez tanıttığınızda, çatışma artabilir gibi görünebilir. Öyle değil. Bunun yerine, sadece sürtünme noktalarını ilk kez görüyorsunuz. İnsanlar, yüzeyin altında demlemek için çatışmayı bırakmak yerine, endişelerini dile getirecek ve fikirlerini ifade edecek kadar güvende hissediyorlar.

Açık iletişimin önemli bir yönü, düşünceden üretime kadar tüm ürün yaşam döngüsü boyunca devam etmesini sağlamaktır. Tartışmaları, mimari kararları, geliştirme ilerleme güncellemelerini ve dağıtımları planlamada mühendisleri dahil etmelisiniz.

İletişimin bu vurgusu daha ayrıntılı tartışmalar yaratmasına rağmen, mühendislerin temel uzmanlık alanlarının dışında görünürlük elde etmelerini sağlar ve bu da onlara sağlam kararlar vermek için gerekli bağlamla donatılırken başkalarına tavsiyelerde bulunmalarını sağlar.

Müşteriyi - ve inşa ettiğiniz üründen beklentilerini - her tartışma ve kararın merkezinde tutun. Bu hedefe bağlı kalırsanız, birlikte tek bir birim olarak ilerleyeceğinizden emin olabilirsiniz.

DevOps ilerlemenizi ölçmeyi unutmak

İlerlemenizi ölçmek DevOps'un başarısı için çok önemlidir. DevOps için paydaşlarından şüphe duyduğunuzda doğrulama yaparken size doğrulama sağlar, dağıtım yöneticilerini ikna etmenize yardımcı olur ve mühendislik ekibinize ne kadar başardıklarını hatırlatır.

Tek bir değişiklik yapmadan önce bir taban çizgisi oluşturun. Tüm süreciniz boyunca izlemek istediğiniz küçük bir veri kümesi seçin. Bu veriler kararlarınızı bildirir ve aksiliklere ulaştığınızda itmeye devam etmek için yakıt görevi görür. Potansiyel ölçümler şunları içerir:

  • Çalışan memnuniyeti: Mühendisleriniz kuruluşunuzda çalışmayı seviyor mu? Aylık yinelenen gelir (MRR): Müşterilerden ne kadar para kazanıyorsunuz? Müşteri biletleri: Müşterileriniz tarafından kaç hata bildirildi? Dağıtım sıklığı: Her hafta veya ayda kaç dağıtımınız var? Ortalama kurtarma süresi (MTTR): Hizmet kesintisinden kurtulmak ne kadar sürer? Hizmet kullanılabilirliği: Uygulamanızın çalışma süresi nedir? Mevcut hizmet düzeyi sözleşmelerinize mi uyuyorsunuz? Başarısız dağıtımlar: Kaç sürüm hizmet kesintilerine neden oluyor? Kaçının geri alınması gerekiyor?

DevOps projenizi mikro yönetme

Mühendislerinizi zayıflatmanın en hızlı yollarından biri, çalışmalarını mikro yönetmektir. Drive kitabının yazarı Dan Pink, işteki motivasyonun üç faktörden kaynaklandığına inanıyor:

  • Özerklik ustalık amaç

Yüksek maaşlar, ikramiyeler ve hisse senedi opsiyonları gibi dışsal motivasyon unsurları kısa vadede işe yarayabilir, ancak uzun vadeli iş tatmini daha çok kişisel ve profesyonel büyümeye bağlıdır. Mühendislerinizin oldukça zor hissetme, stresle boğulmama gerginliğinde var olmasını istiyorsunuz. Bu tatlı nokta her insan için farklı. Bu bir DevOps mücadelesi, ancak bir kez doğru yapılırsa fark yaratabilir. Birinin tutkusunu uyandırabilirseniz, coşkuyla çalışacaklarından emindir.

Güven bir DevOps zorluğu olabilir. DevOps kuruluşları için kesinlikle çok önemlidir. İş arkadaşlarınıza, akranlarınıza, mühendislerinize, yöneticilerinize ve yöneticilerinize güvenmelisiniz. Ayrıca, kuruluşunuzdaki çeşitli departmanların rollerine ve sorumluluklarına da güvenmelisiniz - bu, asla çatışma yaşamayacağınız anlamına gelmez. Elbette insanlar arasında sürtünme anları olacaktır. Ancak bu anları en aza indirmek ve sağlıklı çatışma çözümünü sağlamak DevOps odaklı mühendislik ekiplerini rekabetlerinden ayıran şeydir.

Çok fazla, çok hızlı değiştirme

Birçok takım çok hızlı bir şekilde çok fazla değişiklik yapar. İnsanlar değişimi sevmezler. DevOps uzun vadede faydalıdır, normal şeylerdeki hızlı değişiklikler mühendislere sarsılabilir.

DevOps'un başarısız olması, herkesin yeşil alanda (yeni yazılım) gökkuşağı ve tek boynuzlu atlarla yaşadığını ima ediyor. “Ekibinizi birlikte çalıştırabilirseniz, yazılım geliştirme kolay olacaktır!” Gibi gelebilir. Bu doğru değil. Yazılım mühendisliği zordur ve her zaman zor olacaktır. Bu çoğu mühendisin sevdiği bir şey. Bir meydan okumanın tadını çıkar. Ancak zorluklar stresli değil, teşvik edici olmalıdır.

DevOps, mühendisliğin tüm entelektüel zorluklarını ortadan kaldırmayı amaçlamamaktadır. Bunun yerine, herkesin çalışmalarına odaklanabilmesi için insanlar arasındaki sürtünmeyi en aza indirmeyi teklif ediyor. Çok hızlı bir şekilde çok fazla değişiklik yapmaya çalışırsanız, kendinizi bir all-out isyanının ortasında bulabilirsiniz - İkili'de Mutiny.

DevOps araçlarını kötü seçme

DevOps'ta takımları depititize etmenize rağmen - ve haklı olarak - takım hala bir faktördür. DevOps'un en az önemli yönü bile genel başarınıza katkıda bulunur. Seçtiğiniz araçlar, mühendislik ekibinizin yaşadığı sorunları çözmeli, aynı zamanda mevcut ekibinizin tarzı, bilgisi ve konfor alanlarıyla da uyumlu olmalıdır.

Birkaç çözüm denemekten ve hangisinin en uygun olduğuna bakmaktan korkmayın. Bir aracı test etmek için birkaç hafta minimum uygulanabilir bir ürüne (MVP) veya konsept kanıtına (POC) ayırmak çabaya değer. Sonuna kadar atsanız bile, mühendislik kaynaklarını sadece bir yıl sonra bunun uygun olmadığını öğrenmek için belirli bir teknolojiye giriş yapmak tercih edilir.

DevOps projenizden korkma

Hızlı bir şekilde başarısız olmak, tonlarca zaman ve para harcamadan problemleri sürecin başlarında tanımlamak için sürekli olarak yinelemeniz gerektiğini söylemenin kısa bir yoludur. teknikteki birçok insanın konuştuğu ve çok azının gerçekte uyguladığı bir şey çünkü hataların küçük bir patlama yarıçapına sahip olduğu ve kolayca düzeltildiği bir ortamda hızlı yineleme gerektirir. Çoğu zaman, şirketler hızlı bir zihniyet talep eder ve bunun yerine bir üretim veritabanını silen ilk mühendisi işten çıkarır. (Sanki herhangi bir mühendis bir üretim veritabanını hiç silmemiş gibi.)

Ancak DevOps bağlamında, hızlı başarısız olmaktan ziyade başarısız olmaktan daha iyidir. Başarısız olması, durumu müşterileri etkilemeden çok önce olası sorunlara karşı sizi uyarmak için izlemeniz olduğunu gösterir. İyi bir şekilde başarısız olmanız, sisteminizi, düşen bir hizmetin sistemik bir kesintiye girmesini önleyen segmentli bir şekilde tasarladığınız anlamına gelir. Ancak başarılı olamayan organizasyonlar da bir adım daha ileri gider: İnsanları suçlamazlar. Bunun yerine, sistemlerde ve süreçlerde hata ararlar.

Kaizen, Japonca'nın sürekli gelişim anlamına gelir. DevOps'ta kaizen, süreçlerinizi sürekli iyileştirmek anlamına gelir. Başlangıcı ve sonu olan seksi bir dönüşüm değil. Hedef sıfırdan mükemmelliğe gitmek değil. Bunun yerine DevOps, her gün bir şeyi daha iyi hale getirmek için yavaş ve kademeli olarak çalışmayı teşvik eder. Eğer her akşam işin sadece küçük bir kısmının senin yüzünden daha iyi olduğunu bilerek işten ayrılırsan, tatmin olmaz mısın? Birçok mühendis bu şekilde hissediyor.

DevOps her ne pahasına olursa olsun başarısızlıktan kaçınmaya çalışmak yerine büyüme zihniyeti üzerinde ısrar ediyor. Başarısızlık, aptallığın veya kötü hazırlığın bir göstergesi değildir. Büyümenin bir göstergesi ve inovasyonda gerekli bir adım. Yenilik, ara sıra başarısız olsanız bile takip etmeye istekli olmanız gereken bir sonuçtur.

Çok katı olmak DevOps problemleri yaratacaktır

DevOps kuralcı değildir ve bu hem en iyi hem de en kötü şeydir. DevOps nirvana'ya ulaşmak için atabileceğiniz on adımdan oluşan bir listeniz olsaydı DevOps'u uygulamak çok daha kolay olurdu. Keşke bu kadar kolay olsaydı! Ancak insanlar bu şekilde çalışmazlar ve mühendislik ekipleri ve büyük organizasyonlar gibi insan grupları ele alınması gereken daha fazla karmaşıklık yaratır.

Bir DevOps organizasyonu oluşturmak için herhangi bir plan mevcut olmasa da, metodolojiyi sizin ve ekibiniz için çalışan uygulamalara uyarlama yetkisine sahipsiniz. Kuruluşunuzu biliyorsunuz ve bilgili bir uzman olarak, temel ilkeleri uygularken kutunun dışında düşünmelisiniz. DevOps'taki bazı şeyler size mükemmel şekilde uyacaktır. Diğerleri ise sadece bir beden çok küçük bir ceket giymek gibi hissedecektir. Sorun yok.

Hatalar yapacaksınız. Kimse mükemmel değildir. Ancak, biraz izin verirseniz, mühendislerinizi güçlendirir ve ekibinize güvenirseniz, harika sonuçlar görürsünüz. Sadece başlayın. Unutmayın: herkesi masaya davet edin, ilerlemenizi ölçün, teknolojiye göre kültüre öncelik verin ve mühendislerinize en iyi yaptıkları şeyi yapmalarını sağlayın.

  1. BusinessOperations Management DevOps nedir?

Emily Freeman tarafından

DevOps nedir? Size tam bir DevOps reçetesi vermek zordur - çünkü hiçbiri yoktur. DevOps, yazılım geliştirmeye rehberlik eden, insanlara süreç ve süreç üzerinde takımlara öncelik veren bir felsefedir. DevOps bir güven, işbirliği ve sürekli iyileştirme kültürü oluşturur.

DevOps döngüsü

Bir kültür olarak DevOps felsefesi, geliştirme sürecini dahil olan herkesi dikkate alarak bütünsel bir şekilde inceler: geliştiriciler, test uzmanları, operasyon çalışanları, güvenlik ve altyapı mühendisleri. DevOps bu gruplardan hiçbirini diğerinin üzerine koymaz ve çalışmalarının önemini sıralamaz. Bunun yerine, bir DevOps şirketi, müşterinin mümkün olan en iyi deneyimi yaşamasını sağlamak için tüm mühendis ekibini kritik olarak ele alır.

DevOps Agile'dan evrimleşti

2001 yılında 17 yazılım mühendisi, Agile proje yönetiminin 12 ilkesini açıklayan “Agile Software Development Manifesto” ile tanıştı ve yayınladı. Bu yeni iş akışı, bir şelale (doğrusal) süreçte çalışan ekiplerin hayal kırıklığına ve esnekliğine bir yanıttı.

Agile prensipleri dahilinde çalışan mühendislerin orijinal gereksinimlere uymaları veya her ekibin bir sonraki çalışmayı teslim ettiği doğrusal bir geliştirme iş akışını takip etmeleri gerekmez. Bunun yerine, işletmenin veya piyasanın sürekli değişen ihtiyaçlarına ve hatta bazen değişen teknoloji ve araçlara uyum sağlayabiliyorlar.

Agile yazılım geliştirmeyi birçok yönden kökten değiştirmiş olsa da, geliştiriciler ve operasyon uzmanları arasındaki çatışmayı ele almayı başaramadı. Silolar hala teknik beceri setleri ve uzmanlık alanları etrafında gelişti ve geliştiriciler hala dağıtım ve destek için operasyon arkadaşlarına kod dağıttılar.

2008'de Andrew Clay Shafer, Patrick Debois ile geliştiriciler ve operasyon insanları arasındaki sürekli çatışmadaki hayal kırıklıkları hakkında konuştu. Birlikte, yazılım geliştirmeye daha iyi ve daha çevik bir yaklaşım oluşturmak için Belçika'daki ilk DevOpsDays etkinliğini başlattılar. Agile'nin bu evrimi ele geçirildi ve DevOps o zamandan beri dünyanın dört bir yanındaki şirketlerin daha iyi yazılımları daha hızlı (ve genellikle daha ucuz) üretmesini sağladı. DevOps bir heves değil. Bu yaygın kabul gören bir mühendislik felsefesidir.

DevOps insanlara odaklanıyor

DevOps'un tamamen takımla ilgili olduğunu söyleyen herkes size bir şey satmak istiyor. DevOps, her şeyden önce mühendislere ve harika yazılımlar üretmek için birlikte nasıl daha iyi çalışabileceklerine odaklanan bir felsefedir. Dünyadaki her DevOps aracına milyonlar harcayabilir ve DevOps nirvana'ya daha yakın olamazsınız.

Bunun yerine, en önemli mühendislik varlığınıza odaklanın: mühendisler. Mutlu mühendisler harika yazılımlar yaparlar. Mutlu mühendisleri nasıl yapıyorsunuz? Peki, karşılıklı saygı, paylaşılan bilgi ve sıkı çalışmanın kabulünün gelişebileceği işbirliğine dayalı bir çalışma ortamı yaratıyorsunuz.

Şirket kültürü DevOps'un temelidir

Atalet yoluyla gelişmeye bırakılmış olsa bile şirketinizin bir kültürü vardır. Bu kültürün iş tatmini, üretkenlik ve takım hızı üzerinde muhtemelen fark ettiğinden daha fazla etkisi vardır.

Şirket kültürü en iyi bir kuruluşun söylenmemiş beklentileri, davranışları ve değerleri olarak tanımlanır. Kültür, çalışanlarınıza şirket liderliğinin yeni fikirlere açık olup olmadığını söyler. Bir çalışanın bir sorunla öne çıkıp çıkmayacağı ya da halının altına süpürüp süpürmediğine dair kararını bildiren şeydir.

Kültür, şansa bırakılacak bir şey değil, tasarlanacak ve rafine edilecek bir şeydir. Gerçek tanım şirketten şirkete ve kişiden kişiye değişse de, DevOps özünde mühendisliğe kültürel bir yaklaşımdır.

Zehirli bir şirket kültürü, DevOps yolculuğunuzu başlamadan öldürecek. Mühendislik ekibiniz bir DevOps zihniyetini benimsese bile, daha büyük şirketin tutumları ve zorlukları ortamınıza sızacaktır.

DevOps ile suçlamayı önler, güveni artırır ve müşteriye odaklanırsınız. Mühendislerinize özerklik verir ve onlara en iyi yaptıkları şeyi yapmalarını sağlarsınız: mühendis çözümleri. DevOps'u uygulamaya başladığınızda, mühendislerinize adapte olmaları için zaman ve alan sağlayarak, birbirlerini daha iyi tanıma ve farklı uzmanlıktaki mühendislerle ilişki kurma fırsatı verirsiniz.

Ayrıca, ilerlemeyi ölçer ve başarıları ödüllendirirsiniz. Asla başarısızlıklardan dolayı kişileri suçlamayın. Bunun yerine, ekip sürekli olarak birlikte gelişmeli ve başarılar kutlanmalı ve ödüllendirilmelidir.

İşleminizi gözlemleyerek ve veri toplayarak öğrenirsiniz

İş akışınızı beklenti olmadan gözlemlemek, iş akışınızın başarılarını ve zorluklarını gerçekçi bir şekilde görmek için kullanılacak güçlü bir tekniktir. Bu gözlem, süreçlerinizde darboğazlar yaratan alanlara ve sorunlara doğru çözümü bulmanın tek yoludur.

Tıpkı yazılımda olduğu gibi, bazı Kubernet'leri (veya başka bir yeni aracı) bir probleme tokatlamak, onu düzeltmek zorunda değildir. Onları düzeltmeye başlamadan önce sorunların nerede olduğunu bilmelisiniz. Devam ettikçe, veri toplarsınız - başarıyı veya başarısızlığı ölçmek için değil, ekibin performansını izlemek için. Neyin işe yaradığını, neyin işe yaramadığını ve bir dahaki sefere neyin deneneceğini belirleyebilirsiniz.

İkna DevOps'un benimsenmesinin anahtarıdır

DevOps fikrini liderlerinize, akranlarınıza ve çalışanlarınıza satmak kolay değildir. Süreç de mühendisler için her zaman sezgisel değil. Harika bir fikir sadece kendini satmaz mı? Keşke bu kadar kolay olsaydı. Ancak DevOps'u uygularken daima akılda tutulması gereken kilit bir kavram, insanları vurgulamasıdır.

iletişim ve işbirliğinin “yumuşak becerileri” olarak adlandırılan, DevOps dönüşümünüzün merkezindedir. DevOps'u benimsemek için ekibinizdeki ve şirketinizdeki diğer kişileri ikna etmek iyi iletişim becerileri uygulamayı gerektirir. DevOps ile ilgili meslektaşlarınızla yaptığınız erken görüşmeler, özellikle beklenmedik bir hız artışına ulaştığınızda sizi başarıya ulaştırır.

DevOps'ta küçük, artımlı değişiklikler paha biçilemez

DevOps'un küçük, artımlı yollarla değişiklik yapmayı vurgulayan yönü, yalın üretimdeki köklerini, hızlandırılmış geribildirimi, sürekli iyileştirmeyi ve pazara daha hızlı geçişi kapsar.

Su, DevOps dönüşümleri için iyi bir benzetmedir. Su, dünyanın en güçlü unsurlarından biridir. İnsanlar sel sularının önlerinde yükselişini izlemedikçe, bunun nispeten zararsız olduğunu düşünüyorlar. Colorado Nehri Büyük Kanyon'a oyulmuştur. Yavaşça, milyonlarca yıl boyunca, su yaklaşık iki milyar yıl toprak ve kaya ortaya çıkarmak için taştan kesildi.

Su gibi olabilirsin. Kuruluşunuzdaki yavaş, amansız değişim olun. İşte size ilham verecek Bruce Lee röportajından bu ünlü alıntı:

Biçimsiz, şekilsiz, su gibi ol. Şimdi bir bardağa su koyuyorsun, fincan oluyor. Bir şişeye su koyarsınız, o şişe olur. Bir çaydanlık içine koydunuz, çaydanlık oluyor. Şimdi su akabilir veya çökebilir. Su ol dostum.

Kademeli değişiklikler yapmak, örneğin bir sorun bulduğunuz ve bu sorunu giderdiğiniz anlamına gelir. Sonra bir sonrakini düzeltirsiniz. Çok hızlı almıyorsunuz ve savaşmak için her savaşı seçmiyorsunuz. Bazı kavgaların size mal olacak enerjiye veya sosyal sermayeye değmeyeceğini biliyorsunuz.

Sonuç olarak, DevOps atabileceğiniz adımların bir listesi değil, geliştirirken aldığınız kararlara rehberlik etmesi gereken bir yaklaşımdır.

  1. BusinessOperations Management Aptallar için Hileler Hile Sayfası
  2. İşletmeOperasyon YönetimiTam Maliyetle Temel Transfer Fiyatı

Mark P. Holtzman adlı geliştiriciden

Bir şirket, transfer fiyatını birim başına değişken ve sabit maliyetlerin toplamı olan tam maliyetle (absorpsiyon maliyeti olarak da bilinir) belirleyebilir. Satış bölümünün kar elde etmesini sağlamak için ayrıca bir işaret ekleyebilirler.

HOO Water Company'nin hem kaynak suyu hem de meşrubat ürettiğini varsayalım. Clor bölümü kaynak suyu üretiyor ve Shpritz bölümü alkolsüz içecekler yapıyor. HOO yöneticileri, Clor ve Shpritz'i birlikte çalışmaya teşvik eder, böylece Shpritz bölümü yumuşak içeceklerini yapmak için Clor bölümünün kaynak suyunu kullanır.

Bununla birlikte, Clor bölümü, suyunu galon başına 0.75 $ karşılığında dış müşterilere satmaktadır. Maliyetleri en aza indirmek için Shpritz, kaynak dışındaki tedarikçilerden de su satın alabilir.

Bu yıl, Clor bölümü 100.000 galon kaynak suyu üretmeyi planlıyor, ancak satabilirse daha fazla su üretme yeteneğine sahip. Clor’un suyu galon başına 0,30 $ değişken maliyet taşır ve 40,000 $ sabit maliyeti karşılamalıdır.

Shpritz bölümü 60.000 galon meşrubat yapmayı planlıyor; suyu Shpritz'den veya bir dış satıcıdan satın alabilir. Suyun maliyetine ek olarak, Shpritz her galon meşrubat üretmek için aroma ve diğer katkı maddeleri için galon başına 0,40 $ ödemek zorundadır. Shpritz ayrıca yılda 30.000 $ sabit maliyet öder. Shpritz’in meşrubat galon başına 2 dolara satılıyor.

İlk olarak, Clor’un tam maliyetini hesaplayın. 100.000 galon kaynak suyu üretmek için sabit maliyetler 40.000 $ 'dır. Birim başına sabit maliyet, galon başına 0.40 $ 'a gelir (40.000 $ ÷ 100.000 galon). Clor’un değişken maliyeti galon başına 0,30 $; galon başına 0.70 $, transfer fiyatı toplam maliyeti elde etmek için bunu birim başına sabit maliyete ekleyin.

Aşağıdaki şekilde, Clor, Shpritz'e galon başına 0.70 $ ve geri kalanı dış müşterilere galon başına 0.75 $ karşılığında 60.000 değerinde kaynak suyu sağladığında ne olacağını açıklıyor.

image0.jpg

Burada Clor, dış müşterilerden 30.000 dolar gelir ve Shpritz'den 42.000 dolar gelir elde ediyor. Clor’un değişken maliyeti 30.000 dolar ve sabit maliyetleri 40.000 dolar çıkarıldığında net gelir 2.000 dolar olur. Shpritz alkolsüz içeceklerinden 120.000 dolar gelir elde ediyor.

Bu miktarın Clor'a 42.000 $ ve diğer değişken maliyetlerde 24.000 $ ödemesi gerekir. Shpritz ayrıca 30.000 $ sabit maliyet ödemek zorundadır, bu da Shpritz için net gelir $ 24.000 olur. Her iki bölüme de sahip olan HOO Water, her iki üründen de toplam 26.000 $ gelir elde ediyor.

Transfer fiyatını tam maliyete dayandırma kararları, bölüm yöneticilerini şirketin genel kârlılığına zarar veren kötü kararlar almaları için kandırabilir. Diyelim ki başka bir şirket olan Malcolm Water, galon başına 0.65 $ su satıyor. (Merak ediyorsanız, Malcolm Water suyu için daha az para talep edebilir, çünkü suyu daha düşük kalitededir.) Shpritz bölümü, Clor bölümüne galon başına 0.70 $ ile Malcolm'a galon başına 0.65 $ arasında bir seçim yapmalıdır.

Bir yandan Shpritz, her iki şirketin de aynı ebeveyne sahip olması nedeniyle Clor ile iş yapmayı tercih edebilir. Ancak, HOO su yapmak için 0.70 $ bir galon, ancak Malcolm'dan satın almak için sadece 0.65 $ öderse, HOO sadece suyu daha ucuz dış satıcıdan satın almalı ve galon başına 0.05 $ tasarruf etmemeli mi?

Şart değil. Aşağıdaki şekilde, Shpritz Malcolm'dan suyunu satın alarak para biriktirmeye çalıştığında ortaya çıkan fiyaskoyu göstermektedir.

image1.jpg

Shpritz’in maliyetleri düşürme kararı, HOO Water’ın toplam kârlılığını 21.000 $ azaltır. Bu konuda soru yok: Shpritz’in kârlılığı artıyor. Dış kaynak kullanma kararı, değişken su satın alma maliyetini 42.000 $ 'dan 39.000 $' a düşürdüğü için, Shpritz'in net geliri 27.000 $ 'a yükseliyor.

Bununla birlikte, Shpritz’in kararı Clor'a zarar verir ve sonuçta HOO Water’ın toplam karlılığını azaltır. Clor’un Shpritz'e 42.000 dolarlık satışları tamamen kurudu. Değişken maliyetleri de 30.000 dolardan 12.000 dolara düşüyor.

Bununla birlikte, Clor’un sabit maliyeti 40.000 ABD dolarıdır ve Clor’u 22.000 ABD doları zarara uğratır. HOO Water’ın toplam kârı 26.000 dolardan sadece 5.000 dolara düşüyor. Transfer fiyatını tam maliyete dayandırmak, Shpritz'in şirketin genel karlılığına zarar veren kararlar almasına yol açtı.

  1. BusinessMarketingSosyal Medya Pazarlaması Instagram'da Kişilerinizi Bulma
Dummies İçin İş İçin Instagram

Yazan: Jennifer Herman, Eric Butow, Corey Walker

Instagram'da yeniyseniz, nereden başlayacağınızı merak ediyor olabilirsiniz. Instagram (ve babası, Facebook) bağlantı kurmanıza yardımcı olmaktan mutluluk duyar. İnsanları birkaç farklı şekilde bulabilirsiniz.

Facebook arkadaşlarınızı bulma

Facebook, Instagram'ın büyümesine büyük ilgi duyuyor, bu yüzden Facebook arkadaşlarınızı toplayıp onları Instagram'a getirmeye teşvik ediyor. İnsanları bulmanın kolay bir yoludur.

Facebook'ta arkadaş bulmak için aşağıdaki adımları uygulayın:

  1. Telefonunuzun ekranının sağ alt köşesindeki fotoğrafınıza dokunarak Instagram profil sayfanıza gidin. Sol üstte artı (ve muhtemelen kırmızı bir sayı) olan kişiye dokunun. Ekranınızın üst kısmındaki Facebook bağlantısına dokunun. Tamam'a dokunarak Facebook girişinizi onaylayın. Ekranda Instagram'da kaç Facebook arkadaşınız var. Tümünü Takip Et veya Takip Et'e dokunun. Instagram'daki Facebook arkadaşlarınızın her birini takip etmek için Tümünü Takip Et'e dokunun. Daha seçici olmayı tercih ediyorsanız, özellikle de ürününüzü veya hizmetinizi tanıtacağınız için arkadaşlarınızı tek tek takip etmek isteyebilirsiniz. Bağlanmak istediğiniz her bir arkadaşın yanındaki Takip et'e dokunmanız ve kaydırmaya ve izlemeye devam etmeniz yeterlidir!
Facebook arkadaşlarını bul

Bazı arkadaşlarınız hesaplarını gizli olarak ayarlamış olabilir. Bu durumda, Takip Et'e dokunduktan sonra İstendi'yi görürsünüz. Profilini ve yayınlarını görüntüleyebilmeniz için sizi onaylamaları gerekir.

Kişi listenizi senkronize etme

Instagram ayrıca sizi telefonunuzda veya tabletinizde saklanan kişilere bağlayabilir. Bu özelliği etkinleştirdikten sonra, kişileriniz düzenli olarak Instagram’ın sunucularıyla senkronize edilir. Instagram sizin adınıza kimseyi takip etmiyor ve Instagram'ın bunlara erişememesi için kişilerinizi istediğiniz zaman çıkarabilirsiniz.

Bu özellik, gizlilik amacıyla sürekli bir bağlantıya karşı başlangıçta bir yapılan ve en iyi olarak olabilir.

Kişilerinizi bağlamak için şu adımları izleyin:

  1. Telefonunuzun ekranının sağ alt köşesindeki fotoğrafınıza dokunarak Instagram profil sayfanıza gidin. Sol üstte bir artı (ve muhtemelen kırmızı bir sayı) olan küçük kişiye dokunun. Kişiler bağlantısına dokunun. Bir sonraki ekran, Instagram'ın tanıdığınız kişileri bulacağını söyler ve size onları takip etme seçeneği sunulur. Devam etmek için Kişileri Bağla'ya dokunun. Başka bir açılır pencere Instagram'ın kişilerinize erişip erişemeyeceğini sorar. Erişime İzin Ver'e dokunun. Instagram'ın Kişilerinize erişmesine izin vermenizi isteyen bir açılır pencere görünür. Bu, Instagram'ın kişilerinize erişmesine izin verme kararınızı iptal etmek için son şansınız. Tamam seçeneğine dokunun. Açılır pencere kaybolur ve Kişiler ekranı belirir. Tümünü Takip Et'e dokunarak Instagram'daki tüm kişilerinizi takip edin ya da her birinin yanındaki Takip Et'e dokunarak takip etmek istediğiniz kişileri seçin.
instagram kişileri

Fikrinizi bir noktada değiştirirseniz ve Instagram'ın kişilerinize erişimine izin vermemek istiyorsanız, profil sayfanızdaki tekerlek simgesine dokunun, Ayarlar'a gidin ve ardından Kişiler'e dokunun. Instagram'ın erişimini sona erdiren beyaza geri dönmek için Kişileri Bağla geçişine dokunun.

  1. DevOps için En İyi Bulut Servis Sağlayıcı, Özellikler ve Araçları Seçme

Emily Freeman tarafından

DevOps girişiminizin başarısı büyük ölçüde süreci takip etmeye bağlıdır, ancak doğru araçları kullanmak da önemlidir. Bir bulut servis sağlayıcısı seçmek, özellikle DevOps sürüş motivasyonunuz olduğunda kolay bir seçim değildir. GCP (Google Cloud Platform), AWS (Amazon Web Services) ve Azure'un birbirlerinden daha fazla ortak noktası vardır.

Çoğu zaman, kararınız DevOps ekibinizin belirli bir bulut sağlayıcısıyla veya mevcut yığınızla olan konfor düzeyine, bulut sağlayıcısının kendisinden daha fazla bağlıdır. Buluta geçmeye karar verdikten sonra, bir sonraki karar DevOps gereksinimlerinize uyan bir bulut sağlayıcısına karar vermektir. DevOps ilkeleri göz önünde bulundurularak bulut sağlayıcılarını değerlendirirken göz önünde bulundurmanız gereken bazı noktalar şunlardır:

  • Sağlam kayıt. Seçtiğiniz bulut, sorumlu finansal kararların geçmişine ve büyük veri merkezlerini on yıllar boyunca işletmek ve genişletmek için yeterli sermayeye sahip olmalıdır. Uyum ve risk yönetimi. Resmi yapı ve yerleşik uyumluluk politikaları, verilerinizin güvenli ve emniyetli olmasını sağlamak için hayati öneme sahiptir. İdeal olarak, sözleşmeleri imzalamadan önce denetimleri gözden geçirin. Olumlu itibar. Müşteri güveni kesinlikle önemlidir. Gelişen DevOps ihtiyaçlarınızı artırmaya ve desteklemeye devam etmek için bu bulut sağlayıcısına güvenebileceğinize inanıyor musunuz? Hizmet Seviyesi Anlaşmaları (SLA'lar). Ne düzeyde bir hizmete ihtiyacınız var? Genellikle bulut sağlayıcıları, maliyete dayalı olarak çeşitli düzeylerde çalışma süresi güvenilirliği sunar. Örneğin, yüzde 99,9 kesintisiz çalışma, yüzde 99,999 kesintisiz çalışma süresinden önemli ölçüde daha ucuz olacaktır. Metrikler ve izleme. Tedarikçi ne tür uygulama bilgileri, izleme ve telemetri sağlar? Sistemleriniz hakkında mümkün olduğunca gerçek zamanlı olarak uygun düzeyde bilgi edinebildiğinizden emin olun.

Son olarak, seçtiğiniz bulut sağlayıcısının, özel DevOps gereksinimlerinizi karşılayan hizmetler sağlayan mükemmel teknik özelliklere sahip olduğundan emin olun. Genellikle,

  • Bilgi işlem yetenekleri Depolama çözümleri Dağıtım özellikleri Kayıt ve izleme Kullanıcı dostu arayüzler

Ayrıca, bir noktada, diğer API'lara ve hizmetlere HTTP çağrıları yapmanız gerektiğinde, bir hibrit bulut çözümü uygulama yeteneğini de onaylamanız gerekir.

Üç büyük bulut sağlayıcısı Google Cloud Platform (GCP), Microsoft Azure ve Amazon web Servisleridir (AWS). Ayrıca daha küçük bulut sağlayıcıları ve kesinlikle bir dizi özel bulut sağlayıcısı bulabilirsiniz, ancak bilmeniz gerekenin büyük kısmı genel bulut sağlayıcılarını karşılaştırmaktan gelir.

Amazon Web Servisleri (AWS)

Diğer büyük genel bulut sağlayıcıları gibi AWS de, kullandıkça öde aboneliği aracılığıyla isteğe bağlı bilgi işlem sağlar. AWS kullanıcıları çok sayıda hizmete ve bilgi işlem kaynağına abone olabilir. Amazon, bulut abonelerinin çoğunu elinde bulunduran bulut sağlayıcıları arasında mevcut pazar lideridir.

Dünyanın dört bir yanındaki bölgelerde güçlü özellikler ve hizmetler sunar. En iyi bilinen hizmetlerden ikisi Amazon Elastik Bilgi İşlem Bulutu (EC2) ve Amazon Basit Depolama Hizmeti'dir (Amazon S3). Diğer bulut sağlayıcılarında olduğu gibi, hizmetlere erişilir ve altyapı API'lar aracılığıyla sağlanır.

Microsoft Azure

Microsoft bu bulut sağlayıcısını Microsoft Azure olarak başlatmadan önce Windows Azure olarak adlandırıldı. Microsoft bunu tam olarak adından da anlaşılacağı şekilde tasarladı - geleneksel olarak Windows BT kuruluşları için bir bulut sağlayıcısı olarak hizmet verdi. Ancak pazar daha rekabetçi hale geldikçe ve Microsoft mühendislik ortamını daha iyi anlamaya başladığında, Azure adapte oldu, büyüdü ve gelişti.

AWS'den hala tartışmasız daha az sağlam olmasına rağmen, Azure kullanıcı deneyimine odaklanan çok yönlü bir bulut sağlayıcısıdır. Çeşitli ürün lansmanları ve satın alımları yoluyla - özellikle GitHub - Microsoft, daha geniş bir kitleye daha sağlam hizmetler sunmasını sağlayan Linux altyapısına büyük yatırım yapmıştır.

Google Cloud Platform (GCP)

Google Cloud Platform (GCP), üç büyük genel bulut sağlayıcısından en az pazar payına sahiptir, ancak yaklaşık iki düzine coğrafi bölgede önemli miktarda bulut hizmetleri sunar.

GCP'nin belki de en çekici yanı, kullanıcılara Google'ın dahili olarak kullandığı altyapıyı sunmasıdır. Bu altyapı son derece güçlü bilgi işlem, depolama, analitik ve makine öğrenimi hizmetlerini içerir. Belirli ürününüze bağlı olarak, GCP'nin AWS ve Azure'da eksik (veya daha az olgunlaşmış) özel araçları olabilir.

Bulutta DevOps araçlarını ve hizmetlerini bulma

Kelimenin tam anlamıyla yüzlerce araç ve hizmet büyük bulut sağlayıcıları aracılığıyla hizmetinizdedir. Bu araçlar ve hizmetler genellikle aşağıdaki kategorilere ayrılır:

  • hesaplamak Depolama Ağ Kaynak yönetimi Bulut Yapay Zeka (AI) Kimlik Güvenlik serverless IOT

Aşağıda, büyük bulut sağlayıcılarının üçünde de en sık kullanılan hizmetlerin bir listesi bulunmaktadır. Bu hizmetler arasında uygulama dağıtımı, sanal makine (VM) yönetimi, kapsayıcı düzenleme, sunucusuz işlevler, depolama ve veritabanları bulunur.

Kimlik yönetimi, blok depolama, özel bulut, gizli depolama ve daha fazlası gibi ek hizmetler dahildir. Kapsamlı bir listeden çok uzaktır, ancak seçeneklerinizi araştırmaya ve bulut sağlayıcılarını farklılaştıran şeyleri hissetmeye başladığınızda sizin için sağlam bir temel oluşturabilir.

  • Uygulama dağıtımı: Uygulamaları Java, .NET, Python, Node.js, C #, Ruby ve Go gibi çeşitli dillerde dağıtmak için Hizmet Olarak Platform (PaaS) çözümü Azure: Azure Bulut Hizmetleri AWS: AWS Elastik Fasulye Sırığı GSİO: Google App Engine
  • Sanal makine (VM) yönetimi: Sanal makineleri (VM) Linux veya Windows ile çalıştırmak için Hizmet Olarak Altyapı (IaaS) seçeneği Azure: Azure Sanal Makineleri AWS: Amazon EC2 GCP: Google Compute Engine
  • Yönetilen Kubernetes: Popüler orkestratör Kubernetes aracılığıyla daha iyi konteyner yönetimi sağlar Azure: Azure Kubernetes Hizmeti (AKS) AWS: Kubernetes için Amazon Elastik Konteyner Hizmeti (ECS) GCP: Google Kubernetes Motoru
  • Sunucusuz: Kullanıcıların sunucusuz işlevlerin mantıksal iş akışlarını oluşturmalarını sağlar Azure: Azure İşlevleri AWS: AWS Lambda GCP: Google Cloud İşlevleri
  • Bulut depolama: Önbelleğe alma ile yapılandırılmamış nesne depolama Azure: Azure Blob Depolama Alanı AWS: Amazon S3 GCP: Google Cloud Storage
  • Veritabanları: İsteğe bağlı SQL ve NoSQL veritabanları Azure: Azure Cosmos DB AWS: Amazon İlişkisel Veritabanı Hizmeti (RDS) ve Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL ve Google Cloud BigTable (NoSQL)

Üç büyük bulut sağlayıcısını keşfettiğinizde, uzun bir hizmet listesi görürsünüz. Hizmetinizdeki yüzlerce seçenek sizi bunalmış gibi hissedebilir. Şans eseri, neye ihtiyacınız olduğunu bulamazsanız, pazar yeri muhtemelen benzer bir şey sağlayacaktır. Pazar, bağımsız geliştiricilerin buluta takılan ve Azure, AWS veya GCP tarafından barındırılan hizmetler sundukları yerdir.

Aşağıdaki tabloda, tümü olmasa da çoğu bulut sağlayıcısı tarafından sağlanan ek hizmetler listelenmektedir.

Hizmet Kategorisiİşlevsellik
Depolamayı engelleDepolama alanı ağı (SAN) ortamlarında kullanılan veri depolama. Blok depolama, verileri sabit diskte depolamaya benzer.
Sanal Özel Bulut (VPC)Mantıksal olarak yalıtılmış, paylaşılan bilgi işlem kaynakları.
FirewallTrafiği kontrol eden ağ güvenliği.
İçerik Dağıtım Ağı (CDN)Kullanıcının bulunduğu yere göre içerik teslimi. Genellikle önbellekleme, yük dengeleme ve analitiği kullanır.
Alan Adı Sistemi (DNS)Alan adlarının tarayıcılar için IP adreslerine çevirmeni.
Tek Oturum Açma (TOA)Aynı kimlik bilgilerini kullanarak birden fazla sisteme veya uygulamaya erişim kontrolü. Google, Twitter veya GitHub kimlik bilgilerinizle bağımsız bir uygulamada oturum açtıysanız TOA kullandınız.
Kimlik ve Erişim Yönetimi (IAM)Rol tabanlı kullanıcı erişim yönetimi. Önceden belirlenmiş roller, belirli bir özellik grubuna erişebilir; kullanıcılara roller atanır.
Telemetri, izleme ve kayıt tutmaPerformans, sunucu yükü, bellek tüketimi ve daha fazlası hakkında uygulama bilgileri sağlayan araçlar.
dağıtımlarKonfigürasyon, altyapı ve sürüm boru hattı yönetim araçları.
Bulut kabuğuTarayıcıdaki bir komut satırı arabiriminden (CLI) kabuk erişimi.
Sır saklamaAnahtarların, jetonların, parolaların, sertifikaların ve diğer sırların güvenli bir şekilde saklanması.
Mesaj KuyruklarıDinamik olarak ölçeklendirilmiş ileti aracıları.
Makine Öğrenmesi (ML)Veri bilimcileri için derin öğrenme çerçeveleri ve araçları.
IOTCihaz bağlantısı ve yönetimi.