- Why are "monoliths" difficult to manage at scale?
- Services and responsibilities become tightly coupled. It can become difficult to understand the entirety of the system and how a single change may impact other parts of the code. It therefore may become challenging to maintain, modify, and optimize the system.
- What is a microservice architecture?
- An application architecture in which individual functionality is broken down into individual services that work together.
- What is a microservice?
- A small, specialized service that works as a part of a larger system of services.
- Can you name a server-side framework that is compatible with Kotlin?
- What is Ktor?
- A Kotlin-based framework for asynchronous client/server code
- Why might Kotlin be a good choice for writing backend code?
- It's JVM and JavaScript compatible, and is compatible with a variety of frameworks such as Spring and Ktor, as well as having modern language features with an active developer community behind it.
- How would you deploy a Kotlin-based microservice?
- You can deploy locally from your IDE with Jetty, or you could deploy to a variety of production services such as AWS or Google Cloud. These production deployments would likely involve generating an executable JAR file and any associated resources, which would then be run in the service container.