Serverless App Engine (SAE) memungkinkan Anda memigrasikan aplikasi ke cloud dengan cepat tanpa perlu mengelola infrastruktur dasar. SAE membantu mengurangi biaya pengembangan serta operasi & pemeliharaan (O&M), sambil memungkinkan Anda mengelola siklus hidup aplikasi melalui konsol SAE. Topik ini menjelaskan bagaimana SAE dan Jenkins mendukung Seeyii dalam mengimplementasikan DevOps berbasis cloud-native.
Informasi latar belakang
Seeyii adalah penyedia layanan informasi keuangan big data yang fokus pada pasar primer, kredit perusahaan, perencanaan industri dan investasi, serta pasar modal multi-level. Seeyii memiliki pemahaman mendalam tentang kebutuhan data pelanggan seperti bank besar, lembaga keuangan, sektor layanan publik, dan kelompok perusahaan, serta menyediakan data yang telah ditransformasi secara profesional kepada pelanggan. Platform analisis data terpadu Seeyii mencakup kemampuan berikut: integrasi data perusahaan, industri, dan keuangan, pemrosesan data, data mid-end, pengembangan sistem, serta analisis model big data dan konsultasi.
Tantangan
Keamanan, stabilitas, dan efisiensi data sangat penting untuk melayani pelanggan besar. Seeyii tidak dapat memperoleh data lengkap pelanggan di lingkungan pengujian. Sebelum merilis aplikasi, Seeyii harus sering melakukan rilis dan pengujian versi dalam lingkungan rilis canary yang mirip dengan lingkungan staging. Tabel berikut menjelaskan tantangan yang dihadapi Seeyii selama proses rilis serta manfaat yang diberikan oleh SAE.
Tantangan | Manfaat |
Efisiensi iterasi pengembangan rendah: Silo informasi ada di seluruh platform analisis data asli. Kode bisnis sangat tergabung erat, sehingga efisiensi pengembangan menjadi rendah. | SAE menggunakan arsitektur serverless dan memblokir detail dasar dari IaaS O&M serta kluster Kubernetes. Dibandingkan dengan FaaS, SAE menghilangkan kebutuhan untuk memodifikasi model pemrograman atau kode apa pun. |
Proses rilis kompleks dan biaya tinggi: Kode dikelola dalam Apache Subversion (SVN) dan aplikasi diterapkan secara manual. Platform analisis data asli tidak memiliki proses DevOps yang distandarisasi. Untuk merilis aplikasi, Seeyii harus melakukan 20 hingga 30 operasi verifikasi data dalam lingkungan rilis canary dan sering merilis serta menguji versi. Beban kerja pengembangan dan O&M sangat besar. | SAE menyediakan namespace untuk mengisolasi secara logis lingkungan runtime seperti lingkungan pengembangan, pengujian, dan produksi. Anda dapat mengelola aplikasi secara efisien, melakukan start dan stop aplikasi dengan satu klik, serta meningkatkan keamanan aplikasi. SAE memungkinkan Anda menggunakan metode rilis bertahap atau metode rilis canary untuk mengulangi dan meningkatkan aplikasi. Jika terjadi kesalahan pada versi saat ini, Anda dapat mengembalikan aplikasi ke versi sebelumnya. |
Biaya kontainer yang dikelola sendiri tinggi: Seeyii mencoba solusi yang menggabungkan instance Elastic Compute Service (ECS) dan kontainer Docker. Namun, operasi O&M manual dan pengembangan diperlukan untuk peningkatan Docker daemon, manajemen registry gambar, manajemen konfigurasi, serta penjadwalan dan pembatalan penjadwalan. | SAE memungkinkan Anda mengelola siklus hidup aplikasi di konsol SAE hanya dengan beberapa klik, menyederhanakan proses O&M. |
Tidak ada estimasi kapasitas otomatis: Untuk menangani aktivitas pemasaran atau acara penting, misalnya, untuk menerbitkan Indeks Keuangan Xinhua (XHF), Seeyii harus menyiapkan instance ECS setidaknya satu minggu sebelumnya. Masalah seperti estimasi kapasitas yang tidak akurat, sumber daya idle, dan risiko dapat terjadi. | SAE menyediakan berbagai jenis kebijakan penskalaan otomatis untuk melakukan operasi penskalaan dalam hitungan detik. SAE dapat memastikan SLA bisnis ketika terjadi lonjakan trafik. |
Solusi
Gambar berikut menunjukkan solusi yang digunakan oleh Seeyii. 
SAE membantu Seeyii membangun sistem DevOps berbasis cloud-native yang mengintegrasikan Git, Jenkins, dan SAE. Seeyii mengubah arsitektur monolitik berbasis ECS menjadi arsitektur serverless yang mengintegrasikan kemampuan layanan mikro dan kemampuan Kubernetes. SAE mengklasifikasikan aplikasi ke dalam lingkungan, seperti lingkungan rilis canary dan lingkungan produksi, melalui namespace. SAE memungkinkan Seeyii untuk mengonfigurasi berbagai kebijakan penskalaan otomatis dan kebijakan rilis, mengelola siklus hidup aplikasi dengan beberapa klik di konsol SAE, mengaktifkan fitur pemantauan dan analisis yang beragam, serta mengonfigurasi kemampuan layanan mikro yang ditingkatkan. Ini menyederhanakan operasi O&M dan mengurangi biaya. Untuk mengimplementasikan penyebaran otomatis, pengembang Seeyii hanya perlu mengirimkan kode terkait ke Jenkins. SAE juga menyediakan fitur pengumpulan log real-time dan pengumpulan log file. Insinyur R&D Seeyii dapat mengumpulkan dan menganalisis log serta menghubungkan hasil agregasi dan analisis ke log bisnis.
Hasil
Seeyii menggunakan SAE untuk mengonversi setiap kebutuhan bisnis menjadi aplikasi, kemudian merilis aplikasi secara bertahap untuk memungkinkan lebih banyak trafik berdasarkan kebijakan rilis canary yang ditentukan.
Proses penyebaran distandarisasi dan biaya O&M berkurang: SAE memungkinkan insinyur R&D Seeyii melakukan integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) tanpa bantuan insinyur O&M. Ini meningkatkan efisiensi rilis bisnis. Insinyur O&M tidak lagi perlu menangani transaksi kompleks yang terkait dengan pelepasan bisnis vertikal, dan dapat fokus pada membangun sistem ketersediaan tinggi horizontal dan platform pemantauan. SAE membantu Seeyii meningkatkan efisiensi O&M sebesar 60%.
Hambatan rendah untuk transformasi arsitektur layanan mikro: Setelah bisnis dikonversi menjadi aplikasi layanan mikro, Seeyii tidak perlu mengelola fasilitas periferal layanan mikro atau mengonfigurasi pemulihan bencana yang stabil. SAE adalah layanan all-in-one dan out-of-the-box yang kemampuan layanan mikronya telah diverifikasi oleh Double 11.
Skalabilitas dalam hitungan detik tanpa perencanaan kapasitas: Berkat kebijakan penskalaan otomatis SAE, Seeyii tidak lagi perlu menyiapkan kapasitas ECS terlebih dahulu. Operasi scale-out dapat dilakukan secara otomatis dalam hitungan detik selama jam sibuk aktivitas pemasaran, dan sumber daya idle dapat secara otomatis di-scale in selama jam sepi untuk mengurangi biaya.
Pemanfaatan Kubernetes yang mudah dan cara nyaman untuk melihat log: SAE membantu Seeyii mengimplementasikan kontainerisasi dengan mudah dan menggunakan metode penyebaran aslinya untuk mengelola aplikasi. Seeyii dapat menggunakan SAE dan Log Service untuk melihat log tanpa perlu mengelola izin terkait Host Bastion atau akun server dan kata sandi.