CIA- Container Images - Best Practices and Tools
Project Name:
Proposed name for the project: Docker/OCI Images - Best Practices and Tools
Project description:
Container technology is a popular packaging method for developers and system administrators to build, ship and run distributed applications.
Seventy percent of respondents to a 2017's survey indicated that the existence of tools to accelerate container development is one of the key factors that drives container adoption.
The same is true for the availability of best practices. That's because Image-based container technology requires a disciplined approach to development and writing Dockerfiles and defining containerized applications can become rather complex.
Because has ONAP has adopted Docker technology, the design of good images ultimately boils down to the crafting of good Dockerfiles.
This project takes a communal approach to capturing and developing best practices, guidance, recommendations and common tools for the design of images built using Dockerfiles.
Scope:
This project will develop a specification for the recommended structure of Dockerfiles based on industry best practices
The following are the outcomes of the project:
Best practices for the design of space-efficient and scalable images built using Dockerfiles
Best practices for crafting Dockerfiles
Best practices for the development of platform-agnostic images
Dockerfile templates to
Capture, automate and share experience across projects
Reduce duplication
Jumpstart image development
Optimize resource consumption
Develop vendor-agnostic images
New Docker builder patterns and tools
Explore and issue recommendation on the use of different front-ends
Evaluate and issue recommendations on the use of BuildKit
Out of scope:
This project doesn't tackle the design or architecture of microservices-based applications.
Having said that, the project acknowledges the synergy and expects to collaborate with ONAP projects such as the Microservices project, OOM and Integration.
Architecture Alignment:
The goals of this project are in perfect alignment with ONAP's architecture principles and architecture quality attributes.
In particular, this projects suppoorts the themes adopted for Beijing and Casablanca: Platform Maturity Requirements (S3P) and Portability
S3P:
Quality Attribute | Benefit of Image Design Best Practices |
---|---|
Scalability |
|
Manageability |
|
Usability |
|
Security |
|
Portability:
Software portability is the ability to use the same software artifacts (images/containers) in different environments.
For ONAP aims at enabling deployments of the orchestration platform and VNFs in different cloud infrastructure providers.
Furthermore, cloud infrastructure providers may choose among variety of hardware/server providers with different OS and cpu architectures.
Having best practices and Dockerfile templates that simplify the use of official multi-platform (OS, CPU) base images makes ONAP portable by enabing ONAP deployment in diferent environments.
Other Information:
Vendor Neutral
Meets Board policy (including IPR)
Use the above information to create a key project facts section on your project page
Project Proposal Deck
Project proposal deck is available here.
Key Project Facts:
Primary contact: @Adolfo Perez-Duran
Facts | Info |
---|---|
PTL (first and last name) | |
Jira Project Name | Container Images |
Jira Key | Container Images |
Project ID | cia |
Link to Wiki Space |
Release Components Name:
Note: refer to existing project for details on how to fill out this table
Components Name | Components Repository name | Maven Group ID | Components Description |
---|---|---|---|
Dockerfile templates | oparent/cia/templates | org.onap.cia.templates | Dockerfile templates |
Docker templates processor | oparent/cia/processors | org.onap.cia.processors | Code to consume templates and generate Dockerfiles |
Image design best practices | oparent/cia/docs | org.onap.cia.docs | Best practices and guidelines (read-the-docs) |
Resources committed to the Release:
Note 1: No more than 5 committers per project. Balance the committers list and avoid members representing only one company. Ensure there is at least 3 companies supporting your proposal.
Note 2: It is critical to complete all the information requested, that will help to fast forward the onboarding process.
Role | First Name Last Name | Linux Foundation ID | Email Address | Location |
---|---|---|---|---|
PTL | @Adolfo Perez-Duran | ado496 | Boulder, CO, USA (GMT-06:00) | |
Committers | @Bin Lu (Deactivated) | lubinsz | Bin.Lu@arm.com | China |
@Sylvain Desbureaux | sdesbure | sylvain.desbureaux@orange.com | France, (GMT+1) | |
@Tal Liron | tal.liron | tliron@redhat.com | Chicago, USA (GMT-05:00) | |
@Frank Sandoval | sandovalfrOAM | frank.sandoval@oamtechnologies.com | Denver, CO, USA (GMT-06:00) | |
Contributors | @Helen Chen | |||
Tianon Gravi | ||||
@Ran | ran.pollak@amdocs.com | IL(GMT +2) | ||
@Ash Young | im2bz2pee | Chicago, USA (GMT-05:00) | ||
@Michael O'Brien | michaelobrien | Ottawa ON, Canada (GMT-4) | ||
@Khumendra Kumar | ||||
@Dmitry Puzikov (Deactivated) | ||||
@Simon Hbros |