Cloud native applications are built using microservices that are designed to integrate into any cloud environment. Microservices are loosely coupled, self-sufficient programs that execute a single business function. Docker uses containers to package software which provides isolation. Kubernetes is an open-source tool that automates deployment, scaling, and management of containerized applications across clusters. Migrating to cloud native involves steps like moving infrastructure to the cloud to reduce risk, automating processes, adopting a culture of experimentation, breaking monolithic apps into microservices, using containers, and orchestrating containers across clusters.