ssm.ro Docs
Securitate, Infrastructură & OperațiuniInfrastructurăHeroku (Model Partajat)

Arhitectura Heroku

Dynos, medii de deployment, pipeline GitHub→Heroku, add-ons Postgres și Redis

Model Partajat (SaaS)

Heroku este platforma de găzduire a modelului Partajat. Modelul Enterprise rulează pe infrastructură AWS dedicată — vezi Modele de Deployment.

Medii de Deployment

Platforma SSM.ro operează trei medii distincte:

MediuURLAccesDate
Producțiehttps://www.appssm.roPublic — HTTPS (TLS 1.2+)Date reale de producție
StagingIntern — neexpus publicRestricționat — HTTP Basic Auth la edge; credențiale emise doar personalului autorizatExclusiv date de test — niciodată date de producție/clienți
DevelopmentLocal (workstation dezvoltator)Doar rețeaua locală a dezvoltatorului — nu este expus pe internetDate locale de test

Stagingul nu conține niciodată date de producție sau ale clienților.


Componente Heroku

Web Dynos

  • Găzduiesc aplicația web
  • Autoscaling configurat
  • Autentificare: username + parolă; 2FA TOTP opțional (email sau app authenticator); SSO OIDC per organizație (opțional sau exclusiv)
  • Sesiune timeout: 30 de minute de inactivitate

Worker Dynos (Joburi Asincrone)

  • Procesare asincronă a joburilor
  • Responsabilități: orchestrare semnare documente, trimitere notificări, export zilnic arhivă, sarcini programate
  • Coadă de joburi bazată pe Heroku Redis

Heroku Postgres (Managed)

  • Baza de date relațională principală, pe plan Heroku Postgres Standard
  • TLS în tranzit, criptare la repaus
  • Point-in-Time Recovery (PITR) continuu (WAL) + snapshot-uri zilnice cu retenție 30 de zile
  • Găzduiește tabelul de log-uri activitate clienți (retenție 3 luni, descărcabil de tenant)
  • Continuous Protection activat — permite rollback la un punct specific în timp

Heroku Redis (Managed)

  • Cache aplicație + coadă joburi asincrone
  • TLS în tranzit
  • Privat în rețeaua Heroku (nu accesibil din exterior)

Pipeline Build & Release

Developer → Pull Request pe GitHub
    │ review obligatoriu (branch protection pe main)

Merge în branch main
    │ webhook declanșat automat

Heroku Build
    buildpack rulează → produce release artifact (slug)


Heroku Release
    rolling restart web dynos + worker dynos


Versioned release cu audit log în Heroku Releases
    │ rollback cu un click disponibil

Patchurile critice urmează același flux pe un calendar expediat.


Backup-uri Postgres — Limite Retenție

Platforma utilizează planul Heroku Postgres Standard, care reține până la 25 de backup-uri manuale.

Pe lângă backup-urile manuale, PITR (Continuous Protection) este activ: orice modificare este backed up continuu, permițând restaurarea la orice punct din ultimele zile.


Controale Transversale Heroku

  • Tot traficul inbound: HTTPS/TLS 1.2+ prin Heroku Router cu certificate wildcard Let's Encrypt (gestionate de echipa de suport tehnic)
  • Trafic intern (App ↔ Postgres/Redis): rețea privată Heroku, TLS în tranzit
  • Secretele: exclusiv în Heroku config vars — nu în codul sursă
  • Release-uri versionate cu audit log și rollback disponibil