DevOps (ket hop cua cum tu tieng Anh "software DEVelopment" va "information technology OPerationS") la mot thuat ngu đe chi mot tap hop cac hanh đong trong đo nhan manh su hop tac va trao đoi thong tin cua cac lap trinh vien va chuyen vien tin hoc khi cung lam viec đe tu đong hoa qua trinh chuyen giao san pham phan mem va thay đoi kien truc he thong. Đieu nay nham thiet lap mot nen van hoa va moi truong noi ma viec build (bien dich phan mem), kiem tra, va phat hanh phan mem co the xay ra nhanh chong, thuong xuyen, va đang tin cay hon.


Tong quan Theo truyen thong, cac to chuc co su phan chia chuc nang phong ban rat hiem khi co mot phong ban giu chuc nang tich hop ca chuc nang cua phong IT. Nhung DevOps đe xuong mot phuong thuc moi giup trao đoi va hop tac giua cac phong ban phat trien phan mem, quan ly chat luong phan mem (QA) va phong IT. Trong mot so to chuc, su hop tac nay lai đuoc thuc hien bang cach "nhung" chuyen vien IT vao trong nhom phat trien phan mem, do đo tao thanh mot đoi đa chuc nang –  đieu nay co the cung đuoc ket hop voi ma tran quan ly.


Lich su Tai hoi nghi Agile nam 2008, Andrew Clay Shafer va Patrick Debois đa thao luan ve "co so ha tang Agile". Thuat ngu DevOps đuoc pho bien thong qua mot loat cac series "devopsdays", bat đau tu nam 2009 o Bi. Ke tu đo, đa co cac hoi nghi devopsdays đuoc to chuc o nhieu quoc gia tren toan the gioi.


Chuoi cong cu DevOps (DevOps toolchain) Boi vi DevOps la mot su thay đoi ve van hoa va hop tac (giua cac nhom phat trien, đieu hanh va kiem thu phan mem) nen khong co duy nhat mot "cong cu DevOps" ma thay vao đo la chuoi cong cu DevOps bao gom nhieu cong cu. Thong thuong, chuoi cong cu DevOps dung đe lam cong viec phu hop voi mot hoac nhieu the loai, đieu nay phan anh cac khia canh chu chot cua su phat trien phan mem va qua trinh phan phoi phan mem:

Ma nguon (Code) - phat trien va phe duyet ma nguon, cong cu quan ly phien ban ma nguon, tron ma nguon;
Bien dich (Build) — cong cu Tich hop lien tuc va trang thai build;
Kiem thu (Test) — kiem thu va xac đinh ket qua hieu suat thuc thi;
Đong goi (Package) — kho luu tru Artifact, cac giai đoan cua ung dung truoc khi trien khai;
Phat hanh (Release) — quan ly thay đoi, chap thuan phat hanh, phat hanh tu đong;
Cau hinh (Configure) — cau hinh co so ha tang va quan ly, cac cong cu ve co so ha tang dang ma nguon;
Giam sat (Monitor) — giam sat hieu suat ung dung, trai nghiem nguoi dung cuoi.
Mac du co rat nhieu cong cu, nhung trong mot so to chuc, chi mot so loai trong đo la can thiet đe thiet lap chuoi cong cu DevOps. Mot so noi co gang xac đinh nhung cong cu co ban đe co the tim trong cac danh muc co san.
Cac cong cu nhu Docker (container), Jenkins (Tich hop lien tuc), Puppet (Ma nguon nhu la co so ha tang - IaC) va Vagrant (nen tang ao hoa)—trong so nhieu thu khac—thuong đuoc su dung va thao luan khi noi ve chuoi cong cu DevOps.


Moi quan he voi Agile va Phan phoi Lien tuc (Continous delivery) = Agile =
Agile (Phat trien pham mem linh hoat) va DevOps tuong tu nhau, nhung trong khi Agile đai dien cho mot su thay đoi trong suy nghi va thuc hanh (dan đen su thay đoi to chuc), DevOps co trong tam nhieu hon ve viec thuc hien thay đoi co to chuc đe đat đuoc muc tieu cua minh.
Su can thiet DevOps đuoc sinh ra tu su pho bien cua phat trien phan mem linh hoat (Agile), la xu huong dan đen su gia tang so luong cac ban phat hanh.
Mot muc tieu cua DevOps la thiet lap mot moi truong noi phat hanh nhieu ung dung đang tin cay hon, nhanh hon va thuong xuyen hon. Cac nha quan ly phat hanh bat đau su dung cac cong cu (nhu cac cong cu phat hanh ung dung tu đong va tich hop lien tuc) đe giup thuc hien muc tieu nay— bang cach lam gi đo thong qua viec tiep can quy trinh phan phoi lien tuc.


= Phan phoi Lien tuc (Continuous delivery) =
Phan phoi lien tuc (CD) va DevOps tuong tu nhau o y nghia (va thuong pha tron vao nhau), nhung chung la hai khai niem khac nhau:

DevOps co mot pham vi rong hon, va xoay quanh mot trung tam:
Thay đoi co to chuc: đac biet đe ho tro su hop tac lon hon giua cac loai nhan vien khac nhau khi tham gia vao viec phan phoi phan mem:
Nha phat trien phan mem;
Nha đieu hanh he thong phan mem;
Đam Bao Chat Luong;
Quan ly;
....
Tu đong hoa qua trinh trong phan phoi phan mem.
Phan phoi Lien tuc, tren khia canh khac, la mot cach tiep can đe tu đong phan phoi, va tap trung vao:
Đua cac qua trinh khac nhau vao cung nhau;
Thuc hien chung nhanh hon va thuong xuyen hon.
Chung co chung muc tieu cuoi cung, va thuong su dung ket hop, đe đat đuoc chung. DevOps va Phan phoi lien tuc chia se mot nen tang trong cac phuong phap Agile va Lean: cac thay đoi nho va nhanh chong tap trung vao viec mang lai gia tri cho nguoi dung cuoi. Chung đang đuoc truyen đat tot va hop tac trong noi bo, do đo giup đat đuoc thoi gian ra thi truong nhanh, giam rui ro.


Muc tieu Cac muc tieu cu the cua DevOps la đe ket noi toan bo pipeline (đuong ong) phan phoi. Chung bao gom viec thuong xuyen cai tien su trien khai, co the dan đen:

Co thoi gian ra thi truong nhanh hon;
Ha thap ty le that bai cua ban phat hanh moi;
Rut ngan thoi gian giua cac lan sua chua;
Nhanh hon co nghia la co thoi gian đe phuc hoi (trong truong hop mot phien ban moi hong hoac neu khong thi vo hieu hoa he thong hien tai).
Tiep can DevOps giup đon gian hoa quy trinh, nang cao kha nang lap trinh va nang đong. DevOps nham muc đich đe toi đa hoa du đoan, hieu qua, an ninh va bao tri cac qua trinh hoat đong. Rat thuong xuyen, tu đong hoa ho tro muc tieu nay.


= Loi ich cua DevOps =
Cac cong ty ap dung DevOps cho thay ho đat đuoc mot so loi ich đang chu y nhu: rut ngan thoi gian đua san pham ra thi truong, nang cao su hai long cua khach hang, chat luong san pham tot hon, phat hanh nhieu san pham đang tin cay hon, nang cao hieu suat va hieu nang,..
Tuy nhien, mot nghien cuu phat hanh vao thang gieng 2017 boi F5 dua tren gan 2,200 giam đoc đieu hanh IT va chuyen gia nganh cong nghiep cho thay rang chi co mot phan nam so nguoi khao sat nghi rang DevOps đa co mot chien luoc tac đong vao to chuc cua ho mac du gia tang trong viec su dung. Cung mot nghien cuu cho thay rang chi 17% xac đinh DevOps nhu chia khoa phat trien, xep duoi phan mem dang dich vu (42%), du lieu lon (41%) va cloud dang dich vu (39%).


Thay đoi van hoa DevOps khong đon thuan la cong cu hay quy trinh, no yeu cau su thay đoi van hoa co to chuc. Su thay đoi van hoa nay đac biet kho khan, boi vi su mau thuan ve vai tro cua cac phong ban: 

Operations (Đieu hanh) — tim kiem su on đinh co to chuc;
Developers (Lap trinh vien) — muon thay đoi;
Testers — muon giam rui ro.
Tap hop cac nhom nay đe lam viec chung mot cach chat che — la mot thach thuc quan trong trong moi truong doanh nghiep đe co the ap dung DevOps.


= Xay dung mot nen van hoa DevOps =

Nguyen tac lon nhat cua DevOps la su giao tiep lien phong ban - team buiilding va khuyen khich nhan vien hoat đong - đe tao mot moi truong thuan loi cho su lien lac nay. Team building co the bao gom choi tro choi, hoi thao.


Trien khai Cac cong ty thuong xuyen phat hanh phien ban phan mem co the trien khai DevOps. Vi du, cong ty ve luu tru hinh anh tren trang web Flickr phat trien mot phuong phap DevOps, ho tro yeu cau trien khai 10 lan moi ngay. Đieu nay đuoc goi la Trien khai lien tuc hoac Phan phoi lien tuc va đa đuoc ket hop voi cac phuong phap Lean. Cac nhom lam viec, cac hiep hoi chuyen nghiep va blog đa đuoc hinh thanh theo chu đe DevOps tu nam 2009.


DevOps va kien truc Đe thuc hanh DevOps mot cach hieu qua, phan mem phai đap ung mot tap hop cac yeu cau đac biet ve kien truc (architecturally significant requirements - ASRs) nhu: co the trien khai, thay đoi, kiem thu, va giam sat). Nhung yeu cau ASRs nay co đo uu tien cao va khong the xem nhe.
Mac du ve nguyen tac, co the thuc hanh DevOps voi bat ky kieu kien truc nao — nhung microservices la kieu kien truc tieu chuan đe xay dung he thong trien khai lien tuc.


Pham vi ap dung Mot so bai viet ve DevOps cho rang: "DevOps chi la nguyen tac cua Phat trien phan mem linh hoat..."
Mot cuoc đieu tra đuoc xuat ban vao thang 1 nam 2016 boi cong ty RightScale, ap dung DevOps tang tu 66% trong nam 2015 len 74% vao nam 2016. Va trong cac to chuc lon, DevOps tham chi con cao hon — 81%.
Ap dung DevOps đuoc đieu khien boi nhieu yeu to — bao gom:

Su dung Agile, cac qua trinh phat trien va phuong phap khac;
Yeu cau tang ty le san xuat phat hanh — tu đon vi va phia kinh doanh;
Rong rai cua ao va đam may, co so ha tang — tu ben trong va ben ngoai cung cap;
Tang su dung du lieu trung tam tu đong va quan ly cac cong cu,
Tang cuong tap trung vao bai kiem tra tu đong va lien tuc hop cac phuong phap;
Mot khoi luong quan trong cua cong khai–san sang thuc hanh tot nhat.


= Gia tang ap dung =
"Thuyet ve su Han che" (The theory of constraints) ap dung vao viec thuc hanh DevOps nhu sau: su han che co gioi han thuong an sau su vao su khong ua thay đoi trong cac bo phan trong doanh nghiep. Su gia tang ap dung bieu hien qua cac phuong phap "Ly Thuyet ve su Han che" cung cap cho cuoc chien chong bat ky su cuong ep nao, đuoc goi la "Nam buoc tap trung".
Ba nguyen tac sau cua Gene Kim thiet lap cac cach co ban đe ap dung DevOps:


 Cach đau tien: suy nghi co he thong  Nhan manh viec tap trung vao hieu nang toan he thong hon la cac thanh phan đon le.


 Cach thu hai: khuech đai vong lap phan hoi  Nhan manh vao viec gia tang phan hoi va hieu biet cua cac nhom lam viec co lien quan.


 Cach thu ba: nen van hoa cua su thu nghiem va hoc hoi lien tuc  Hai thu quan trong nhat: thu nghiem va thuc hanh.


Tham khao Xem them Tich hop lien tuc
Phan phoi lien tuc
Kiem thu lien tuc
He thong quan ly phien ban
Lap trinh cuc han
Lap trinh linh hoat


Đoc them Huttermann, Michael (2012). DevOps for Developers. Apress. ISBN 978-1-430-24569-8.
Davis, Jennifer; Daniels, Katherine (2015). Effective DevOps. O'Reilly. ISBN 978-1-4919-2630-7.