VS

S3 <-> App <-> DynamoDB
во втором
S3 <-> SNS <-> DynamoDB
мне кажется это просто AWS-way (использовать больше сервисов AWS)
ну еще там было в вопросе про cost-effective, тут уже не знаю
Size: a a a
VS
AG
N
AG
N
BG
N
AT
VM
JM
VM
{
"rules": [
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"develop"
]
},
"description": "clean 'develop*' after 180 days",
"rulePriority": 10
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"feature"
]
},
"description": "clean 'feature*' after 180 days",
"rulePriority": 20
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"hotfix"
]
},
"description": "clean 'hotfix*' after 180 days",
"rulePriority": 30
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 1,
"tagStatus": "untagged"
},
"description": "clean Untagged after 1 day",
"rulePriority": 40
}
]
}
РР
{
"rules": [
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"develop"
]
},
"description": "clean 'develop*' after 180 days",
"rulePriority": 10
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"feature"
]
},
"description": "clean 'feature*' after 180 days",
"rulePriority": 20
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"hotfix"
]
},
"description": "clean 'hotfix*' after 180 days",
"rulePriority": 30
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 1,
"tagStatus": "untagged"
},
"description": "clean Untagged after 1 day",
"rulePriority": 40
}
]
}
VM
JM
{
"rules": [
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"develop"
]
},
"description": "clean 'develop*' after 180 days",
"rulePriority": 10
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"feature"
]
},
"description": "clean 'feature*' after 180 days",
"rulePriority": 20
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 180,
"tagStatus": "tagged",
"tagPrefixList": [
"hotfix"
]
},
"description": "clean 'hotfix*' after 180 days",
"rulePriority": 30
},
{
"action": {
"type": "expire"
},
"selection": {
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 1,
"tagStatus": "untagged"
},
"description": "clean Untagged after 1 day",
"rulePriority": 40
}
]
}
AS
AS