رفتن به محتوا

دربارهٔ من

اینکه چه کسی هستم، با چه ابزارهایی کار می‌کنم و چطور کار می‌کنم.

روی هر دو سمت تحویل نرم‌افزار کار می‌کنم. در سمت توسعه، سرویس‌های بک‌اند را با Python (FastAPI، Django) و Go می‌نویسم و هر جا محصول لازم داشته باشد، فرانت‌اند را با React یا Next.js می‌سازم. در سمت عملیات، سرورهای لینوکس را امن می‌کنم، سرویس‌ها را در کانتینر بسته‌بندی می‌کنم، پایپ‌لاین‌های CI را راه می‌اندازم و Prometheus، Grafana و Loki را جلوی هر چیزی که در پروداکشن اجرا می‌شود قرار می‌دهم.

بر اساس شواهد کار می‌کنم: ران‌بوک می‌نویسم، بازیابی بکاپ را واقعاً تست می‌کنم و آنچه را واقعاً بررسی شده ثبت می‌کنم. بیرون از ترمینال، ابزارهای متن‌باز DevOps را دنبال می‌کنم و بیش از ده سال است که پیانو می‌نوازم.

تکراری‌ها را خودکار کن.

اسکریپت، پلی‌بوک و ورک‌فلو به‌جای کارهای دستی.

پایداری را قابل‌دیدن کن.

هلث‌چک، هشدار و شواهدی که بشود خواند.

iliashakeri.ir ~ prodLIVE

$ curl -s https://iliashakeri.ir/build.txt

0098f7d7006ba12301bebee4fe21ccc536a191e3

$ docker compose ps --format '{{.Name}} {{.Status}}'

iliashakeri-web-1 Up (healthy)

$ systemctl is-active iliashakeri-update.timer

active · pulls new builds every 2 min

$ echo "$MOTTO"

Built to ship. Built to stay up.

whoami

نام
ایلیا شاکری
نقش
مهندس DevOps و توسعه‌دهندهٔ فول‌استک
محل زندگی
تهران، ایران
تمرکز
بک‌اند · زیرساخت · اتوماسیون
زبان‌ها
فارسی (زبان مادری) · انگلیسی (سطح حرفه‌ای)
ساعت محلی
--:--:-- IRST

جعبه‌ابزار

  • لینوکس و زیرساخت

    09
    • Linux
    • Ubuntu
    • CentOS
    • Alpine Linux
    • systemd
    • LVM
    • NFS
    • Terraform
    • Ansible

    راه‌اندازی · امن‌سازی · مدیریت پیکربندی

  • کانتینر و ارکستراسیون

    05
    • Docker
    • Docker Compose
    • Docker Swarm
    • Kubernetes
    • Helm

    ایمیج · استک Compose · چارت Helm

  • تحویل و اتوماسیون

    07
    • GitHub Actions
    • GitLab CI/CD
    • Git
    • GitHub
    • n8n
    • GNU Bash
    • Make

    بیلد · اسکن · انتشار · بازگشت نسخه

  • مانیتورینگ و مشاهده‌پذیری

    07
    • Prometheus
    • Alertmanager
    • Grafana
    • Loki
    • Elasticsearch
    • Logstash
    • Kibana

    متریک · هشدار · لاگ

  • وب، شبکه و امنیت

    10
    • Nginx
    • Apache
    • Traefik
    • Caddy
    • OpenSSL
    • Let's Encrypt
    • Keycloak
    • Trivy
    • UFW / iptables
    • Active Directory

    ریورس‌پراکسی · TLS · مدیریت هویت · امن‌سازی

  • داده و پیام‌رسانی

    09
    • PostgreSQL
    • TimescaleDB
    • MySQL
    • MariaDB
    • Galera Cluster
    • Redis
    • SQLite
    • RabbitMQ
    • MinIO

    نقش‌های حداقل دسترسی · بکاپ · تست بازیابی

  • زبان‌ها و فریم‌ورک‌ها

    21
    • Python
    • Go
    • TypeScript
    • JavaScript
    • SQL
    • FastAPI
    • Django
    • Flask
    • SQLAlchemy
    • Pydantic
    • Gunicorn
    • React
    • Next.js
    • Node.js
    • Vite
    • Tailwind CSS
    • Electron
    • OpenAPI
    • pytest
    • Playwright
    • Selenium

    اسکریپت‌نویسی · API · تست

  • همکاری و ChatOps

    05
    • Matrix
    • Element
    • Jira
    • Telegram Bot API
    • Asterisk / FreePBX

    مسیریابی هشدار · اعلان تیکت · ران‌بوک

روش کار من

  1. درک

    سیستم، محدودیت‌هایش و هزینهٔ خرابی را نقشه‌برداری کن.

    اول قرارداد را بنویس: قوانین کسب‌وکار دلفین در یک سند مشخصات بک‌اند ثبت است، نه در حافظه.

    خروجی / یک خط مبنای روشن

  2. کدنویسی زیرساخت

    زیرساخت، دسترسی‌ها و سیاست‌ها را به کد نسخه‌دار و قابل بازبینی تبدیل کن.

    فایل‌های Compose، پلی‌بوک‌های Ansible، وابستگی‌های قفل‌شده با hash و دسترسی‌های صریح دیتابیس.

    خروجی / سیستم‌های تکرارپذیر

  3. تحویل امن

    در گام‌های کوچک تست، اسکن و منتشر کن؛ همیشه با برنامهٔ بازگشت.

    ایمیج از کامیت تگ‌دار، اسکن در CI، استقرار پس از بکاپ و بازگشت با اسکریپت.

    خروجی / تحویل با اطمینان

  4. پایش و بهبود

    سلامت سرویس را بسنج، از حادثه‌ها یاد بگیر و کارهای تکراری را کم کن.

    بررسی readiness، هشدارهای Prometheus در چت و تست بازیابی روی بکاپ‌های واقعی.

    خروجی / بهبود مستمر