Tek noktadan yazılım teslimi: Dünyanın en büyük 500 şirketinin DevOps dönüşümü

Genel Bakış

Bugün paylaştığım konu "Tek Noktadan Yazılım Teslimi: Fortune 500 Şirketlerinin DevOps Dönüşümü". Yurtiçi ve yurtdışındaki bazı büyük şirketlerin DevOps'u nasıl uyguladıklarından ve hangi DevOps kayışlarının genellikle kurumsal karar vericiler tarafından ilgilendiğinden bahsedecek. Gelir.

Yazılım geliştirme eğilimleri

Hepimizin bildiği gibi, çevik geliştirmenin getirdiği şey, sürekli test etme yeteneğidir; bu, geliştirme ve test ekiplerini sürekli testlere ulaşmak için birleştirmektir. DevOps'un şu anda yaptığı en önemli şey, sürekli dağıtım ve sürekli teslim sağlamaktır.Artık, küçük ölçekli sürümler yapmak için bazı gri tonlamalı sürümleri ve canary sürümlerini kullanabilirsiniz, ancak uygulamaları yalnızca kümenin belirli bir bölümüne yayınlayabilirsiniz.

Tıpkı Google'ın yaptığı gibi, örneğin, Google Haritalar yeni bir özellik yayınlamak istediğinde, önce onu dahili olarak yayınlayacak veya küçük ölçekli bir yayın yapacak ve daha sonra bazı harici sürümler yapacak. Bu, DevOps'un getirdiği bir avantajdır.

Ek olarak, DevOps'un başarmak için bazı araçlara da ihtiyacı var. Yapım açısından, Internet şirketlerinin% 80'inin Jenkins kullandığını görüyoruz çünkü Jenkins gerçek zamanlı yapım ve gerçek zamanlı derleme yapıyor Platformun kendisi çok açık ve birim testi ve performans testini destekleyebilecek birçok eklenti var. Yazılımın ücretli sürümünü kullanıyorsanız, CircleCI gibi konteyner derlemesi yapan bazı yabancı ülkeler vardır. Test oturumunda Junit, Jmeter vb. Gibi birçok araç ücretsizdir. Dağıtım açısından, Ansible ve Saltstack en çok yurtiçi ve yurtdışında kullanılmaktadır.

Dünyanın en gelişmiş DevOps şirketi

DevOps'ta en gelişmiş dünyadaki hangi şirketler?

Google Cloud, tümü Kubernetes kullanarak haftada 2 milyar kez değişir; Netflix, en gelişmiş DevOps şirketi olarak kabul edilebilir. Daha hassas bir Amerikan draması olan "House of Cards" görmüş olabilirsiniz, ancak Netflix yalnızca Amerikan dizileri yapmakla kalmıyor, aynı zamanda Ülkenin bant genişliğinin% 60'ını kaplar. Çoğu kişi kanepede film izler ve yurt dışında Netflix'i kullanır.

Oracle ve Cisco da var: Hepsi birleşik test ve dağıtım yapmak için Jenkins, JFrog, Sonar ve diğer test araçlarını kapsayan tek noktadan bir teslimat platformu oluşturdular. Bunlar büyük ölçekli DevOps'tur. Çin'de Tencent ve Alibaba'da, Tencent'in ilgili işleri yapan en az iki ekibi var, biri merkezi bir DevOps platformu yapıyor, diğeri ise çok güçlü bir otomatik operasyon ve bakım aracı platformu olan Blue Whale'den sorumlu. Alibaba'nın Hangzhou'da Ali'nin dahili platformu AOne'ı inşa eden bir ekibi var.Ali'nin işletmelerinin çoğu tek noktadan test ve dağıtım için kendi platformlarına taşındı. Bir de Huawei var.Şirket içinde DevOps teslimat platformu üzerinde en az iki ekibin çalıştığını biliyoruz.Bu da çok gelişmiş ve sonuçlar çok iyi.

Bu şirketler DevOps'u nasıl yapıyor?

Aşağıda, yukarıda bahsedilen şirketlerden bazılarının önceden nasıl DevOps yapılacağını, hangi araçları kullandıklarını, ekibin nasıl değerlendirileceğini, liderleri nasıl ikna edileceğini, self servis DevOps platformunun nasıl oluşturulacağını sizinle paylaşmak için bugünkü paylaşımın önemli noktaları bulunmaktadır.

Birincisi, self servis DevOps

Her aşamada en iyi aracı değerlendirmektir.Burada, Tencent'i örnek olarak alıyoruz.Tencent ön tarafta derlediğinde, çoğu Git'i kullanır, sonra derlemek için Jenkins'i kullanır ve derleme görevini çalıştırmak için konteyner ortamını kullanır. Jenkins görevi bir kapsayıcıda çalışır ve derleme tamamlandıktan sonra bazı kaynaklar iyi bir şekilde toplanabilir. Bahsetmeye değer test aracı SonarCube'dur. SonarCube tek kodlu tarama için kullanılır ve ayrıca Didi, Baidu ve Ali gibi büyük internet şirketleri tarafından da kullanılır. Ara yapı yönetimi kısmı da daha kritiktir, kod göndermekten, inşa etmeye, test etmeye ve hangi ortama yayınlamaya kadar her aşamadaki veri yönetiminiz dahil, bir yer vardır, tüm veriler ve paketler JFrog Artifactory'de saklanır, Hepsi, montaj hattını ilgili şirket içindeki standart alan üzerinden yapmak zorundadır. Son dağıtım ve değerlendirmede, birçok şirket DevOps verilerini değerlendiriyor.Geçen ayın sonuyla karşılaştırıldığında, sürümün daha verimli olup olmadığı ve test ilerleme oranımın öncekinden daha hızlı olup olmadığı. Yukarıdaki şekilde bahsettiğimiz, değerlendirme için en çok kullandığımız araçlardan bazılarıdır, elbette her aşamada başka araçlar da vardır.

İkincisi, özel boru hattı

İster Jenkins ister başka araçlar kullanıyor olun, test etme ve dağıtım gibi bazı yeniden kullanılabilir aşamalar modüler bir CI ardışık düzenine yerleştirilmelidir ve geliştiriciler çevrimiçi olup kendi başlarına yayınlayabilirler. Günümüzde bazı büyük şirketlerin ekipleri sadece çevrimiçi oluyor ve kendileri yayınlıyorlar, bir mikro hizmet mimarisini benimsiyorlar ve tüm modülleri birlikte koordine etmek zorunda kalmadan, herhangi bir zamanda bir değişiklik tarihi belirlemeden kendi modüllerini bağımsız olarak yayınlayabiliyorlar. Açık kaynak kodlu ve ücretsiz olan Jenkins Pipeline eklentisini deneyebilirsiniz.

Bu örnekte, bir Maven derlemesi yapın, ardından bir yansıtma oluşturun, bazı testler yapmak için aynayı kullanın ve bunu test ortamına dağıtın. Ardından, çeşitli otomatik testleri tamamladıktan sonra, üretim ortamına dağıtabilirsiniz. Bazı finans şirketlerinin, geliştirmeye de dahil edilebilecek bir çalışan inceleme sürecine sahip olması gerekir.Geliştirme, e-posta ve metin mesajları gönderebilir.

Yaşam döngüsü meta verilerini kaydedin

Bu süreç çok fazla veri üretecek ve her adımdaki temel verilerin meta veri adı verilen birleşik bir yerde depolanması gerekiyor. Jenkins ve JFrog şu anda dünyanın en büyük 500 şirketi tarafından kullanılmaktadır. JFrog, Jenkins'te bir eklentiye sahiptir. Kurulumdan sonra, inşaat sırasında test geçme oranınızı, ayrıca SonarCube adresini ve kurulum sonucunu kontrol edebilirsiniz. Ve o sırada hangi makineyi konuşlandırdığınız derleme paketine bağlıdır, bu nedenle artık şirketinizdeki tüm yapılar, hangi dilde olursa olsun (şeklin sol tarafında her dildeki paketleri görebilirsiniz) bir DevOps ekibine dayalı olmalıdır. Spesifikasyonlar ve standartlar çevrimiçi hale gelir. Pakette tüm meta veriler yoksa, tüm test sonuçları yoksa ve bu QA olmadan paket çevrimiçi olamaz. Bu, şirket içinde bir kalite bariyeri oluşturmaya eşdeğerdir.Geliştirmeden, inşaata, testten uygulamaya kadar tüm aşamalardaki temel bilgiler, süreç karar otomasyonunu sağlamak için tek bir yere yerleştirilmelidir.

Yazılım teslim kalitesi engellerini geliştirin

Kalite seviyesi daha eski bir kavram, Jenkins ve JFrog bu sürece nasıl katıldı? Cevap otomatik test kullanmaktır Test sonuçlarını bu pakete bağlayarak, yayımlanan paketi geliştirme ortamından test ortamına ve ardından dağıtım ortamına yükseltmek istiyorsanız, bir sonrakine geçmeden önce belirli meta verileri toplamanız gerekir. Aşamada buna kalite kontrol noktası deniyor.Birçok büyük şirket artık bu standardı kullanıyor.Yani, Yayınlanan paketim tüm test bilgilerine sahip değilse, montaj hattı üretim ortamıma dağıtılmasına izin vermeyecektir.Bu, esas olarak yazılımı sağlamak içindir. Kalite, tıpkı daha önce bahsedilen "hızlı başarısızlık" gibi, daha önceki bir aşamada bazı otomatikleştirilmiş testler ve miras testleri koyarsanız, çok fazla zaman kaybetmekten kaçınabilirsiniz.

Üçüncü olarak, akıllı sorgu

Son olarak, şirket içinde on binlerce paketi bulmak için akıllı bir sorgulama özelliğine ihtiyacınız var.Örneğin, Cisco ve Huawei'nin milyarlarca paketi var.En son sürüm değil, test edilmiş ve birim testi geçme oranı% 100. , Güvenlik açığı taramasından geçen paket, üretim ortamına otomatik olarak dağıtılabilir. Cisco ve Oracle gibi onlar da bir miktar otomatik temizlik yapacaklar.Örneğin, bir paket yarım yıl içinde indirilmezse, otomatik olarak silinecektir.Yani depolama maliyetleriniz arttıkça, nasıl yapılacağını da değerlendirmelisiniz. Otomatik temizleme. Aynı şey, bir bağlantı ve ardından bir sonraki bağlantı yapmaktır, böylece birçok büyük kuruluş tarafından da elde edilen AQL gibi bir araçla yapılabilir.

Global DevOps standartları

Artık yurtiçi ve yurtdışında çok büyük bir trend var, yani bir şirket belirli bir ölçeğe ulaştığında kendi DevOps platformunu sarmalamaya başlamalıdır.Aksi takdirde, küçük ve geleneksel bir ekibin sürekli otomatik teslimata gitmesine izin vermek zordur.Genellikle bulmak için para harcamamız gerekir. Bir Agile koçu şirketteki PPT hakkında konuştu ve onlardan bu aracı hızlı bir şekilde kullanmalarını istedi. İnternet şirketinin yaklaşımı, birleştirilmiş kaynak uygulamaları elde etmek için Sonar, K8S ve Jenkins gibi altta yatan araç platformlarıyla kenetlenerek bir DevOps platformunu tek başına kapsamaktır. Bunun avantajı, her ekibin teslim sürecinin tutarlı olması ve şirket içinde sürekli teslim standardının elde edilebilmesidir. , Ar-Ge ekibinin altta çeşitli takım zincirleri bulundurmasına gerek yoktur.

1. Netflix

İlk örnek Netflix. Netflix, açık kaynak topluluğunda çok büyük bir katılımcıdır ve dağıtım, paketleme ve diğer işlevleri yapmak için birçok açık kaynak araç geliştirmişlerdir. Bunların arasında Spinnaker adlı karma bir bulut ortamında dağıtım için bir araç var Spinnaker, Netflix'in bulut platformlarında dağıtım görevlerinin orkestrasyonunu gerçekleştirebilen açık kaynaklı bir projesidir. Netflix artık Amazon makinelerinde her gün 4.000 değişiklik yayınlamak için Spinnaker kullanıyor. Google Cloud ayrıca dağıtım için Spinnaker kullanıyor. Ayrıca oluştururken Jenkins kullanırlar ve bake adı verilen bir süreç vardır. Bake, uygulamayı bir aynada paketler ve ardından aynayı konuşlandırmayla dağıtır. Netflix'in DevOps uygulaması çok dikkate değer ve ayrıca incelemeye değer birçok proje ve açık kaynak aracı var.

2. Oracle

İkinci örnek Oracle. Oracle'ın bir veritabanı olduğunu hepimiz biliyoruz, ancak aynı zamanda çok büyük bir kurumsal yazılım şirketi. Şu anda 40.000 geliştirici durumdalar.Çok geleneksel uygulamalar ve çok büyük dağıtımlar vardı. . Oracle ayrıca konteyner bulutu konusunda zengin bir pratik deneyime sahiptir.Geçen yılın sonunda, her gün 1.5 milyon eşzamanlı Docker talebi aldılar ki bu oldukça havalı.

Karmaşık teslimat boru hattı

Bu, Oracle için daha önce büyük bir acı noktasıdır. Ardışık düzenleri çok karmaşıktır ve birçok eşzamanlı görev vardır, özellikle de çok zaman alan test planları. Örneğin, belirli bir görevin tamamlanması iki saatten fazla sürer. Şimdi ise Her geliştirici kodu gönderir, pozisyon için iki veya üç saat bekler ve ardından 40.000 geliştiriciyi iki saat ile çarpar.Bunun bir yılda maliyeti nedir? Bu nedenle, bu süreci optimize etmeye başlamalılar, bu nedenle hangi adımın en iyi zaman olduğunu bilmek için görsel bir araca ihtiyaçları var ve sonra hangi adımın ve hangi görevin optimize edileceğini, performans testi optimizasyonu yapılıp yapılmayacağını görmek için.

DevOps platformu dahili genişletmesi

Oracle, JFrog Artifactory'nin erken bir kullanıcısıdır. 2013 ile 2015 arasında, Ar-Ge merkezlerinden birinin belirli bir ambarındaki veriler bir buçuk yıl içinde 17 TB'tan 70 TB'ın üzerine çıktı. Bu, Ar-Ge merkezlerinden yalnızca biridir (Oracle'da 6 Bir Ar-Ge merkezi) Veriler 70 TB'yi aştığında bazı otomatik silme işlemleri yapmaya başladılar.Ben de bir şartnameden bahsetmiştim.Paket altı ay içinde kullanılmaz veya indirilmezse paket silinecek. Bunu yapmak için kullanacağım.

3. ING

Üçüncü örnek ING'dir. ING küresel bir finans devidir.Çin bankaları dünyanın en büyük 10 bankasından 6'sını oluştursa da, ING yabancı ülkelerde görece büyüktür.Geçen yıl 100 milyar ciroyu aştı ve küresel Ar-Ge merkezlerine de sahip. Şimdi birçok yerli finans şirketinin yüzleşmek zorunda olduğu şeylerle, yani geleneksel bir kalkınma modelinden gelişmiş bir DevOps modeline nasıl geçileceğiyle yüzleşmek zorundalar.

ING sürekli entegrasyonu

Geçmişte, ING'nin BT departmanının 1.000'den fazla ekibi vardı.Her ekibin kendi çevrimiçi süreci vardı. Her ekip çukuru tekrarlıyor ve lansmanı desteklemek için tekrarlanan işlevler geliştiriyordu. Bu nedenle ING, şirketin tüm BT departmanlarının şirketin tüm ekiplerine fayda sağlaması için birleşik ve sürekli bir dağıtım hattı oluşturmuştur.Aynı zamanda "CDaaS" olarak da adlandırılır ve uçtan uca çevrimiçi hizmetler sağlar.

ING sürekli teslimat

Dağıtım aracı Ansible, Puppet, XL Deploy, Nolio, Chef, vb. Gibi çeşitli dağıtım araçlarını destekler. Bu araçların tümü, paketi dağıtmadan önce JFrog Artifactory'den paketin karşılık gelen sürümünü alır.

ING çok dilli geliştirme

Dağıtılmışlarsa, Artifactory gibi birden çok araca da dağıtılabilirler çünkü farklı Ar-Ge merkezleri, farklı ekipler ve farklı araçlar dağıtım yapmak zorundadır. Dolayısıyla bu platform çok esnektir ve birçok ekibin çalışmasını destekleyebilir. Ayrıca Maven, Docker, NPM vb. Dahil olmak üzere çeşitlidirler ve hepsinin yönetmeye başlaması gerekir.

ING özel boru hattı

Hedefleri nihayet 600 ekibin desteğini elde etmek, kaynak kodunu çekip ardından bazı testler yaparak paketi Artifactory'ye yerleştirmek, dağıtım yapmak için bazı ücretli araçları kullanıyorlar ve Docker üzerinde birçok test çalıştırıyorlar. Kabın içinde. ING tarafından sağlanan birleşik teslim platformu, kod yönetimi, inşaat yönetimi, yapı yönetimi, dağıtım yönetimi, çevre yönetimi vb. Başlatmak için gerekli işlevleri kapsayan birçok araçla donatılmıştır ve ING'nin dahili BT ekibi için güvenilir bir teslimat hattı sağlar.

ING yüksek kullanılabilirlikli olağanüstü durum kurtarma

Finans sektörü daha çok yüksek kullanılabilirlikli afet toleransı ile ilgileniyor. Bu paketler afetlere dayanıklı olmalıdır. Daha sonra yüksek kullanılabilirlikli paket yönetimi yapabilir veya dağıtım için birden çok düğüm kullanabilirsiniz. Örneğin, Huawei'nin Shenzhen'de yedi Artifactory düğümü var, çünkü paralel olarak on binlerce geliştirme ekibini yüklemek ve indirmek zorunda kalıyorlar ki bu çok yüksek eşzamanlı bir yapıdır.

Yukarıdakiler esas olarak Netflix, Oracle ve ING'nin nasıl devop yaptığını açıklar ve devop'ları incelerken size bir yön sağlar.İlgilenen arkadaşlar Cisco ve JFrog'un nasıl devops yaptıklarını görebilir, bunların hepsi devops'ta yapılır. Daha başarılı.

Devop'lar hakkında daha fazlasını daha sonra paylaşacağım ve ilgilenen arkadaşlar bunu takip edebilir ~

Tam rezervasyon! Huawei Mate 10, premium alışveriş faaliyetlerinin ikinci dalgasını başlattı, ben de size satın alıp almayacağınızı sordum.
önceki
"Xue Jian" için ilk adayın Tang Yan olduğu ortaya çıktı ve o yılın makyaj fotoğraflarını gördükten sonra anında düştü.
Sonraki
Yaklaşık 500 km menzile sahip bu dört tamamen elektrikli araç hakkında konuşun
DevOps iniş üçlemesi: sorumluluk nasıl empoze edilir? Hangi araçları kullanıyorsun? Nereye gitmeli?
Kumar kralının kızı, havaalanında tekerlekli sandalyede göründü ve bir kraliçe gibi muamele gördü. Hamileydi ve 7 yaşındaki erkek arkadaşına bakmak için Amerika Birleşik Devletleri'ne gitti.
Haval H4: Başarılı modelin basit bir kopyası | Yeni araba yorumlanmalı
Jiangsu Radyo ve Televizyon Yetkilisi Mikro seslendirdi: "En Güçlü Beyin" hilelerinin takibi, netizenler adalet için sert bir şekilde yorum yaptı
Çinliler için tasarlandı! Duyguların kralı Nokia 9'un yeni amiral gemisi pozu: kavisli ekran + Snapdragon 835!
Weibo bazı yasa dışı hesapları yasaklıyor: aktör Zhao Lixin vb. Dahil.
Docker gelişmiş ağ yapılandırması Bağlantı noktası eşlemesinden özel köprüye
Yu Zheng yönetimindeki erkek sanatçıların pozlarını kaydetme! Hesap için söylenmemiş kurallar vardı, aynı zamanda iç hikayedeki haberi de kırdı
Evrendeki ilk X artefaktı! iPhone X, tanrı düzeyinde küçük kuyruğu yeniden üretir, netizenler: para için bir zorunluluktur!
Tümörü çıkarmak için beyni açmak için 700.000 servet kullandım! 41 yaşındaki TVB Xiaosheng Rehabilitasyon, "Forensic Pioneer 4" e katıldı
Tarihteki en kötü iPhone 8, Apple'dan çıktı! Cook'un yeni adlandırma yöntemi netizenler arasında hararetli tartışmalara yol açtı!
To Top