InterviewSolution
| 1. |
What are Cloud-Native applications? |
|
Answer» Cloud-Native Applications (NCA) is a style of application development that encourages easy adoption of best practices in the area of continuous delivery and distributed software development. These applications are designed specifically for a cloud computing architecture (AWS, Azure, CloudFoundary, etc). DevOps, continuous delivery, microservices, and containers are the key concepts in developing cloud-native applications. Spring Boot, Spring Cloud, Docker, Jenkins, Git are a few tools that can help you write Cloud-Native Application without much effort.
It is an architectural APPROACH for developing a distributed system as a COLLECTION of small services. Each service is responsible for a specific business capability, runs in its own process and communicates via HTTP REST API or messaging (AMQP).
It is a collaboration between software developers and IT operations with a GOAL of constantly delivering high-quality software as per customer needs.
Its all about automated delivery of low-risk small changes to production, constantly. This makes it possible to collect FEEDBACK faster.
Containers (e.g. Docker) offer logical isolation to each microservices thereby eliminating the problem of "run on my MACHINE" forever. It’s much faster and efficient compared to Virtual Machines. |
|