The terms modern is not timeless, it will have certain time and certain context. In this era, modern application means that the application should fulfill following criteria: speed, scale, resilence, and security. There are three characteristic of modern application. implement microservice architecture patterns, implement serverless operational models, and automated software delivery processes. By building modern applications, teams can deliver value more quickly, frequently, consistently, and safely by adopting DevOps.
Microservices uses API to communcate between component. Rather than build one single application. Microservice uses APIs to communicate between one function to the others. Just imagine web services but it will be separated. One service one API. The API is managed by the API Management tools. API Management can manage the lifecyle of API through one channel. The API is loosely coupled so that it doesnt have huge dependency between components. microservices can run two models the first is API driven and the second one is event driven.
Serverless means that the deployment model is based with managed infrastructure such as Platform as a Services or highly abstraction platform such as docker or container technology. Serverless is measured by the server activity not the server runtime. Therefore, one of the benefit of serverless is low cost for low consumption. Rather than running by computing time. You will be charged anytime for server based model, but in servereless based model you will be charged per-call. DevOps means automation, quick adaptation, and continuous integration and deployment. DevOps is team culture, it means when we build modern application we should have devOps culture, serverless operation, and microservices technology. we will discuss the implementation later.