دربارهٔ من
اینکه چه کسی هستم، با چه ابزارهایی کار میکنم و چطور کار میکنم.
روی هر دو سمت تحویل نرمافزار کار میکنم. در سمت توسعه، سرویسهای بکاند را با Python (FastAPI، Django) و Go مینویسم و هر جا محصول لازم داشته باشد، فرانتاند را با React یا Next.js میسازم. در سمت عملیات، سرورهای لینوکس را امن میکنم، سرویسها را در کانتینر بستهبندی میکنم، پایپلاینهای CI را راه میاندازم و Prometheus، Grafana و Loki را جلوی هر چیزی که در پروداکشن اجرا میشود قرار میدهم.
بر اساس شواهد کار میکنم: رانبوک مینویسم، بازیابی بکاپ را واقعاً تست میکنم و آنچه را واقعاً بررسی شده ثبت میکنم. بیرون از ترمینال، ابزارهای متنباز DevOps را دنبال میکنم و بیش از ده سال است که پیانو مینوازم.
تکراریها را خودکار کن.
اسکریپت، پلیبوک و ورکفلو بهجای کارهای دستی.
پایداری را قابلدیدن کن.
هلثچک، هشدار و شواهدی که بشود خواند.
$ 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
جعبهابزار
لینوکس و زیرساخت
- Linux
- Ubuntu
- CentOS
- Alpine Linux
- systemd
- LVM
- NFS
- Terraform
- Ansible
راهاندازی · امنسازی · مدیریت پیکربندی
کانتینر و ارکستراسیون
- Docker
- Docker Compose
- Docker Swarm
- Kubernetes
- Helm
ایمیج · استک Compose · چارت Helm
تحویل و اتوماسیون
- GitHub Actions
- GitLab CI/CD
- Git
- GitHub
- n8n
- GNU Bash
- Make
بیلد · اسکن · انتشار · بازگشت نسخه
مانیتورینگ و مشاهدهپذیری
- Prometheus
- Alertmanager
- Grafana
- Loki
- Elasticsearch
- Logstash
- Kibana
متریک · هشدار · لاگ
وب، شبکه و امنیت
- Nginx
- Apache
- Traefik
- Caddy
- OpenSSL
- Let's Encrypt
- Keycloak
- Trivy
- UFW / iptables
- Active Directory
ریورسپراکسی · TLS · مدیریت هویت · امنسازی
داده و پیامرسانی
- PostgreSQL
- TimescaleDB
- MySQL
- MariaDB
- Galera Cluster
- Redis
- SQLite
- RabbitMQ
- MinIO
نقشهای حداقل دسترسی · بکاپ · تست بازیابی
زبانها و فریمورکها
- 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
- Matrix
- Element
- Jira
- Telegram Bot API
- Asterisk / FreePBX
مسیریابی هشدار · اعلان تیکت · رانبوک
روش کار من
درک
سیستم، محدودیتهایش و هزینهٔ خرابی را نقشهبرداری کن.
اول قرارداد را بنویس: قوانین کسبوکار دلفین در یک سند مشخصات بکاند ثبت است، نه در حافظه.
خروجی / یک خط مبنای روشن
کدنویسی زیرساخت
زیرساخت، دسترسیها و سیاستها را به کد نسخهدار و قابل بازبینی تبدیل کن.
فایلهای Compose، پلیبوکهای Ansible، وابستگیهای قفلشده با hash و دسترسیهای صریح دیتابیس.
خروجی / سیستمهای تکرارپذیر
تحویل امن
در گامهای کوچک تست، اسکن و منتشر کن؛ همیشه با برنامهٔ بازگشت.
ایمیج از کامیت تگدار، اسکن در CI، استقرار پس از بکاپ و بازگشت با اسکریپت.
خروجی / تحویل با اطمینان
پایش و بهبود
سلامت سرویس را بسنج، از حادثهها یاد بگیر و کارهای تکراری را کم کن.
بررسی readiness، هشدارهای Prometheus در چت و تست بازیابی روی بکاپهای واقعی.
خروجی / بهبود مستمر