In cloud native applications, services are packaged as self-contained, lightweight containers that are portable, scalable (up or down) based on demand. The separation of the application and its dependencies from underlying infrastructure can be achieved by encapsulating everything into a container (such as a Docker container). By using continuous integration and continuous delivery pipelines, you can deploy your containerized application to the cloud environment of your choice.