Software Engineer
Digikala Jan 2024 — PresentCloud platform engineer on the IaaS/PaaS team — I design and build the object storage, event-streaming and billing systems that power Digikala’s internal cloud and its external customers, working primarily in Go and Python, plus Rust and C on the CDN edge.
Digikala is Iran’s largest e-commerce platform, serving tens of millions of users with a huge product catalog, competitive pricing and nationwide delivery — all backed by a large in-house technology organization. I work on the Cloud team, which builds Digikala’s internal cloud platform and a public cloud offering: S3-compatible object storage (OSS), Compute-as-a-Service and Kubernetes-as-a-Service. My focus is the storage and billing layers that sit underneath those products and have to stay fast and correct under heavy, continuous load.
- Designed and built a glob-purge system for Digikala’s nginx CDN edge, purging cached content by pattern across a 10+ TB cache. Wrote the core in Rust and the nginx module in C, with under 2 µs per purge and about 14.5 ns per cache-HIT check.
- Built and maintained Python microservices on the Nameko framework, communicating over RabbitMQ via RPC. This decoupled, message-driven design lets each service scale and deploy independently, without tight coupling between teams or components.
- Used Redis for distributed locking and caching to keep state consistent across many service instances, PostgreSQL and MySQL for transactional data, and ElasticSearch for fast full-text search — choosing each datastore based on the access pattern it had to serve.
- Integrated Casbin to provide a single, centralized authorization layer across all microservices, so access-control rules and security policies stay consistent everywhere instead of being re-implemented (and slowly drifting) service by service.
- Designed and built the full Object Storage Service (OSS) experience in the cloud panel, integrating with Ceph RGW to expose S3-compatible storage. It shipped as a core part of the team’s OSS, Compute-as-a-Service and Kubernetes-as-a-Service offerings.
- Architected and implemented a high-performance, S3-compatible gateway in Go that sits in front of the underlying storage and exposes custom OSS features with low latency and high throughput.
- Re-architected the billing and pricing pipeline for throughput and reliability: rewrote it from Python to Go, consuming real-time usage events from Kafka in a custom wire format, processing them in-stream, and persisting metrics to ClickHouse for analytics and accurate billing.
- Led a team effort to migrate critical cloud applications from Python to Go, improving runtime performance and reducing resource usage across the platform.
- Worked with the surrounding infrastructure — OpenStack for compute and Terraform for provisioning — to keep environments reproducible and consistent across the platform.