"Her şey koddur" ne anlama geliyor?

Kod odaklı teknoloji dünyasında, giderek daha fazla senaryo otomatikleştiriliyor. Altyapı bir ölçüde kod olarak değerlendirilebilir, bu cümle nasıl anlaşılmalıdır? Hangi tesisler dahil edilecek?

Yazar | Mitch Pronschinske

Çevirmen | Crescent Moon, Baş Editör | Tu Min

Üretildi | CSDN (ID: CSDNnews)

Aşağıdaki çeviridir:

İnsanların genellikle "xxxx koddur" veya "her şey koddur" dediklerini anlayamayabilirsiniz. Aslında, sadece otomasyon hakkında konuştuğumuzu bilmeniz gerekir: sıkıcı görevleri yerine getirmek için otomasyonu kullanırız veya bir görev çok büyük ve karmaşık olduğunda Manuel olarak ele alınamadığında, otomasyonu düşünün.

"Xxxx koddur" terimi "altyapı koddur" kelimesinden gelir ve geliştirme ve çalıştırma ve bakım hareketi - BT operasyonları / sistem yöneticileri ve geliştiriciler, yeniden kullanılabilir kod aracılığıyla BT ortam değişikliklerini otomatikleştirmek için birlikte çalışır ve Kod, sürüm kontrollüdür, tıpkı geliştiricilerin yıllar önce uygulama kodu değişikliklerini işlemek için bu yöntemi kullandıkları gibi.

Geliştiriciler bir süredir yazılım teslim sürecini otomatikleştiriyorlar, ancak BT altyapı işlemleri / sistem yöneticileri yalnızca son on yılda yakaladı. Sistem yöneticileri de otomasyonu kullanır, ancak genellikle bazıları yetersiz organize edilmiş olan bir dizi manuel olarak tetiklenen komut dosyası aracılığıyla. Günümüzde geliştiriciler, bu gelişmeyi teşvik etmek için işletim ve bakıma yardımcı olurlar.Amaç, yazılım üretim sürecindeki darboğazları azaltmak ve aynı zamanda çoğu yazılım üretim sürecini otomatikleştirmek ve birçok manuel yönetimden kurtulmaktır.

Peki bu kodlar nereden geliyor? Bunu anlamak için, önce yazılım üretiminin her aşamasına bir göz atalım ve hangi parçaların "kod olarak xxx" ile otomatikleştirildiğini görelim. Bu makaleyi, yazılım geliştirme yaşam döngüsündeki hangi alanların iyi otomasyon ve soyutlama sağladığını tanıtmak ve hangi alanların hala yeni otomasyona ihtiyaç duyduğunu düşünmek ve "her şeyin kod olduğu" nerede geçerli olduğunu anlamak için kullanmayı umuyorum. Umarım bu makale aracılığıyla "xxx koddur" kavramı hakkında bilgi edinebilir ve hangi araçların yeni ve kullanışlı olduğunu ve hangi araçların sanal olduğunu ayırt edebilirsiniz.

Plan / talep / tasarım

Bu aşama, programlama çalışmasının başlamasından öncedir. Bu aşamada, iş ve teknik paydaşlara dayalı gereksinimleri oluşturmamız, yazılım planlarını formüle etmemiz, mimari ve UI tasarım çizimleri ve tel kafes tasarım çizimleri çizmemiz gerekiyor.

Kod olarak mimari

Koddan yazılım mimarisi modelleri oluşturma pratiği bir süredir ortalıkta dolaşıyor. Bu şekilde grafikler oluşturmak için Structurizr gibi araçları kullanabilir ve bunları sürüm kontrolüne uygulayabilirsiniz. Ancak onlarca yıldır geliştiriciler, farklı sonuçlarla uygulama modelleri oluşturmak için çeşitli yöntemler denediler.

10-20 yıl önce, model güdümlü geliştirme kavramı bir zamanlar çok popülerdi, ancak ana akım geliştirmeye hiçbir zaman uygulanmadı. Bu konseptin temel dayanağı, yazılım bileşenlerini modellemek ve programlama gereksinimlerine göre tüm ilk uygulamayı oluşturmak için UML veya EMF gibi modelleme dillerini kullanabilmenizdir.

Model odaklı geliştirme büyük ölçüde ana akım tarafından geliştirilmiş olsa da daire Yoksay, çünkü genellikle bu mod çok fazla ön tasarım gerektirir, ancak NASA gibi ön tasarım gerektiren bazı alanlar hala kullanımdadır.

"Kod olarak mimari" teriminin ortaya çıkan kullanımına dikkat edin: AWS ve diğer geliştiriciler, üst düzey altyapıyı kod kalıpları olarak tanımlamak için bu terimi kullanır. Açıkçası, bu yukarıda bahsettiğim uygulama düzeyinde mimariden farklı. AWS'nin kod olarak mimarisi, kapsayıcı koordinatörü yapılandırması, yük dengeleyici, güvenlik grubu ve IAM rolü vb. Gibi altyapı mimarisini ifade eder. Bu mimariler yeniden kullanılabilir şablonlarla tanımlanır ve bu şablonlar belirli Yük dengeleyicinin arka planındaki API hizmeti, kuyrukta çalışma veya planlanmış çalışma vb. Gibi hizmet türü.

Bu şablonlar, konteyner koordinatörü yapılandırmaları, yük dengeleyiciler, güvenlik grupları ve IAM rolleri gibi önceden tanımlanmış yapılandırmalar aracılığıyla bileşenleri otomatik olarak sağlayabilir. Terraform modülleri, Kubernetes özel kaynak tanımları ve genel bulut sağlayıcıları tarafından sağlanan çeşitli yapıların tümü, bu anlam altında kod olarak mimariyi içerir.

Kod ve iskele projesi olarak proje

Bununla birlikte, kod üretmek için model güdümlü geliştirme kavramı, programlamanın kendisi kadar eskidir. Ruby, Python veya Java'yı C koduna dönüştüren derleyicilerin tümü oluşturuculardır. Bugün, acemi ön uç programcılar bile kod üretiminin önemini anlıyor, çünkü bu size standart kod yazarken zaman kazandırabilir.

Ruby on Rails iskelesini çalıştırırken, çalıştırdığınız kod diğer koddan (şablon veya çerçeve uygulaması) uyarlanır, böylece sıfırdan başlamanız gerekmez. Popüler ve popüler ön uç çerçeveler (Bootstrap ve Foundation gibi) duyarlı UI şablon çerçeveleridir. Web'de popüler olmalarının nedeni, hazır CSS bileşenlerinin ve mobil cihazlarla uyumlu dinamik bileşenlerin bir web sitesi oluşturmanın iş yükünü azaltabilmesidir.

Bu kategoride otomasyon için çok yer var Son birkaç yılda, "kod olarak proje" (uygulama odaklı kod tabanı ve teslimat boru hattı ayarları) geliştirme, işletme ve bakım hareketinde kapsanmayan boşlukları doldurdu. Bazı araçlar (JavaScript projeleri için Yeoman ve Java projeleri için JHipster gibi) en temel işlevleri ve esnek çerçeveleri sağlar.Projeler oluşturmak için sırasıyla Node.js ve Spring Boot + Angular'ı kullanabilirsiniz. Microsoft Azure gibi bulut satıcıları, teslimat ardışık düzenlerini kurmak için araçlar oluşturuyor. Başka bir şirket realMethods, veritabanı şeması veya modelleme gereksinimlerini elde edebilen bir araç geliştirdi ve bu verileri, belirli bir teknoloji yığını için çerçeve kodu oluşturmak için, yanı sıra derleme ve yapılandırma dosyaları, CI / CD manifest dosyaları YAML, Docker Dosyalar ve görüntüler, Kubernetes küme yapılandırması ve Terraform yapılandırma dosyaları.

"Kod olarak proje", üretimi savunan gelişen tür için uygundur. Ekstrem sürümlerin oluşturulmasını savunurlar veya minimum uygulanabilir ürünler konseptini vurgular: Kod tabanında yalnızca tek bir yardım belgesi olan bir uygulamayı dağıtmak istemeseniz de, onu oluşturmanıza gerek yoktur. Tamamen işlevsel uygulama. Web uygulaması üretimindeki bir uç nokta gibi basit bir çerçeve uygulamasını hızla dağıtmak için yalnızca otomasyon modunu ve işlem hattını ayarlamanız gerekir ve uç nokta, 200 durum kodlu bir yanıt döndürebilir.

Kod olarak uygulama ortamı

Yıllar geçtikçe, sanal makinelerin, konteynerlerin ve çeşitli diğer yazılım üretim ortamlarının soyutlanması, geliştiriciler için bir nimet oldu, çünkü bu teknolojiler sürekli olarak gelişiyor ve yönetilmesi daha kolay. Şablon ortamını otomatik olarak başlatıp rahatça kod yazmaya başlayabildiğinizde, işletim ortamını manuel olarak ayarlamanın neden olabileceği 100 tür sorunu denemek ve hata ayıklamak isteyen biri nasıl olabilir?

Vagrant ve daha sonra Docker (ve genel kapsayıcılar) gibi teknolojiler, geliştirme ortamının kurulumunu basitleştirir. Kapsayıcılar ve kapsayıcı düzenleyicileri (Kubernetes veya Nomad gibi) çevik, izole edilmiş ve uygun şekilde yapılandırılmış bileşen dağıtım ortamlarını kullanan popüler araçlar haline geldi.

Bu araçları, kod biçiminde sistem bağımlılıkları sağlıyor olarak düşünebilirsiniz. Dockerfile, bu bağımlılıktaki kod ve şablondur (programlama dilinin sürümü veya veritabanının sürümü gibi) ve Docker, bu bağımlılıkları çalıştırmak ve tatmin etmek için bir araçtır.

sürüm kontrolü

Sürüm kontrolü, ilk tamamlanan koddan birkaç yıl sonraki son ürün yamasına kadar her şeyi kapsayan bir aşamadır, sürüm kontrolü çalışır. Çoğu acemi geliştirici bile, sürüm kontrolünün modern geliştirme için vazgeçilmez olduğunu çabucak anlamaya başladı. Sürüm kontrolü; izleme, geliştirme yönetimi, rekabet durumu yönetimi ve diğer birçok işlevi koda dönüştürür.

Günümüzde GitHub, GitLab ve BitBucket gibi sürüm kontrol sistemleri, entegre sürekli entegrasyon (CI), belge oluşturma, dağıtım ve diğer işlevleri sağlayan çoğu yazılım üretim hattının merkezi sinir sistemi haline gelmiştir.

Yazılım üretiminin farklı unsurlarını kodlamanın en büyük nedenlerinden biri, kodu sürüm kontrolüne koyabilmemiz ve akıllıca yönetebilmemizdir. Birçok kuruluş, sürüm denetimini o kadar yararlı buluyor ki, sürüm denetimini olması gerekenin ötesine genişletiyorlar.

Geliştirme

Bu aşama ilk kod gönderiminden sürüm kontrolüne kadar başlar ve yazılım bakıma girene kadar devam eder. Lütfen planlama-geliştirme-dağıtım-toplama geri bildirim döngüsünün çok hızlı olabileceğini unutmayın (genellikle olması gerektiği gibi), bu nedenle bu aşamanın kapsamı, tüm projenin oluşturulmasından küçük bir kod değişikliği satırına kadar çok geniş bir kapsamdadır.

otomatik test

Test, çoğu geliştirme iş akışının önemli bir parçasıdır ve test çerçevelerine duyulan ihtiyaç, programlama tarihinin erken dönemlerinde öne çıkmıştır. Tüm test türlerinin otomatikleştirilmesi gerekmese de ve olası her kullanıcı arayüzü kullanıcı akışı için testler yazmak istemeseniz de, neredeyse her geliştirme ekibinin otomatik testi benimsediğine şüphe yoktur.

Birim testleri genellikle geliştirme ekibi tarafından yazılır ve aynı zamanda otomatik testler listesinde yer alır. Kod gönderildikten sonra, entegrasyon testleri ve UI testleri genellikle paketlenir ve birim testleri ile birlikte çalıştırılır. Bazı testlerin derlemeden önce çalıştırılması gerekir ve bazıları derlemeden sonra çalıştırılır. Test çerçevesi tarafından sağlanan otomatik kontrol, hata yakalama ve kod inceleme işlevleri, modern yazılım geliştirmede vazgeçilmezdir.

Her programlama dili ekosisteminin kendi test çerçevesi vardır, bunlardan bazıları "kod olarak test" uygulamak için dilin kendisini kullanır ve bazıları özel sözdizimi kullanır.

  • Popüler JavaScript test çerçeveleri Jest ve Mocha'yı içerir

  • Popüler Java test çerçeveleri arasında JUnit ve Spock bulunur

  • Popüler Ruby test çerçeveleri arasında RSpec ve Minitest bulunur

  • Popüler tarayıcı otomatik test çerçeveleri arasında Selenium ve Cypress bulunur

Otomatik derleme ve bağımlılık yönetimi

Otomatikleştirilmiş yapının geliştirilmesinin uzun bir geçmişi vardır. Temel fikir, geliştiricilerin inşaatta hızlı bir şekilde ustalaşmalarını kolaylaştırmak ve proje sürümlerini oluştururken kendilerini bir dizi karmaşık manuel görevden kurtarmaktır. Geliştiriciler, yazılı kodu çalıştırmak için araçları kullanabilir. Listeyi kontrol edin ve yanlışlıkla atlamadan derleme sürecini otomatikleştirin.

Aşağıdaki görevleri içeren karmaşık bir ortam oluşturmanız gerektiğinde, otomatikleştirilmiş inşaat çok faydalıdır:

  • Kod üretimi

  • derleme

  • Balya

  • Meta veri özelleştirme

  • Ve diğeri

Java ortamında bu, yapılandırmanıza dayalı olarak DAO'lar oluşturmak veya sınıf eşleme kodu (JAXB gibi) üretmek anlamına gelebilir.

Otomatik yapı, farklı ortamlardaki farklılıkları telafi etmeye de yardımcı olur - yerel olarak teslim edilse bile, bağımlılık eksikliği veya başka nedenlerden dolayı üretim ortamında yine de başarısız olabilir. Bu otomatikleştirilmiş derleme araçları, tüm kitaplıkları ve diğer yapı parçalarını sıralayacak ve başka bir bağımlılık yönetimi biçimi sağlayacaktır.

Geliştiricilerin otomatik derlemeyi tamamlamak için yalnızca bir komut çalıştırması veya bir düğmeyi tıklatması gerekir. Bazı durumlarda, otomatikleştirilmiş derlemeler otomatikleştirilmiş bir olaylar zinciri bile oluşturacaktır.Geliştiricilerin herhangi bir işlem gerçekleştirmesine gerek yoktur, sadece kodu göndermeniz yeterlidir ve yapı yöneticisi otomatik olarak çalışacaktır.

Çoğu genel programlama dili, topluluk tarafından önerilen otomatik derleme araçlarına sahiptir:

  • JavaScript: Node.js + npm + Webpack

  • Java: Gradle ve Maven

  • Yakut: Tırmık

  • C #: MSBuild

  • C: Yap

Sürekli Entegrasyon / Sürekli Teslimat (CI / CD)

Genellikle, her şeyi kapsayan araçları ve uygulamaları tanımlamak için CI / CD kullanırız. Kod, üretimle daha sık bir şekilde birleştirildikçe, bu araçlar ve uygulamalar derleme, test ve dağıtım otomasyonu uygulamalarını entegre eder ve çoğu her gün yürütülür Zamanlar.

Sürekli entegrasyon, kod dallarını uygulama kaynak kodunun ana hat sürümüyle sık sık birleştirmek için CI özel sunucuları kullanma uygulamasıdır Birleştirme sırasında bir hata oluşursa, ilgili kod işaretlenir. Sürekli teslim kavramı, yeni gönderilen kodu uygulamanın en son konuşlandırılmış sürümüne yansıtmak için bir dizi otomasyonun kullanılması anlamına gelir. Bu dağıtım aracı, otomatik testler, CI, otomatikleştirilmiş yapılar ve uygulamalar için yeni kapsayıcılar oluşturmak gibi diğer dağıtım görevlerini otomatik olarak çalıştıracaktır.

Günümüzde çoğu CI aracı, işlevsellik açısından CI kapsamının ötesindedir. Geliştirme veya sürüm mühendisliği ekibi, derleme adımlarını kodlayabilir ve hatta derlemenin çıktısını kod olarak kullanabilir. Ardından, sürüm kontrolü ve uygulama kodunun izlenmesi için CI / CD yapılandırmasını kullanın. Şu anda en popüler CI platformu Jenkins'dir ve Jenkinsfile kodudur. YAML, bazı insanlar görmek istemese de, bu tür CI platformlarında yaygın bir yapılandırma dilidir.

En popüler dört CI motoru şunları içerir: Jenkins, TravisCI, CircleCI ve TeamCity.

Operasyon

Yazılım üretiminin çeşitli aşamalarında, insanların başka bir kısmı işletme aşamasından sorumludur (küçük bir kuruluşta durum böyle olmasa da) ve genellikle bu kişiler, geliştiricilerden farklı teknik becerilere sahiptir. Operasyonlarda yer alan personel, sistem yöneticileri, operasyon mühendisleri, geliştirme operasyonları ve bakım mühendisleri ve diğer pozisyonları içerir.

Bu aşamadaki çalışma, uygulamayı çalıştırmak için gereken fiziksel ve sanal donanımın yönetilmesini ve sağlanmasını içerir. Günümüzde birçok profesyonel operatörün yalnızca fiziksel bilgisayarın üzerindeki soyutlama ile uğraşması gerekiyor.

Konfigürasyon yönetimi

Bu çalışma kategorisi çok geniş gibi görünmektedir, ancak çoğu yazılım mühendisliği çevrelerinde konfigürasyon yönetimi, bireysel makine tanımları yazmak için kullanılan araçları ifade eder. Bu araçlar, mevcut sunucularda işletim sistemi yapılandırmalarını kurmaktan ve yönetmekten sorumludur.

Dört ana yapılandırma yönetim aracı arasında Chef, Puppet, Ansible ve Salt bulunur. BT altyapı yönetiminin geliştirilmesi için birincil araçtır (tıpkı sürüm kontrolü kapsamında testler, derlemeler, CI uygulamaları ve bu belgeleri yazan geliştiriciler gibi) ve "kod olarak altyapı" nın ve geliştirme operasyon ve bakım hareketinin temel itici gücünü oluştururlar. .

Avantajları, değişmez bir altyapı oluşturma yeteneğinde yatmaktadır: Bu, operatörün mevcut bilgisayar yapılandırmasını sürekli olarak güncellemesine gerek olmadığı, yalnızca mevcut bilgisayarı her seferinde durdurması, ardından yeni bir bilgisayar başlatması ve şablonu güncellemesi gerektiği anlamına gelir. Yapılandırma yönetim aracından yeni başlatılan bilgisayara geçiş yapın, böylece her değişikliğin yeniden başlatılması gerekir. Bu kulağa aşırı gelebilir, ancak karmaşık bir BT işletim ortamında, bilgi eklerken veya güncellerken olası hataları ortadan kaldırmak daha güvenlidir.

Kod olarak altyapı

Kod olarak altyapı birçok araç sağlar.Altyapı bileşenlerini yapılandırmak için şablonlar sağlamanın yanı sıra, bu araçlar altyapının kendisine de hizmet edebilir. Giderek daha fazla kuruluş tek tıklamayla bulut altyapısını benimsemeye başladıkça, kod olarak altyapı daha kolay hale geliyor.

Bu tür araçları sağlayan sistemler, yalnızca Azure için AWS için CloudFormation, ARM ve Terraform'u içerir; ikincisi, tüm büyük bulut sağlayıcıları için ayarlar sağladığı için daha popüler bir açık kaynak aracıdır. Bu sistemler, altyapının karmaşıklığını büyük ölçekte yönetebildiği için, operatörlerin altyapı ile etkileşim kurması için ana arayüzlerden biri haline geldi.

Geliştiricilerin "her şey koddur" ifadesini kullanmasıyla ilgili olarak, bu makale ortaya çıkan bu terimin yüzeysel anlamını sunsa da, aslında daha genel anlamı, geliştiricilerin kod olarak altyapı gibi esnek durum motorlarıyla dolu olduğunu ifade eder. Özellikle Terraform gibi büyük ilgi, altyapıdan çok daha fazlasını otomatikleştirebilir. 1Password ve Google Takvim gibi ofis araçlarını otomatikleştirmek için eklenti benzeri programları kullanabilir ve ayrıca CI / CD ardışık düzen işlemlerini otomatik olarak gerçekleştirmek için GitHub tarafından sağlanan programları kullanabilir. Bu tür bir aracı, birden fazla özelleştirilmiş otomasyonu tek bir yerde toplamak için kullanabiliriz.

Kapsayıcı / küme düzenleyici

Kapsayıcı düzenleyicisi, dağıtımı ve yönetimi kolayca genişletmek için kapsayıcılardan yararlanabilir. Sanal makineler de bu yaklaşımdan yararlanabilir.

Konteyner düzenleyicisinin çekirdeği, bulut / sanal altyapı kullanımını optimize edebilen akıllı bir sistem olan küme planlayıcıdır ve uygulamanız Tetris gibidir. Esasen, planlayıcı, yapılandırma dosyası tarafından belirlenen kuralları okur ve ardından istediğiniz sayıda uygulamayı, hizmeti veya bileşeni (yük dengeleyiciler vb.), Parametrelerinize göre ve altyapı için en uygun şekilde kapsayıcıya veya sanal ortama dağıtır. tahtada.

Orkestratör, diğer birçok fonksiyona sahip Kubernetes'i ve zamanlamaya daha fazla odaklanan Nomad'ı içerir.

Güvenlik ve uyumluluk

Güvenliği geliştirmeden sonra koymamalıyız, ancak birçok kuruluş güvenliği en sona koyma eğilimindedir. BT güvenliği alanındaki liderler genellikle güvenlik ve uyumluluğun, ister manuel ister otomatik olsun, yazılım üretim yaşam döngüsü boyunca yürütülmesi gerektiğine inanırlar.

Kod olarak güvenlik

Kelimenin tam anlamıyla, güvenlik, kodun biraz geniş olduğu anlamına gelir, ancak yazılım üretiminin tüm alanlarında otomatik güvenlik önlemleri uygulamalıyız. Bu otomatik işlemler şunları içerir:

Planlama ve tasarım

  • İlk tehlike modelini oluşturun

  • Otomatik olarak güvenlik testleri oluşturan şablonlar oluşturun

Geliştirme ve test

  • Güvenlik odaklı statik analiz: SonarQube, FindBugs, Checkmarx

  • DAST ve sızma testi gibi dinamik güvenlik testi otomasyonu: FindBugs, Checkmarx, OWASP ZAP, ThreadFix

  • Üçüncü taraf bileşen risk analizi ve uyarısı: Snyk, BlackDuck, WhiteSource

  • Kimlik bilgileri / gizli veri yönetimi: HashiCorp Vault, AWS Secrets Manager

Dağıtım ve üretim

  • Uygulama ve altyapı kodunun konfigürasyon kontrolü: Burp, Hardening.io

  • İzleme ve uyarı: Snort, OSSEC

  • Üretim kaos testi ve sızma testi: Gauntlt, Mittn ve Simian Ordusu

Yukarıda bahsedilen "xxx koddur" uygulaması güvenliği de geliştirebilir, çünkü bu otomatik işlemler, birçok insan hatasını ortadan kaldırabilen ve güvenlik açıkları yaratma olasılığını azaltabilen yetkilendirilmiş, tekrarlanabilir ve denetlenebilir işlemler oluşturur.

Kod olarak politika / Kod olarak uyumluluk

Kod olarak politika, CI / CD ardışık düzeninin kapısına benzer. Bazı testler başarısız olursa veya yapı kesintiye uğrarsa, CI / CD ardışık düzeni kod birleştirmeyi durdurur. Aslında, çoğu politika veya kod çerçevesi doğrudan sürüm kontrol sistemine entegre edilmiştir. Kod olarak bazı politikalar, büyük ölçekli güvenlik yönetimi ve güvenlikle ilgili uyumu içerir, bu nedenle bir anlamda kod olarak güvenliğe de aittir. Bununla birlikte, kod olarak politikalar, çeşitli diğer proje yönetimi kuralları için de kullanılabilir.

Bazen, belirli kullanıcıların sağlayabileceği altyapı türünü veya miktarını sınırlamak istersiniz. Bazen mühendisin oluşturulan kaynakları etiketlemesini istersiniz. Politikaların kod olarak kullanılması için sayısız olasılık vardır.

Açık kaynak kod olarak politika çerçeveleri, Açık Politika Aracısı ve Şef InSpec'i içerir. Bazı şirketler, daha derin ve daha profesyonel politikalar oluşturabilen HashiCorp'un Sentinel çerçevesi gibi altyapı yönetimi ürünlerine kod olarak politikalar oluşturur.

"Xxx koddur" un amacı, verimliliği, güvenliği veya içgörüyü artırmaktır

Şüphesiz, gelecekte daha fazla "kod olarak xxx" teknolojileri olacaktır. Ancak bu teknolojilerin otomasyon ve soyutlama olduğunu unutmamalıyız. Yeni bir aracı anladığımızda, otomatikleştirilmiş yazılım üretiminin tam alanını ve herhangi bir yenilik içerip içermediğini anlamalıyız.

İşlemleri otomatikleştirmek için bir yapılandırma kodu kullanmanın faydaları çoktur. Otomasyonu uygularken şunları yapmanız gerekir:

  • Organizasyon, statik analiz ve uyarılar yoluyla büyük organizasyonlarda kod tutarlılığını güçlendirin.

  • Test yoluyla otomatik çalışmanın güvenilirliğini sağlayın.

  • Kullanmak üzere otomasyon dilini bilen herkes için evrensel bir dil seçin.

  • Önceden paketlenmiş en iyi uygulama otomasyon modülleri aracılığıyla otomasyon dışı profesyonel ekiplerin yükünü azaltın.

  • Model aracılığıyla, otomatikleştirilmiş boru hattı operasyonlarının genel kavramını anlayın.

Umarım bu makaleyi okuduktan sonra işinize biraz otomasyon eklemeyi düşünmeye başlarsınız.

Orijinal: https: // hackernoon .com / her şeyi kod olarak açıkladı-0ibg32a3

Bu makale bir CSDN çevirisidir, lütfen yeniden basımın kaynağını belirtin.

Son

Ağır! Shandong 24.77 milyon ödül kazandı! Onaylandı: piyango biletinden
önceki
Zafer Kralı: 25 yıldızın kralı Fengyi'nin Fermanı'nı açabilir mi? Aslında şansın yok
Sonraki
6 akü şirketi 590 modül tasarım yolu
570 milyon yuan! Eyalet hükümeti yeni yayınladı, konu eski topluluk hakkında ...
Çok fazla iOS hatası var, Apple nihayet yerinde duramıyor
King of Glory: Invincible Sagittarius şu anki sürümde mi? Bu kahramanlar onu dakikalar içinde bahara geri gönderir
Bu tür bir programcı Baidu ve Ali'nin sevgilisi haline geldi ve her dakika yeni mezunların hepsini öldürdü.
Zafer Kralı: Sirius Conquerorın yumurtası Cao Cao, sınırlı bir KPL kostümü olmayı hak ediyor
Baofengyingyin resmi web sitesi ve uygulaması kapatıldı; Sanayi ve Bilgi Teknolojileri Bakanlığı "hesap numarasını taşıma" deneme işlemini özetliyor; Zorin OS 15 Lite yayınlandı | Geek Manşet
Hong Kong polisi kapta kaplumbağaları yakaladı ve oyun tarzlarını değiştirdi. İsyancılar "feryat etmeye" başladı.
Zafer Kralı: Cao Cao Xi, KPL Sirius'un yeni cildinden, moda ve çekiciliğin enkarnasyonundan bahsediyor
Harbin Teknoloji Enstitüsü Yapay Zeka Araştırma Enstitüsü Dekanı Liu Jie: AIoT'nin özü "zeka" dır, ancak "bağlantıda" değil, bulut-yan-uç işbirliği gerektirir
Glory of the King: AG Super Play'e karşı QGhappy Flying Bull ve ardından Luna'nın Maskot Taş Çekiçini alın
Yerel Çekim Haberleri | Daowai Bölgesi, 55153,1 metrekarelik bir alana sahip başka bir kulübe ve yeniden düzenlenmiş araziye sahip
To Top