Middle
Šta je Blue-Green deployment?
sobes.tech АИ
Одговор од АИ
Blue-Green implementacija je strategija za puštanje novih funkcija sa minimalnim vremenom zastoja, zasnovana na održavanju dva identična okruženja: "plavo" (trenutna, funkcionalna verzija) i "zeleno" (nova verzija).
Algoritam:
- Postoji aktivno "plavo" okruženje koje upravlja svim saobraćajem.
- Nova verzija aplikacije se implementira u potpuno identično, ali neaktivno "zeleno" okruženje.
- Nakon uspešnih testova u "zelenom" okruženju, saobraćaj se preusmerava na njega.
- "Plavo" okruženje se čuva za brzi rollback ili može biti korišćeno za buduće implementacije.
Ključne prednosti:
- Minimalno vreme zastoja: Prebacivanje saobraćaja se dešava gotovo trenutno.
- Jednostavan rollback: U slučaju problema sa novom verzijom, saobraćaj se lako može vratiti na "plavo" okruženje.
- Manji rizik: Nova verzija se testira u izolovanom okruženju pre promene saobraćaja.
Nedostaci:
- Duple resurse: Potrebni su resursi za održavanje dva potpuna okruženja.
- Upravljanje stanjem: Može biti teško upravljati stanjem aplikacije ako koristi bazu podataka sa stalnim promenama.
Primer promene saobraćaja korišćenjem load balancera:
// Konfiguracija load balancera ( pojednostavljena)
{
"listeners": [
{
"port": 80,
"protocol": "HTTP",
"default_actions": [
{
"type": "forward",
"target_group_arn": "arn:aws:elasticloadbalancing:..." // ARN grupe instanci "plavog" okruženja
}
]
}
]
}
# Komanda za preusmeravanje saobraćaja na "zeleno" okruženje
# (primer za AWS CLI, pretpostavlja se dostupnost ARN nove ciljne grupe)
aws elbv2 modify-listener --listener-arn "arn:aws:elasticloadbalancing:..." --default-actions Type=forward,TargetGroupArn="arn:aws:elasticloadbalancing:..." // ARN grupe instanci "zelenog" okruženja