DevOps开放最佳实践库

开放实践库是一个开源的、由社区驱动的最佳实践和工具的启发知识库。

Continuous Delivery

What is it? Continuous Delivery (CD) is an engineering practice where each change could be a potential release ready for production. This practice builds on top of the Continuous Integration practice as its starting point and adds to the end a step that releases artifacts for anyone to use. These artifacts could be software packages, container images or virtual machine images. This practice typically requires automation that is run on a server such as Jenkins.

Container

What is it? A technical description of a Linux container is a sandboxed process or processes isolated on a VM or bare-metal server. These processes are isolated using the tried and tested mechanisms of Linux Namespacing, CGroups, and SELinux contexts. A good way of imagining a container is a way of packaging up applications or services. The container will only contain the files and libraries required for that application or service and will share the underlying components such as the kernel.

Relative Sizing

What is it? A mechanism for sizing different items relative to each other. A tool to facilitate conversations, especially where there are different views on relative sizes. Common techniques include use of story points, planning poker, t-shirt sizes and double figures. Why use it? Facilitates conversation. Helps align groups of people to reach consensus on their understanding regarding the size of complexity and/or value of an item. Avoids the emotion, buffering and other negative side effects of absolute estimation.

Autoscaling

What is it? Autoscaling is a method of changing amount of computing resources based on the applications measured load. This load could be CPU, memory, network or some other measurable metric that can be used as the trigger of scaling. The metric could also be the amount of items in a message queue or the amount of tasks waiting in your business process. It can be used with active backends or batch job type of temporary workloads.

Mob Programming

What is it? Mob programming is a practice where the whole team comes together to implement a feature or piece of functionality. This practice can also be used as Mob learning when you quickly want to share new information that everyone in the team needs. Why use it? Ensures the whole team understands how a specific feature is implemented or problem is solved. It can also be a quick way to onboard new team members.

Iteration (Sprint) Planning

What is it? An event where a development team collaborates with the Product Owner to align on the goal and outcome the team are going to focus on for their next iteration of development. Team members use this opportunity to further their shared understanding of the Product Owner’s (and stakeholders they represent) acceptance criteria (or conditions of satisfaction) for features they are going to accept into the iteration. Team members decompose features into low level tasks with full breadth to deliver the features to a level whereby all of the Product Owner’s conditions of satisfaction are met and the Definition of Done is satisfied.
0%