Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Proposed name for the project: Container-Based Development - Best Practices and Tooling

Project description:

Container technology is a popular packaging method for developers and system administrators to build, ship and run distributed applications.

...

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

...

  •     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 AttributeBenefit of Image Design Best Practices
Scalability
  • Resource constrained images (small & fast) facilitate single and multiple ONAP instance horizontal scaling.
Manageability
  • Efficient, small images reduce transport, instantiation time and upgrade time.
Usability
  • Dockerfile templates save time and resources by increasing re-usability and reducing development and testing cycles.
  • Re-usable base images reduce project jumpstart overhead.
  • Multi-platform containers based on official multi-cpu architecture base images allows operators to choose among a larger number of cloud/infrastructure providers.

Security
  • Images built using the latest official base images reduce the risk of deploying containers with vulnerabilities.

   

Portability:

Software portability is the ability to use the same software artifacts (images/containers) in different environments.

...

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

Key Project Facts:

Primary contact: Adolfo Perez-Duran

Facts

Info

PTL (first and last name)
Jira Project NameContainer Development Toolkit
Jira Key
Project IDcdbp
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 templatescdbp/templatesorg.onap.docker_templatesDockerfile templates
Docker templates processorcdbp/processororg.onap.docker_templatesCode to consume templates and generate Dockerfiles
Image design best practicescdbp/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.

...