Hari ini kami akan fokus pada template yang memungkinkan tim kami membuat layanan mikro baru hanya dalam beberapa menit. Kami akan memberi tahu Anda cara kerjanya dan mengapa cerita ini tidak hanya tentang otomatisasi tenaga kerja manual, tetapi tentang keefektifan pengembangan seperti itu.
Banyak pengembang menggunakan templat dalam satu bentuk atau lainnya. Paling sering, mereka menyalin kode dari proyek lama untuk menghemat waktu. Dari sudut pandang kami, praktik ini memiliki beberapa kelemahan sekaligus:
1. Anda dapat memilih layanan mikro yang tidak berhasil untuk disalin - dengan elemen yang hilang, pengaturan yang salah, dll.
2. Jika pengembang tidak memiliki patokan, risiko kesalahan tambahan meningkat. Ini berarti seseorang harus menghabiskan waktu ekstra untuk memperbaikinya.
3. Selalu ada risiko mengabaikan elemen penting, tidak memperhatikan pipeline yang hilang, menggunakan versi lama library, menentukan otorisasi yang salah atau pengaturan logging.
Secara umum, jika suatu operasi diulangi dari waktu ke waktu, itu sudah layak untuk diotomatisasi. Tetapi menghemat waktu jauh dari keuntungan utama menerapkan template.
Apa yang dilakukan template layanan mikro
Templat layanan mikro adalah blok penyusun produk perangkat lunak, blok penyusun yang dapat digunakan kembali dari proyek ke proyek.
โ , , ( ). , .
, :
. - .
, time-to-market. , .
Production Ready. , , Feature Flags, .
. ยซยป โ , , , . .
, , .. , , โ .
- , . , โ . .
Rest API, , ,
(CI/CD)
, Observability, , , health check monitoring
, : Git , Jenkins/Gitlab.
.Net
Microsoft Visual Studio :
Web API Project - -, HTTP-.
Data base project โ .
HTTP Service client project โ
MassTransit consumers project โ RabbitMQ.
Job Project โ - .
. UI, :
Visual Studio , .
, , . : , , . โ -, ..
Apa berikutnya? - Kami akan mereplikasi pengalaman ini ke tim lain. Kami ingin menjaga integritas template sebanyak mungkin dan pada saat yang sama membuatnya universal untuk digunakan dalam berbagai proyek. Kami akan membuat template untuk semua platform. Dengan cara ini, kami akan memastikan diri kami memiliki tingkat kualitas yang seragam dan serangkaian praktik terbaik, apa pun kondisi di setiap kasus.