Bagaimana cara membangun dan menggunakan aplikasi Python?
Python adalah bahasa pemrograman sumber terbuka dan gratis yang memiliki banyak aplikasi. Bahasa pemrograman ini diciptakan oleh Guido Van Rossum pada tahun 1991 dan sejak saat itu berkembang menjadi salah satu bahasa pemrograman yang paling populer.
Dalam artikel ini, kita akan membahas tentang Python, kelebihan, kekurangan, kasus penggunaan, dan opsi penerapannya. Selain itu, kami akan mendemonstrasikan cara membangun, mendokumentasi, dan men-deploy aplikasi Python sederhana ke Back4app Container.
Teruslah membaca untuk mempelajari lebih lanjut cara membangun dan menggunakan proyek Python.
Contents
Gambaran Umum Python
Python adalah bahasa pemrograman tujuan umum tingkat tinggi. Bahasa ini ditafsirkan, diketik secara dinamis, dan dapat digunakan untuk membuat skrip serta pemrograman. Para pengembang biasanya menggambarkan Python sebagai bahasa dengan “baterai yang disertakan” karena perpustakaan standarnya yang luas.
Bahasa ini pertama kali muncul pada tahun 1991 dan sejak saat itu menjadi salah satu bahasa pemrograman yang paling populer dan dicintai karena sintaksnya yang sederhana dan mudah dibaca. Prinsip-prinsip desain utama Python tercakup dalam buku The Zen of Python yang ditulis oleh Tim Peters.
Python memiliki komunitas pengembang yang sangat besar dan paket-paket yang siap digunakan. Saat ini, Python digunakan hampir di mana saja – dalam administrasi server, komputasi ilmiah, pembelajaran mesin, membangun RESTful API, dan sebagainya. Python dapat dianggap sebagai salah satu keterampilan penting bagi pengembang modern.
Keuntungan dari Python
Mudah Digunakan
Python adalah salah satu bahasa yang paling mudah digunakan dan dipelajari. Kurva pembelajarannya hampir tidak ada karena filosofi desain utamanya menekankan kesederhanaan dan keterbacaan kode. Python juga disukai di dunia pendidikan karena merupakan alat yang bagus untuk mempelajari konsep pemrograman dasar.
Perkembangan Pesat
Kelebihan lain dari Python adalah memungkinkan pengembangan yang cepat. Ini adalah bahasa yang bagus untuk membuat prototipe dan menyelesaikan pekerjaan dengan cepat. Dengan menggunakan Python, Anda tidak perlu khawatir tentang sintaks yang rumit, alokasi memori, dan sebagainya, sebaliknya, Anda dapat fokus pada aplikasi Anda.
Serbaguna
Python adalah salah satu bahasa pemrograman yang paling serbaguna. Bahasa ini digunakan di berbagai industri dan bidang. Beberapa bidang yang menggunakan Python termasuk akuntansi, penelitian ilmiah, ilmu data, pengembangan web, pengembangan game, dan otomatisasi.
Portabel
Python adalah bahasa yang portabel karena bahasa ini ditafsirkan (seperti Java) dan tidak dikompilasi (seperti C++). Artinya, kode yang ditulis di satu platform dapat dengan mudah ditransfer ke platform lain. Hal ini membuat Python menjadi pilihan populer bagi para pengembang yang perlu mendukung berbagai platform, termasuk Windows, macOS, Linux, dan Android.
Perpustakaan yang Luas
Bahasa pemrograman Python didukung oleh komunitas pengembang yang sangat besar. Ada pustaka untuk hampir semua hal yang dapat Anda bayangkan. Beberapa pustaka yang paling populer termasuk:
- Pengembangan Web(Django, Flask, FastAPI)
- Pembelajaran Mesin dan Ilmu Data(TensorFlow, PyTorch)
- Visi Komputer(OpenCV, Bantal, Scikit-image)
- Komputasi Ilmiah(NumPy, SciPy)
- Antarmuka Pengguna Grafis(Qt, GTK)
Dan itu baru sebagian kecil saja. Jika Anda ingin melihat daftar lengkap paket Python yang mengagumkan, lihatlah awesome-python di GitHub.
Diketik Secara Dinamis
Python adalah bahasa yang diketik secara dinamis yang berarti Anda tidak perlu mendeklarasikan tipe data saat membuat variabel. Tipe variabel hanya ditetapkan ketika kode sedang dieksekusi.
Meskipun bagus, bahasa yang diketik secara dinamis terkadang bisa menjadi pedang bermata dua. Bahasa ini biasanya lebih rentan terhadap kesalahan dan memiliki tingkat kontrol memori yang lebih rendah dibandingkan dengan bahasa yang diketik secara statis.
Dapat diperluas
Jika persyaratan proyek Anda mencakup tugas-tugas komputasi berat, Anda dapat menulisnya dalam bahasa yang lebih cepat seperti C atau C++ dan kemudian memanggilnya dari kode Python Anda.
Untuk mempelajari lebih lanjut tentang memanggil C/C++ dari Python, lihat artikel yang bagus ini.
Keterbatasan Python
Kinerja Buruk
Python relatif lambat dibandingkan dengan bahasa pemrograman lainnya. Dua faktor yang paling menghambat kinerjanya adalah Python merupakan bahasa yang diinterpretasikan dan diketik secara dinamis. Jika persyaratan proyek Anda mencakup komputasi berat atau multi-threading, Python mungkin bukan alat yang paling tepat. Anda akan jauh lebih baik menggunakan C, C++, atau bahasa lain yang dikompilasi.
Memori Intensif
Program Python dibandingkan dengan program yang ditulis dalam bahasa yang diketik secara statis biasanya mengkonsumsi lebih banyak memori dan memberikan tingkat kontrol yang lebih rendah terhadap memori. Hal ini dapat menjadi sedikit masalah jika aplikasi Anda harus hemat memori.
Rentan terhadap Kesalahan Runtime
Python sebagai bahasa yang diinterpretasikan lebih rentan terhadap kesalahan runtime. Karena tidak ada proses kompilasi, bug tidak dapat ditemukan pada saat kompilasi. Selain itu, Python diketik secara dinamis yang berarti bahwa pengembang dapat mengubah jenis variabel kapan saja. Hal ini terkadang dapat menyebabkan kesalahan dan mengharuskan pengembang untuk memperhatikan tipe variabel.
Kunci Penerjemah Global (Global Interpreter Lock/GIL)
Global Interpreter Lock (GIL) dalam Python adalah mekanisme yang memastikan hanya satu thread yang mengeksekusi bytecode Python dalam satu waktu. Meskipun hal ini menyederhanakan implementasi bahasa dan memberikan beberapa manfaat kinerja untuk beberapa jenis program tertentu, namun juga membatasi kemampuan untuk sepenuhnya memanfaatkan prosesor multi-core dalam aplikasi yang terikat dengan CPU.
Tidak Dioptimalkan untuk Akses Database
Bekerja dengan database dalam aplikasi Python bisa menjadi lebih menantang karena kurangnya antarmuka yang kuat dan ramah pengguna seperti Java Database Connectivity (JDBC). Meskipun Python masih bisa digunakan untuk operasi database yang melibatkan tugas baca-tulis sederhana, Python mungkin bukan pilihan yang paling cocok untuk aplikasi yang perlu bekerja dengan database yang besar dan kompleks.
Opsi Penerapan Python
Aplikasi Python dapat diterapkan ke beberapa platform cloud. Secara umum, kita dapat membaginya ke dalam tiga kategori berikut:
- Infrastruktur sebagai Layanan (IaaS)
- Platform sebagai Layanan (PaaS)
- Kontainer sebagai Layanan (CaaS)
IaaS adalah yang paling tidak abstrak dan CaaS adalah yang paling abstrak. Ada juga hosting konvensional, tapi saya cukup yakin Anda sudah mengenalnya.
Infrastruktur sebagai Layanan (IaaS)
Infrastructure as a Service atau IaaS adalah model komputasi awan di mana vendor pihak ketiga menawarkan sumber daya komputasi tervirtualisasi seperti server, penyimpanan, sistem operasi, dan jaringan melalui internet. Sumber daya yang disediakan kemudian dapat dikelola melalui dasbor tingkat lanjut atau API tingkat tinggi, memberikan pelanggan kendali penuh atas seluruh infrastruktur mereka.
Manfaat utama IaaS adalah skalabilitas, penghematan biaya, peningkatan dukungan, kinerja, dan keamanan. Struktur pembayaran yang diadopsi oleh sebagian besar penyedia IaaS didasarkan pada sistem pay-as-you-go, di mana Anda hanya dikenakan biaya untuk sumber daya yang Anda gunakan.
IaaS adalah model komputasi awan yang paling fleksibel dan tetap menjadi pilihan paling populer sejak diluncurkan pada awal tahun 2010. Kelemahan terbesarnya adalah pelanggan bertanggung jawab penuh atas aplikasi, sistem operasi, dan data mereka.
Platform sebagai Layanan (PaaS)
Platform as a Service (PaaS) adalah layanan komputasi awan yang menyediakan lingkungan awan bagi pengguna untuk membuat, mengelola, dan mengirimkan aplikasi. PaaS menawarkan alat yang sudah jadi untuk pengembangan, penyesuaian, dan pengujian aplikasi. Dengan PaaS, pengguna dapat berkonsentrasi pada aplikasi mereka, karena penyedia layanan menangani infrastruktur yang mendasarinya, termasuk server, sistem operasi, perangkat lunak, cadangan, dan banyak lagi.
Manfaat PaaS termasuk kecepatan lebih cepat ke pasar, peningkatan keamanan, efektivitas biaya, skalabilitas, ketersediaan tinggi, dan umumnya membutuhkan lebih sedikit kode. Namun, ada beberapa kekurangannya. Tiga kelemahan utama adalah kurangnya fleksibilitas, kurangnya kontrol, dan risiko penguncian vendor. Meskipun demikian, PaaS masih memungkinkan pengguna untuk membangun aplikasi dengan lebih cepat dan dengan biaya manajemen yang lebih sedikit.
Kontainer sebagai Layanan (CaaS)
Containers as a Service (CaaS) adalah model komputasi awan yang memungkinkan organisasi untuk mengunggah, menjalankan, menskalakan, dan mengelola kontainer mereka melalui penggunaan teknologi virtualisasi kontainer. Vendor CaaS mengabstraksikan sebagian besar pekerjaan yang diperlukan, seperti infrastruktur, sistem operasi, perangkat lunak, mesin kontainerisasi, dan lainnya.
Hal yang menarik dari kontainer adalah setelah aplikasi Anda dikontainerkan, Anda dapat menerapkannya di mana saja dan dijamin berperilaku sama. Jika diperlukan, Anda dapat berpindah dari satu vendor CaaS ke vendor lainnya. Pelanggan CaaS biasanya ditagih per kontainer (berdasarkan spesifikasi kontainer).
CaaS umumnya lebih mahal dibandingkan dengan IaaS dan PaaS, menawarkan tingkat fleksibilitas dan kontrol yang lebih rendah, dan membutuhkan beberapa pekerjaan awal misalnya, mendokumentasi aplikasi dan sebagainya. Namun demikian, ini adalah salah satu model komputasi awan yang lebih mudah untuk digunakan setelah aplikasi Anda terkontainerisasi.
Untuk mempelajari lebih lanjut tentang kontainer, lihat Apa itu Kontainer dalam Komputasi Awan?
Proses Penerapan Python
Pada bagian tutorial ini, kami akan mendemonstrasikan cara membuat dan menggunakan aplikasi Python sederhana selangkah demi selangkah. Aplikasi web akan diimplementasikan menggunakan framework Flask dan dit-deploy ke Back4app Containers.
Prasyarat
- Pengalaman dengan Python dan Flask
- Pemahaman dasar tentang Docker
- Python versi 3.8 atau yang lebih baru dan Docker Desktop terinstal
Apa yang dimaksud dengan Back4app Containers?
Back4app Containers adalah platform sumber terbuka dan gratis yang memungkinkan Anda untuk menyebarkan dan menskalakan aplikasi menggunakan kontainer yang didistribusikan secara global.
Dengan Back4app Containers, Anda dapat fokus membangun perangkat lunak dan mengirimkannya dengan cepat, tanpa harus mengkhawatirkan DevOps.
Platform ini terintegrasi erat dengan GitHub dan dilengkapi dengan sistem CI/CD bawaan. Dengan menggunakan Back4app Containers, Anda bisa membuat aplikasi Anda online dalam hitungan menit.
Mengapa menggunakan Back4app Containers?
- Terintegrasi dengan baik dengan GitHub
- Penerapan penskalaan & tanpa waktu henti
- Sangat mudah digunakan
- Dukungan pelanggan yang sangat baik
Pengenalan Proyek
Pada artikel ini, kita akan membangun dan menerapkan API RESTful sederhana yang akan berfungsi sebagai daftar TODO. API web akan memungkinkan pengguna untuk melakukan operasi CRUD dasar – seperti menambahkan tugas, menghapus tugas, menandainya sebagai selesai, dan seterusnya.
Pertama-tama kita akan mengerjakan kode sumber dan kemudian men-deploy-nya ke Back4app Flask Container. Aplikasi web akan diimplementasikan menggunakan kerangka kerja web Flask.
Jangan ragu untuk melewatkan bagian “Aplikasi Kode” dan ikuti proyek Python Anda sendiri.
Aplikasi Kode
Proyek Init
Mulailah dengan membuat direktori khusus untuk aplikasi Flask dan menavigasinya:
$ mkdir flask-todo
$ cd flask-todo
Buat lingkungan virtual dan aktifkan:
$ python3 -m venv venv && source venv/bin/activate
Selanjutnya, instal Flask melalui pip:
$ (venv) pip install Flask==2.2.2
Untuk memastikan semuanya berfungsi, mari kita ganti konten app.py dengan yang berikut ini:
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index_view():
return {
'detail': 'Hello world'
}
Kode ini menginisialisasi Flask dan membuat titik akhir sederhana yang mengembalikan sebuah pesan.
Mulai server dengan:
$ (venv) flask run
Terakhir, buka http://localhost:5000/ di browser favorit Anda. Anda akan melihat pesan yang bertuliskan Hello world
.
Basis data
Selanjutnya, mari kita bahas tentang database.
Alih-alih mengeksekusi SQL mentah, kita akan menggunakan Flask-SQLAlchemy – sebuah ORM Flask sederhana. Untuk menginstalnya jalankan:
$ (venv) pip install Flask-SQLAlchemy
Selanjutnya, ganti isi app.py dengan yang berikut ini:
# app.py
from datetime import datetime
from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
app = Flask(__name__)
app.config['SECRET_KEY'] = '5b3ef5s80gl3b217c20fb37044fe4k33'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///default.db"
db.init_app(app)
class Task(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128), nullable=False)
description = db.Column(db.String(256), nullable=False)
is_done = db.Column(db.Boolean, default=False)
created_at = db.Column(db.DateTime, default=datetime.now(), nullable=True)
updated_at = db.Column(db.DateTime, default=None, nullable=True)
def as_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
def __repr__(self):
return f'<Task {self.title}>'
@app.route('/')
def index_view():
return {
'name': 'flask-todo',
'description': 'a simple todo app written in flask',
'version': 1,
}
Kode ini mengonfigurasi Flask dan mendefinisikan sebuah model baru bernama Task
. Model task memiliki nama
, deskripsi
, is_done
, dan beberapa variabel lain seperti created_at
dan updated_at
yang akan kita perbarui secara dinamis.
Selanjutnya, buat skrip Python bernama init_db.py yang menginisialisasi dan mengisi basis data SQLite:
# init_db.py
from app import db, app
from app import Task
with app.app_context():
db.create_all()
if Task.query.count() == 0:
tasks = [
Task(name='Backup the database', description='Make sure to backup the database with all the tables.'),
Task(name='Setup 2FA', description='Setup the two factor authentication to secure your account.'),
Task(name='Malware scan', description='Perform a malware scan.'),
]
for task in tasks:
db.session.add(task)
db.session.commit()
Jalankan skrip dari baris perintah:
$ (venv) python init_db.py
Anda akan melihat bahwa direktori baru bernama instance telah dibuat. Di dalam direktori tersebut, akan ada default.db yang merupakan database default.
API
Aplikasi Flask akan memiliki URL berikut:
/api/
mengembalikan daftar semua tugas/api/
/ menampilkan atau menghapus tugas tertentu/api/create/
membuat tugas baru/api/toggle/
/ untuk mengalihkan sifatis_done
dari tugas tertentu
Untuk mengimplementasikannya, tambahkan kode berikut ini ke akhir app.py:
# app.py
@app.route('/api/')
def list_view():
json = [task.as_dict() for task in Task.query.all()]
return jsonify(json)
@app.route('/api/<int:task_id>/', methods=['GET', 'DELETE'])
def detail_view(task_id):
task = db.get_or_404(Task, task_id)
if request.method == 'DELETE':
db.session.delete(task)
db.session.commit()
return {
'detail': 'Task has been successfully deleted.'
}
else:
return task.as_dict()
@app.route('/api/create/', methods=['POST'])
def create_view():
name = request.form.get('name')
description = request.form.get('name')
if name is None or description is None:
return {
'detail': 'Please provide the name and the description.'
}, 400
task = Task(name=name, description=description)
db.session.add(task)
db.session.commit()
return task.as_dict()
@app.route('/api/toggle/<int:task_id>/')
def toggle_view(task_id):
task = db.get_or_404(Task, task_id)
if task.is_done:
task.is_done = False
else:
task.is_done = True
task.updated_at = datetime.now()
db.session.commit()
return task.as_dict()
Kode ini cukup jelas. Kita telah mendefinisikan rute yang dibutuhkan dan mengimplementasikan logika yang dibutuhkan. Setiap kali kita ingin membuat perubahan pada database, kita harus melakukan commit()
.
Bagus, itu saja untuk aplikasi Flask. Di bagian selanjutnya, kita akan mempersiapkan proyek kita untuk penerapan.
Gunicorn
Server web Flask tidak direkomendasikan untuk produksi karena dirancang untuk menangani satu permintaan dalam satu waktu dan mungkin tidak dapat menangani lalu lintas dalam jumlah besar. Oleh karena itu, mari kita ganti dengan Gunicorn – server Python WSGI yang siap produksi.
Pertama, instal melalui pip:
$ (venv) pip install gunicorn==20.1.0
Setelah instalasi berhasil, Anda dapat memulai server seperti biasa:
$ (venv) gunicorn -w 2 -b 0.0.0.0:5000 app:app
[INFO] Starting gunicorn 20.1.0
[INFO] Listening at: http://0.0.0.0:5000 (1)
[INFO] Using worker: sync
[INFO] Booting worker with pid: 3
[INFO] Booting worker with pid: 4
Perlu diingat bahwa perintah ini hanya bekerja pada sistem operasi berbasis UNIX.
Ini akan memulai dua pekerja Gunicorn dan mengekspos aplikasi Anda pada port 5000
. Untuk mengakses aplikasi Anda, buka peramban web favorit Anda dan buka http://localhost:5000.
persyaratan.txt
Hal terakhir yang perlu kita lakukan sebelum mendokumentasi aplikasi kita adalah membuat berkas requirements.txt. File requirements.txt digunakan untuk menentukan dependensi proyek.
Buatlah dengan menjalankan perintah berikut:
$ (venv) pip freeze > requirements.txt
Yang lain (termasuk kontainer Docker) kemudian dapat memanfaatkan berkas requirements.txt seperti itu:
$ (venv) pip install -r requirements.txt
Aplikasi Dockerize
Untuk mendockerisasi aplikasi, kita akan menggunakan Dockerfile. Dockerfile digunakan untuk mendefinisikan instruksi untuk membangun citra Docker. Dockerfile memungkinkan Anda untuk mengatur citra dasar, direktori kerja, variabel lingkungan, menjalankan perintah, dan banyak lagi.
.dockerignore
Sebelum mengerjakan Dockerfile, mari kita buat berkas .dockerignore. File .dockerignore digunakan untuk menentukan folder dan berkas apa saja yang harus dihilangkan dari gambar.
.git/
.idea/
instance/
__pycache__/
Pastikan untuk memodifikasi .dockerignore berdasarkan kebutuhan Anda.
Dockerfile
Buat berkas baru di root proyek bernama Dockerfile dengan konten berikut:
# syntax=docker/dockerfile:1.4
FROM --platform=$BUILDPLATFORM python:3.10-alpine
WORKDIR /app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install the requirements
COPY requirements.txt /app
RUN --mount=type=cache,target=/root/.cache/pip \
pip3 install -r requirements.txt
COPY . .
# initialize the database (create DB, tables, populate)
RUN python init_db.py
EXPOSE 5000/tcp
CMD ["gunicorn", "-w", "2", "-b", "0.0.0.0:5000", "app:app"]
Dockerfile ini menggunakan python:3.10-alpine
sebagai citra dasar. Kemudian mengatur direktori kerja, menginstal persyaratan, menyalin proyek, menginisialisasi basis data, dan terakhir memulai server Gunicorn pada port 5000
.
Untuk mempelajari lebih lanjut tentang Dockerfile, lihatreferensi Dockerfile .
Tes
Untuk memastikan Dockerfile berfungsi, kita dapat membangun dan menjalankannya secara lokal. Untuk membangun citra jalankan:
$ docker build -t flask-todo:1.0 .
Jika Anda mencantumkan gambar, Anda akan melihat gambar baru:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
flask-todo 1.0 7ege66240eb1 3 hours ago 109MB
Terakhir, gunakan gambar untuk memutar kontainer Docker baru:
$ docker run -it -p 5000:5000 flask-todo:1.0
[2023-02-02 20:08:57 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2023-02-02 20:08:57 +0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1)
[2023-02-02 20:08:57 +0000] [1] [INFO] Using worker: sync
[2023-02-02 20:08:57 +0000] [7] [INFO] Booting worker with pid: 3
[2023-02-02 20:08:57 +0000] [8] [INFO] Booting worker with pid: 4
Anda dapat menggunakan
-d
untuk memulai kontainer Docker dalam mode terpisah. Artinya, kontainer berjalan di latar belakang terminal Anda dan tidak menerima masukan atau menampilkan keluaran.
Hebat, aplikasi Anda sekarang berjalan di dalam kontainer. Buka http://localhost:5000 di peramban web favorit Anda untuk melihat aplikasi web Anda beraksi.
{
"name": "flask-todo",
"description": "a simple todo app written in flask",
"version": 1
}
Dorong ke GitHub
Langkah-langkah berikut ini mengharuskan Anda memiliki akun GitHub. Jika Anda belum memilikinya, silakan mendaftar dan masuk. Selain itu, pastikan Anda telah menginstal dan mengonfigurasi Git.
Setelah Anda masuk ke GitHub, gunakan tombol “plus” di bagian kanan atas layar untuk membuka menu tarik-turun. Selanjutnya, pilih “Repositori baru”:
Pilih nama khusus untuk repositori Anda. Saya akan menggunakan “flask-todo”, lalu klik “Buat repositori”:
Setelah repositori Anda dibuat, catatlah URL jarak jauhnya:
Sekarang, mari kita kembali ke proyek lokal kita dan mendorong kode.
Karena kita memiliki beberapa berkas yang tidak ingin kita dorong ke Git, buatlah berkas .gitignore di root proyek. Saya akan menambahkan yang berikut ini ke dalamnya, tetapi silakan memodifikasinya sesuai dengan kebutuhan Anda:
instance/*
!instance/.gitignore
.webassets-cache
.env
__pycache__/
*.py[cod]
*$py.class
Selanjutnya, buka baris perintah dan jalankan perintah berikut:
$ git init
$ git remote add origin <your_remote_url>
$ git add .
$ git commit -m "init"
$ git push origin master
Ini akan menginisialisasi repositori Git baru, menambahkan remote origin, VCS semua file, dan membuat komit awal. Terakhir, ini akan mendorong kode sumber ke repositori GitHub.
Bagus, seharusnya sudah selesai. Jika Anda sekarang menavigasi ke repositori Anda di peramban, Anda seharusnya dapat melihat bahwa semua file telah dikomit.
Menyebarkan Aplikasi
Langkah-langkah berikut ini mengharuskan Anda memiliki akun Back4app. Jika Anda sudah memilikinya, silakan masuk dan mendaftar untuk akun gratis.
Setelah masuk, Anda akan diarahkan ke dasbor aplikasi Anda. Klik tombol “Buat aplikasi baru” untuk memulai proses pembuatan aplikasi.
Back4app memungkinkan Anda untuk membangun dan menggunakan dua jenis aplikasi, Backend sebagai Layanan (BaaS) dan Container sebagai Layanan (CaaS). Karena kita ingin menggunakan aplikasi yang terdokumentasi, kita akan menggunakan “Container as a Service”.
Selanjutnya, hubungkan GitHub Anda dengan akun Back4app. Pastikan untuk memberikan izin Back4app ke repositori yang telah kita buat di langkah sebelumnya. Kemudian klik tombol hijau “Pilih” untuk memilihnya.
Back4app Containers memungkinkan Anda untuk mengonfigurasi proses penyebaran. Anda bisa mengatur cabang default, direktori root, mengaktifkan/menonaktifkan penerapan otomatis, dan mengatur variabel lingkungan. Kita tidak memerlukan semua itu, jadi mari kita beri nama aplikasi kita dan klik “Buat aplikasi”.
Back4app akan membutuhkan waktu beberapa saat untuk membangun kontainer, mengunggahnya ke registri kontainer, dan menjalankan kontainer. Setelah kontainer Anda siap, statusnya akan berubah menjadi “Siap” dan Anda akan dapat melihat URL hijau di sisi kiri layar.
Mengklik pada URL akan membuka aplikasi web di peramban Anda. Anda akan melihat bahwa Back4app secara otomatis mengeluarkan sertifikat SSL untuk aplikasi Anda dan memungkinkan Anda untuk meng-host aplikasi Python secara gratis.
Kesimpulan
Dalam artikel ini, Anda telah mempelajari tentang Python, kelebihan, kekurangan, dan opsi penerapannya. Anda juga telah berhasil menerapkan API RESTful Python sederhana. Sekarang Anda seharusnya dapat membuat API sederhana Anda dan men-deploy-nya ke Back4app Container.
Kode sumber akhir dapat ditemukan di GitHub.
Langkah-langkah ke depan
- Saat ini semua data akan dihapus pada setiap penyebaran ulang. Ini karena basis data disertakan dalam citra Docker. Pertimbangkan untuk beralih ke instans basis data terkelola.
- Lihatlah pembangunan multi-tahap untuk mempercepat proses penerapan.