Prinsip Layanan Microservice

Microservices berarti membagi aplikasi menjadi layanan yang lebih kecil dan saling terhubung tidak seperti aplikasi monolitik. Setiap microservice merupakan aplikasi kecil yang memiliki arsitektur heksagonal sendiri yang terdiri dari logika beserta berbagai adapternya (bahasa pemrograman, dan lain-lain).

Pola arsitektur Microservice secara signifikan mempengaruhi hubungan antara aplikasi dan database. Di satu sisi, pendekatan ini bertentangan dengan gagasan model data enterprise-wide. Namun, memiliki skema database per service sangat penting jika ingin mendapatkan keuntungan dari layanan microservice.

Jadi intinya microservice yaitu membagi service ke bagian yang lebih kecil dimana service-service tersebut saling berhungan satu sama lain. Selain itu, dalam setiap services yang dibuat bisa menggunakan teknologi yang berbebeda.

Principles of Microservices
  1. Rely only on the public API
    • Hide your data
    • Document your APIs
    • Define a versioning strategy
  2. Use the right tool for the job
    • Polygot persistence (data layer)
    • Polyglot frameworks (app layer)
  3. Secure your services
    • Defense-in-depth
    • Authentication/authorization
  4. Be a good citizen within the ecosystem
    • Have SLAs
    • Distributed monitoring, logging, tracing
  5. More than just technology transformation
    • Embrace organizational change
    • Favor small focused dev teams
  6. Automate everything
    • Adopt DevOps