Welcome to Cloud Native Concepts, Goals, and Benefits In this module, we will explore the concept of Cloud Native computing, its high-level goals, and explore its best practices and use cases along with the benefits of adoption. So, what is Cloud Native? Cloud Native is not a term that is easily defined, but perhaps it can be discussed more as an approach to achieving certain goals that benefit everyone involved in developing, running, and managing an application in the cloud. A Cloud Native approach is one that is devoted to creating and running applications that fully: leverage Cloud Native Technologies to fully exploit the advantages of cloud computing and its Resources and Services across modern cloud environments, inclusive of Converged Infrastructure Resources such as Compute, Network, and Storage as well as Management Services such as Scheduling and Orchestration, and Application and Data Services, It is also Deployable on public, private (or on-premise) or hybrid environments Regardless of Cloud Provider or geographic location Enabling deployments on multiple clouds which allows for application scaling across or relocation to any cloud provider that supports cloud native technologies. In general, the goals of Cloud Native are to Adopt design patterns, paradigms, and techniques that enable loosely coupled systems built around Microservice Architecture principals that are: Automated using Agile processes, Easily Operable or manageable across multiple cloud environments, Observable at all application development lifecycle stages, and Resilient to failures in production. Cloud Native design utilizes Cloud Native Technologies that themselves are built with these design goals in mind, such as using: Containers, which are a form of operating system (OS) virtualization where application code is packaged in a standard way, along with its libraries and dependencies so that it can be run anywhere, whether it be on desktop, traditional IT, or the cloud. In fact, most cloud native technologies assume the use of Containers as the primary means to build, package, deploy, run, and scale applications. and Service meshes, as another example, which are configurable infrastructure layers that describe how various services that comprise an application communicate with each other. And also, API Gateway technologies that help you formalize, configure, and secure the service endpoints into your application. In addition, Cloud Native means the adoption of certain design Techniques such as Declarative APIs and Configurations as well as An immutable infrastructure paradigm in which server images are never modified after they're deployed. The ultimate goal of Cloud Native Application design Is to seamlessly build, orchestrate and run highly scalable Cloud Native Applications that can horizontally “web scale” across cloud boundaries to meet consumer demands as well as scale vertically to take advantage of improved CPU, memory, and disk resources when available. Throughout this course, many of the concepts and terms introduced here will be explored in more detail. You should now be familiar with: The Cloud Native approach to application development, Goals of Cloud Native design, and High-level technologies and techniques used by Cloud Native.