Halo semuanya! Nama saya Vitaly Davydov, saya adalah pendiri Poteha Labs.
Pada akhir tahun lalu, Yandex meluncurkan produk baru untuk pengembang -
Yandex. Cloud , yang menyediakan daya komputasi dan layanan terkait untuk pemrosesan dan penyimpanan data. Dalam artikel ini saya akan berbicara tentang bagaimana kami mengevaluasi transfer salah satu proyek kami ke Cloud, fitur dan tarifnya.

Ada dua cara untuk menggunakan layanan web atau aplikasi seluler Anda. Mari kita lihat contoh database (sebagai salah satu bagian dari layanan web):
- Dikelola sendiri - sewa mobil dan gunakan PostgreSQL Anda di atasnya. Postgresnya memiliki pro dan kontra: jika muatannya kecil, maka solusi seperti itu sudah cukup. Tetapi semakin besar volumenya, semakin banyak pemeliharaan yang dibutuhkan, dan pada titik tertentu, Anda akan membutuhkan insinyur DevOps yang terpisah.
- Dikelola sepenuhnya - pilih penyedia cloud dan gunakan PostgreSQL sebagai layanan. Dalam hal ini, penyedia cloud mengasumsikan dukungan dari seluruh infrastruktur dan memastikan bahwa semuanya akan bekerja sesuai dengan SLA (perjanjian tentang tingkat penyediaan layanan, yang membatasi waktu tidak tersedianya maksimum, waktu maksimum tidak tersedianya total untuk suatu periode ). Tidak ada masalah dengan dukungan infrastruktur.
Mereka yang memilih opsi cloud akrab dengan tiga penyedia layanan utama:
Microsoft Azure ,
Amazon Web Services (AWS) dan
Google Cloud . Mereka menyediakan mesin virtual dalam jumlah tak terbatas dan lusinan layanan praktis, dan dari tiga opsi Anda dapat memilih solusi yang sesuai dengan harganya. Kami biasanya bekerja dengan AWS, yang baru-baru ini memiliki beberapa ketidaknyamanan saat digunakan di Rusia.
Fitur pertama AWS di Rusia dikaitkan dengan kunci ILV aktif, dari mana banyak layanan menderita pada tahun 2018, dari start-up ke sistem perbankan (
Viber, Skyeng dan lain-lain ).
Selain itu, dari awal 2019, Amazon
mulai membebankan PPN (20% dari harga) dari perusahaan-perusahaan Rusia untuk penggunaan solusi cloud-nya. Ini tidak spesifik untuk Amazon: PPN sudah dikumpulkan oleh Microsoft, Google, dan perusahaan Internet asing lainnya, namun, bagaimanapun juga, ini merupakan kenaikan harga yang tidak menyenangkan bagi perusahaan untuk serangkaian layanan yang biasa.
Selain perusahaan internasional terkenal, ada juga pasar Rusia untuk sistem cloud: platform
Mail.Ru Cloud Solutions ,
Selectel dan beberapa pemain kecil. Sementara banyak hanya menyediakan penyewaan besi, yang tidak sama dengan komputasi awan. Cloud lengkap tidak hanya menyediakan sewa mobil, tetapi juga serangkaian layanan yang menyertainya untuk menyederhanakan infrastruktur (misalnya, seperti database yang dikelola).
Pasar Rusia
Di Rusia, solusi cloud lengkap adalah beberapa (yaitu, dua): MCS dari mail.ru dan
Yandex yang baru diluncurkan.
Yandex mendekati masalah penyediaan layanan untuk menyewa ekosistem layanan. Awan di luar kotak tidak menawarkan layanan sebanyak di AWS: komputer, penyimpanan data, basis data, penyeimbang beban (alfa), orkestrasi wadah (alfa), berencana untuk menambahkan platform tanpa server. Serangkaian layanan yang diusulkan memungkinkan Anda untuk merancang dan skala sejumlah besar solusi bisnis lebih cepat daripada infrastruktur Anda sendiri, dan jumlah layanan juga terus meningkat. Cloud memiliki tiga pusat data, sehingga Anda dapat membuat sistem yang terdistribusi secara geografis.
Pada akhir 2018, Cloud diluncurkan secara publik dan pertama kali membuka koneksi program kemitraan (di mana
kami menjadi salah satu mitra pertama), dan mulai
7 Desember 2018, Cloud menjadi tersedia untuk semua orang. Saat Anda terhubung sekarang, Cloud memberi pengguna hibah untuk kenalan -
4000 rubel selama 2 bulan . Berkat akses awal, kami melihat peluang, tarif, dan membuat perhitungan untuk mentransfer salah satu layanan kami dari AWS ke Cloud.
Arsitektur
Sekarang layanan web kami bekerja dalam produksi pada AWS dan terdiri dari dua komponen: depan dan belakang, jadi kami akan mempertimbangkan transfer ke komponen Cloud dengan komponen. Kami memigrasikan aplikasi dengan tumpukan teknologi berikut:
-
Frontend . Ditulis dalam Bereaksi, rendering terjadi pada klien. File statis (html, skrip dan gaya) disimpan di Simple Storage Service (S3).

-
Backend . Aplikasi Django yang berjalan dalam wadah buruh pelabuhan di mesin virtual Elastic Compute Cloud (EC2). Mesin-mesin ini dikelola oleh Elastic Container Service (ECS, orchestrator kontainer gratis), untuk database kami menggunakan PostgreSQL di Relational Database Service (RDS). Untuk load balancing - Elastic Load Balancer (ELB).

Kami menyebarkan aplikasi melalui GitLab CI, menggunakan AWS CLI untuk memperbarui layanan pada ECS dan statika pada S3.
Bagaimana arsitektur layanan akan terlihat di Yandex.Cloud:
-
Frontend . Alih-alih S3, Yandex Object Storage digunakan, dari mana Anda juga dapat mendistribusikan statika situs.

-
Backend . Alih-alih EC2, Yandex Compute Cloud digunakan, yang serupa dalam struktur: ada juga penyimpanan blok, yang ada secara terpisah dari mesin. Cloud tidak memiliki analog ECS ββyang siap digunakan sekarang (tetapi dalam versi alpha ada Grup Yandex Instance, atas dasar mana mereka berjanji untuk menyajikan layanan kontainer yang dikelola). Karena itu, untuk saat ini, alih-alih ECS, Anda harus menggunakan Kubernetes atau Rancher, yang perlu Anda gunakan sendiri. Yandex Load Balancer di Cloud juga dalam alpha, jadi untuk sekarang, Anda dapat menggunakan nginx, diangkat pada mesin terpisah, sebagai penyeimbang. Untuk PostgreSQL, Cloud memiliki Layanan Yandex Managed untuk PostgreSQL.

Perkiraan biaya
Setelah mempelajari arsitektur yang memungkinkan, kami membuat perhitungan perkiraan biaya layanan di Cloud (
tarif resmi ada di sini ). Dalam tabel di bawah ini, perkiraan biaya setiap elemen untuk layanan kami (harga ditunjukkan tanpa PPN).
Apa | Berapa banyak, gosok. ($) / bulan |
---|
Aws | Yandex Cloud |
---|
Load balancer (1 pc., 1 GB RAM, 1vCPU 100%, 10 GB SSD) | 1.300 (20) | 630 (10) |
Contoh Aplikasi (2 pcs., 4 GB RAM, 1vCPU 100%, 20 GB SSD) | 7.400 (115) | 2.350 (36) |
Mesin Virtual untuk wadah ORE (Peternak) | - | 630 (10) |
Basis data (2 pcs, 4 GB RAM, 1vCPU 100%, 100 GB SSD) | 12.800 (198) | 630 (10) |
Penyimpanan objek (10 GB, 1.000.000 PUT, 10.000.000 DAPATKAN) | 585 (9) | 470 (7) |
IP publik (2 pcs. AWS, 4 pcs. Yandex. Cloud) | 470 (7) | 380 (6) |
Lalu lintas keluar (500 GB) | 2 925 (45) | 635 (10) |
Total | 25 480 gosok. ($ 392) | 9 695 gosok. ($ 149) |
Untuk parameter kami, Cloud 2,6 kali lebih murah daripada AWS. Membiayai transisi ke Cloud untuk layanan pasti menguntungkan (
perhitungan terperinci untuk Cloud, untuk AWS Anda dapat menggunakan
kalkulator online ).
Fitur Layanan Yandex.Cloud
- Yandex Compute Cloud berbeda dari EC2 di bahwa pada EC2 Anda dapat meningkatkan daya mesin dengan RAM dan CPU hanya pada saat yang sama, dan di Cloud mereka independen (untuk setiap vCPU Anda dapat memilih dari 1 hingga 8 GB RAM), yang memberikan lebih banyak fleksibilitas.
- Penyimpanan Objek Yandex kompatibel dengan S3 API. Dari minusnya, masih belum memungkinkan untuk mengonfigurasi sertifikat https di domain Anda. Masalahnya diselesaikan menggunakan sertifikat Cloudflare, lalu lintas dari pengguna ke lapisan API eksternal akan dilindungi. Ini adalah opsi yang cepat dan mudah. Anda juga dapat mengonfigurasi rendering sisi server, jadi kami menunggu Cloud untuk menambahkan fitur ini.
- Cloud belum memiliki layanan untuk pengumpulan log terpusat yang tidak sinkron (analog dari AWS CloudWatch), oleh karena itu, untuk mengumpulkan dan menganalisis log, Anda harus menghubungkan solusi pihak ketiga.
- Kontrol akses sumber daya: pada AWS, ini dilakukan melalui peran yang dibuat dalam layanan Identity and Access Management (IAM) dan secara otomatis ditetapkan untuk semua instance dalam klaster ECS. Cloud juga memiliki IAM sendiri, tetapi hak-hak granular seperti dalam AWS belum tersedia di dalamnya.
- Sementara tidak ada mesin GPU untuk komputasi.
Kesimpulan
Sebagai kesimpulan, kami menyoroti alasan untuk mencoba Yandex Cloud:
- Serangkaian layanan infrastruktur yang berpotensi besar;
- API yang kompatibel dengan AWS tersedia untuk beberapa layanan, yang sangat menyederhanakan transisi;
- Tarif lebih rendah daripada rekan-rekan Barat mereka, tidak ada koneksi ke nilai tukar dolar;
- Perlindungan terhadap kunci tiba-tiba;
- Sebuah pusat data di Rusia, berkat hukum tentang perlindungan data pribadi pengguna selalu diterapkan.
Untuk 2019, Cloud memiliki rencana besar untuk merilis layanan yang diumumkan dan menambahkan yang baru. Kami berpikir bahwa dengan serangkaian fitur dan tarif seperti itu, ia akan dapat menjadi pesaing kuat Amazon di pasar Rusia.
Terima kasih atas perhatian Anda, saya akan menjawab pertanyaan di komentar.
Terima kasih kepada Istri ( pruzhinkina ) dan Kirill ( kpotehin ) atas bantuan mereka dalam mempersiapkan ulasan .