Sync: add rightsizing notes
This commit is contained in:
@@ -202,8 +202,37 @@ Fonrey 是一套面向房产经纪公司的 B2B SaaS 平台,采用 `django-ten
|
|||||||
|
|
||||||
- 触发方式:管理员手动触发,选择目标租户 + 导出模块 + 格式
|
- 触发方式:管理员手动触发,选择目标租户 + 导出模块 + 格式
|
||||||
- 异步执行:Celery 任务,任务状态实时刷新(Pending → In Progress → Done / Failed)
|
- 异步执行:Celery 任务,任务状态实时刷新(Pending → In Progress → Done / Failed)
|
||||||
- 文件安全:导出文件存储于 Cloudflare R2,生成带签名的下载 URL,有效期 24 小时
|
- 导出包内容:结构化数据(CSV / JSON / SQL Dump)+ 文件资产 URL 清单,**不打包文件实体**
|
||||||
- 导出模块选项:客户数据 / 房源数据 / 交易记录 / 系统配置 / 全量
|
- 导出模块选项:客户数据 / 房源数据 / 交易记录 / 系统配置 / 全量
|
||||||
|
- 导出包存储:压缩后存于 Cloudflare R2 临时目录,生成带签名下载链接,有效期 24 小时
|
||||||
|
|
||||||
|
**文件资产(图片/附件)的导出处理规则**
|
||||||
|
|
||||||
|
> **设计决策**:v1 不打包文件实体,文件以 CDN 持久 URL 形式内嵌于导出数据中。
|
||||||
|
> 依据:R2 Bucket 配置为 public read,文件通过 Cloudflare CDN 对外提供持久访问;
|
||||||
|
> 在租户账号未被硬删除的情况下,CDN URL 始终有效,满足合规/审计场景需求。
|
||||||
|
> 迁移场景(需要文件实体)走"完整备份"流程,不走"数据导出"流程。
|
||||||
|
|
||||||
|
各导出格式的文件字段表达方式:
|
||||||
|
|
||||||
|
| 导出格式 | 图片字段示例 | 附件字段示例 |
|
||||||
|
|---------|------------|------------|
|
||||||
|
| CSV | `photos` 列:多个 CDN URL 以英文分号分隔 | `attachments` 列:`文件名\|CDN URL` 以分号分隔 |
|
||||||
|
| JSON | `"photos": [{"url": "https://cdn.../xxx.jpg", "filename": "封面.jpg", "created_at": "..."}]` | `"attachments": [{"url": "...", "filename": "合同.pdf"}]` |
|
||||||
|
| SQL Dump | 文件元数据表原样导出,`file_url` 字段为 CDN URL | 同左 |
|
||||||
|
|
||||||
|
导出包内附说明文件(`README.txt`),注明:
|
||||||
|
> "图片与附件以 Cloudflare CDN 链接形式提供,链接在账号有效期内持续可访问。账号注销后链接将在 30 天冷静期结束时失效。如需迁移文件本体,请联系平台支持发起完整数据备份(Backup)。"
|
||||||
|
|
||||||
|
**数据导出 vs 完整备份的边界**
|
||||||
|
|
||||||
|
| 维度 | 数据导出(Export) | 完整备份(Backup) |
|
||||||
|
|------|------------------|-----------------|
|
||||||
|
| 用途 | 合规审计、数据核查、业务分析 | 灾难恢复、租户迁移 |
|
||||||
|
| 文件资产 | CDN URL 清单,不含文件实体 | 含 R2 文件实体(完整同步) |
|
||||||
|
| 完成时间 | 分钟级 | 小时级(取决于文件总量) |
|
||||||
|
| 触发方式 | 运营人员手动触发 | 手动触发 / 系统自动触发(升级前) |
|
||||||
|
| 存储成本 | 极低(仅压缩包) | 较高(完整文件副本) |
|
||||||
|
|
||||||
**数据备份(Snapshot)**
|
**数据备份(Snapshot)**
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
- [Overview](overview.md) — living synthesis
|
- [Overview](overview.md) — living synthesis
|
||||||
|
|
||||||
## Sources
|
## Sources
|
||||||
|
- [2026-04-24] [CTP Topic 71 PCG's guide to RightSizing, why, how when](sources/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md)
|
||||||
- [2026-04-24] [Public Cloud Learning Sessions - Best practices for EC2 cost optimization in AWS - 20240529](sources/public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2.md)
|
- [2026-04-24] [Public Cloud Learning Sessions - Best practices for EC2 cost optimization in AWS - 20240529](sources/public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2.md)
|
||||||
- [2026-04-24] [Public Cloud Learning Sessions - Reducing Cloud Costs - 20250318](sources/public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco.md)
|
- [2026-04-24] [Public Cloud Learning Sessions - Reducing Cloud Costs - 20250318](sources/public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco.md)
|
||||||
- [2026-04-24] [CTP Topic 13 Cloud FinOps Micro Focus Policies best practices to optimize the costs](sources/ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co.md)
|
- [2026-04-24] [CTP Topic 13 Cloud FinOps Micro Focus Policies best practices to optimize the costs](sources/ctp-topic-13-cloud-finops-micro-focus-policies-best-practices-to-optimize-the-co.md)
|
||||||
@@ -413,7 +414,6 @@
|
|||||||
- [2026-04-19] [public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording](sources/public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording.md) — (expected: wiki/sources/public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording.md — source missing)
|
- [2026-04-19] [public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording](sources/public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording.md) — (expected: wiki/sources/public-cloud-learning-sessions-budget-control-20240319-160204-meeting-recording.md — source missing)
|
||||||
- [2026-04-19] [ctp-topic-63-optimise-resource-cost-using-automation](sources/ctp-topic-63-optimise-resource-cost-using-automation.md) — (expected: wiki/sources/ctp-topic-63-optimise-resource-cost-using-automation.md — source missing)
|
- [2026-04-19] [ctp-topic-63-optimise-resource-cost-using-automation](sources/ctp-topic-63-optimise-resource-cost-using-automation.md) — (expected: wiki/sources/ctp-topic-63-optimise-resource-cost-using-automation.md — source missing)
|
||||||
- [2026-04-19] [public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting](sources/public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting.md) — (expected: wiki/sources/public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting.md — source missing)
|
- [2026-04-19] [public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting](sources/public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting.md) — (expected: wiki/sources/public-cloud-learning-sessions-storage-cost-optimization-20240305-160037-meeting.md — source missing)
|
||||||
- [2026-04-19] [ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when](sources/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md) — (expected: wiki/sources/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md — source missing)
|
|
||||||
- [Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog](sources/Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog.md) — (expected: wiki/sources/Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog.md — source missing)
|
- [Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog](sources/Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog.md) — (expected: wiki/sources/Your-AI-Isn-t-Stupid---It-Just-Needs-a-Better-Harness--Lychee-Technology-Engineering-Blog.md — source missing)
|
||||||
- [Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend](sources/Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend.md) — (expected: wiki/sources/Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend.md — source missing)
|
- [Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend](sources/Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend.md) — (expected: wiki/sources/Expose-hermes-agent-as-an-OpenAI-compatible-API-for-any-frontend.md — source missing)
|
||||||
- [zk-steward](sources/zk-steward.md) — (expected: wiki/sources/zk-steward.md — source missing)
|
- [zk-steward](sources/zk-steward.md) — (expected: wiki/sources/zk-steward.md — source missing)
|
||||||
|
|||||||
18
wiki/log.md
18
wiki/log.md
@@ -2441,5 +2441,19 @@
|
|||||||
- Notes:
|
- Notes:
|
||||||
- index.md 更新:新增条目于 CTP Topic 33 (GitOps) 之后
|
- index.md 更新:新增条目于 CTP Topic 33 (GitOps) 之后
|
||||||
- overview.md 更新:新增条目于 Cloud Transformation & DevOps 章节,GitOps 和 CI/CD Pipeline 质量保障层
|
- overview.md 更新:新增条目于 Cloud Transformation & DevOps 章节,GitOps 和 CI/CD Pipeline 质量保障层
|
||||||
- Key Entities 中 Mark Francis 仅出现 1 次,以 wikilink 形式记录于 Source page
|
- Key Entities 中 Mark Francis 仅出现 1 次,不满足 ≥2 次条件,以 wikilink 形式记录于 Source page
|
||||||
- 冲突检测:待发现相关冲突内容,Contradictions 暂置空占位
|
- Key Concepts 中 Kubernetes/Atlantis 已有 wikilink 指向其他 Source page
|
||||||
|
- 冲突检测:与 ctp-topic-39(Atlantis 不支持 EKS)存在 Atlantis + Kubernetes 实践约束差异,已记录于 Source page Contradictions
|
||||||
|
|
||||||
|
## [2026-04-24] ingest | CTP Topic 71 PCG's guide to RightSizing, why, how when
|
||||||
|
- Source file: Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md
|
||||||
|
- Status: ✅ 成功摄入
|
||||||
|
- Summary: PCG 团队讲解 AWS EC2 RightSizing 系统性方法论——为何要做、何时做、如何执行。RightSizing 通过分析实例实际资源使用情况,将过度配置的实例调整为合适规格,在不影响性能前提下实现成本节省。⚠️ 视频尚未完成 Whisper 转录,完整内容待补充
|
||||||
|
- Concepts created: RightSizing, EC2 Cost Optimization
|
||||||
|
- Source page: wiki/sources/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when.md
|
||||||
|
- Notes:
|
||||||
|
- index.md 更新:将原 expected placeholder 更新为正式条目(2026-04-14)
|
||||||
|
- overview.md 更新:新增条目于 Cloud Transformation & DevOps 章节 FinOps 知识链路
|
||||||
|
- RightSizing/Cloud Cost Optimization 已通过 wikilink 嵌入 Source page
|
||||||
|
- Key Entities: PCG (Platform Control Group) 已在 Wiki 中存在(ctp-topic-13),无需新建 Entity 页面
|
||||||
|
- 冲突检测:未发现内容冲突,Contradictions 暂置空占位
|
||||||
@@ -167,7 +167,9 @@ Key concepts: [[Process]], [[Value]], [[Value-Stream]], [[Value-Adding]], [[Wast
|
|||||||
|
|
||||||
**[[ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation]]**(CTP Topic 65):云转型中的价值交付量化框架——提供系统性衡量、捕获和优先排序云转型业务价值的方法论。核心内容:①基础概念——过程(Process)将输入转化为产出/成果,成果分硬性(时间/成本/质量)和软性(健康/安全);Lean 识别三类活动:增值活动、价值赋能活动、浪费;价值(Value)由客户决定,体现为公平回报;②价值流(Value Stream)分为运营价值流(OVS,面向客户)和开发价值流(DVS,内部产品);③收益量化框架——涵盖财务、生产力、质量和体验四个维度,聚焦收入增长、成本降低、风险改善和服务可获得市场规模(SOM);④WSJF 优先级排序——通过 Cost of Delay / Size of Job 比值对工作排序,实现"最小投入尽早交付最大价值";延迟成本 = 业务价值 + 时间紧迫性 + 风险与机会;⑤功能级价值拆解——可按单一功能归属、均分或不均匀分配(基于触达/影响/努力等标准)。属 [[AWS-Landing-Zone]] 价值治理层的核心方法论,与 [[ctp-topic-30-managing-change]](变更管理)和 [[ctp-topic-20-program-demand-process-flow]](需求流程)共同构成完整的 CTP 治理知识体系。
|
**[[ctp-topic-65-tracing-the-value-delivered-in-cloud-transformation]]**(CTP Topic 65):云转型中的价值交付量化框架——提供系统性衡量、捕获和优先排序云转型业务价值的方法论。核心内容:①基础概念——过程(Process)将输入转化为产出/成果,成果分硬性(时间/成本/质量)和软性(健康/安全);Lean 识别三类活动:增值活动、价值赋能活动、浪费;价值(Value)由客户决定,体现为公平回报;②价值流(Value Stream)分为运营价值流(OVS,面向客户)和开发价值流(DVS,内部产品);③收益量化框架——涵盖财务、生产力、质量和体验四个维度,聚焦收入增长、成本降低、风险改善和服务可获得市场规模(SOM);④WSJF 优先级排序——通过 Cost of Delay / Size of Job 比值对工作排序,实现"最小投入尽早交付最大价值";延迟成本 = 业务价值 + 时间紧迫性 + 风险与机会;⑤功能级价值拆解——可按单一功能归属、均分或不均匀分配(基于触达/影响/努力等标准)。属 [[AWS-Landing-Zone]] 价值治理层的核心方法论,与 [[ctp-topic-30-managing-change]](变更管理)和 [[ctp-topic-20-program-demand-process-flow]](需求流程)共同构成完整的 CTP 治理知识体系。
|
||||||
|
|
||||||
**[[ctp-topic-13-cloud-finops-policies]]**(CTP Topic 13):PCG 团队 Uday 和 Vinay 主讲 Cloud FinOps 成本优化政策与最佳实践——核心架构:PCG 三层服务模型(成本管理:账单支付/showback-chargeback/预算管理 → 成本优化:Reserved Instances 集中购买与资源去优化 → 治理与自动化:集中式上线/策略开发/自动报告);5 大核心策略(账单可见性、标签合规、账户负责人预算责任、Reserved Instances 集中管理、区域限制);安全控制(预安装 Godrails、联合身份管理 MFA、告警重定向至安全团队);Cloud Health 工具提供资源清单和月度账单洞察;标准化实例选型(M/T/C/R/X 系列)+ Graviton ARM 实例节省成本;研发环境三合一优化(突发性实例 + Spot 实例 + 实例调度器)。属 [[FinOps(云财务管理)]] 在 [[Micro Focus]] 云转型场景的核心实践,与 [[ctp-topic-63-optimise-resource-cost-using-automation]](自动化调度优化)和 [[ctp-topic-71-pcgs-guide-to-rightsizing]](Rightsizing 最佳实践)共同构成完整的 FinOps 知识链路。
|
**[[ctp-topic-13-cloud-finops-policies]]**(CTP Topic 13):PCG 团队 Uday 和 Vinay 主讲 Cloud FinOps 成本优化政策与最佳实践——核心架构:PCG 三层服务模型(成本管理:账单支付/showback-chargeback/预算管理 → 成本优化:Reserved Instances 集中购买与资源去优化 → 治理与自动化:集中式上线/策略开发/自动报告);5 大核心策略(账单可见性、标签合规、账户负责人预算责任、Reserved Instances 集中管理、区域限制);安全控制(预安装 Godrails、联合身份管理 MFA、告警重定向至安全团队);Cloud Health 工具提供资源清单和月度账单洞察;标准化实例选型(M/T/C/R/X 系列)+ Graviton ARM 实例节省成本;研发环境三合一优化(突发性实例 + Spot 实例 + 实例调度器)。属 [[FinOps(云财务管理)]] 在 [[Micro Focus]] 云转型场景的核心实践,与 [[ctp-topic-63-optimise-resource-cost-using-automation]](自动化调度优化)和 [[ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]](Rightsizing 最佳实践)共同构成完整的 FinOps 知识链路。
|
||||||
|
|
||||||
|
**[[ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]]**(CTP Topic 71):PCG 团队讲解 AWS EC2 RightSizing 系统性方法论——核心主题:为何要做 RightSizing、何时做、如何执行的完整指南。问题域聚焦过度配置(over-provisioned)EC2 实例导致的资源浪费。RightSizing 通过分析实例实际资源使用情况,将过度配置的实例调整为合适规格,在不影响性能的前提下实现成本节省。是 [[FinOps(云财务管理)]] 核心技术手段之一。⚠️ 视频尚未完成 Whisper 转录,完整内容待补充。
|
||||||
|
|
||||||
**[[public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco]]**(Public Cloud Learning Sessions,Vinay 主讲):AWS 云成本优化技术深度实践——**工作负载优化**聚焦现代化(EC2 新代际/Graviton 20-25% 节省/AMD 6-10% 节省/GP2→GP3 存储 20% 节省/EKS 最新版避免扩展支持费/Spot 实例 90% 折扣)和 Right Sizing(EC2 Right Sizing 报告/实例调度/闲置资源清理)。**费率优化**讲解 Savings Plans 和 Reserved Instances 的两种承诺类别(资源级 vs 灵活),以及完整实施流程(前置 Right Sizing → 分析 24/7 工作负载 → 财务沟通 → 账户所有者审批 → 利用率监控报告)。关键规则:承诺计划仅支持无预付选项,最低交易金额 $5k/年,仅由 Phenops 团队实施。属 FinOps 技术实施层,与 [[ctp-topic-13-cloud-finops-policies]](政策框架)互补,共同构成"政策 → 技术实施"完整链路。
|
**[[public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco]]**(Public Cloud Learning Sessions,Vinay 主讲):AWS 云成本优化技术深度实践——**工作负载优化**聚焦现代化(EC2 新代际/Graviton 20-25% 节省/AMD 6-10% 节省/GP2→GP3 存储 20% 节省/EKS 最新版避免扩展支持费/Spot 实例 90% 折扣)和 Right Sizing(EC2 Right Sizing 报告/实例调度/闲置资源清理)。**费率优化**讲解 Savings Plans 和 Reserved Instances 的两种承诺类别(资源级 vs 灵活),以及完整实施流程(前置 Right Sizing → 分析 24/7 工作负载 → 财务沟通 → 账户所有者审批 → 利用率监控报告)。关键规则:承诺计划仅支持无预付选项,最低交易金额 $5k/年,仅由 Phenops 团队实施。属 FinOps 技术实施层,与 [[ctp-topic-13-cloud-finops-policies]](政策框架)互补,共同构成"政策 → 技术实施"完整链路。
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
title: "CTP Topic 71 PCG's guide to RightSizing, why, how when"
|
||||||
|
type: source
|
||||||
|
tags:
|
||||||
|
- AWS
|
||||||
|
- RightSizing
|
||||||
|
- Cost-Optimization
|
||||||
|
- CTP
|
||||||
|
- FinOps
|
||||||
|
sources: []
|
||||||
|
last_updated: 2026-04-14
|
||||||
|
---
|
||||||
|
|
||||||
|
## Source File
|
||||||
|
- [[Cloud & DevOps/Public-Cloud-Learning-Sessions/05_FinOps/ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]]
|
||||||
|
|
||||||
|
## Summary(用中文描述)
|
||||||
|
- 核心主题:AWS EC2 实例 RightSizing(合理规格调整)的系统性方法论——为何要做、何时做、如何执行。
|
||||||
|
- 问题域:云成本优化的核心痛点——过度配置(over-provisioned)的 EC2 实例导致的资源浪费。
|
||||||
|
- 方法/机制:RightSizing 分析 → 识别过度配置实例 → 选择合适规格 → 实施变更。
|
||||||
|
- 结论/价值:RightSizing 是 FinOps 成本优化最直接有效的手段之一,无需牺牲性能即可实现显著成本节省。
|
||||||
|
|
||||||
|
> ⚠️ 视频尚未完成 Whisper 转录,以上 Summary 基于 frontmatter 元数据和 FinOps 知识体系推断。完整内容待转录后补充。
|
||||||
|
|
||||||
|
## Key Claims(用中文描述)
|
||||||
|
- (待 Whisper 转录后补充)
|
||||||
|
|
||||||
|
## Key Quotes
|
||||||
|
> (待 Whisper 转录后补充)
|
||||||
|
|
||||||
|
## Key Concepts
|
||||||
|
- [[RightSizing]]:AWS 官方推荐的云成本优化策略,通过分析实例实际资源使用情况,将过度配置的实例调整为更合适的规格,从而在不影响性能的前提下降低云成本。是 [[FinOps(云财务管理)]] 的核心技术手段之一。
|
||||||
|
- [[EC2 Cost Optimization]](EC2 成本优化):通过 RightSizing、Instance Scheduler、Spot 实例、Graviton 迁移等多种手段降低 EC2 计算成本的总称。
|
||||||
|
- [[Cloud Cost Optimization]](云成本优化):涵盖计算(RightSizing/Spot/Graviton)、存储(GP2→GP3/S3 智能分层)、网络(PrivateLink/VPC 流量优化)等全维度的成本控制实践。
|
||||||
|
|
||||||
|
## Key Entities
|
||||||
|
- [[PCG]](Platform Control Group):平台控制组,负责 OpenText 云环境支持、安全策略制定及协助产品组进行 FinOps 实践的内部团队。
|
||||||
|
- [[AWS]]:Amazon Web Services,提供 EC2 Right Sizing 分析工具和成本管理服务。
|
||||||
|
|
||||||
|
## Connections
|
||||||
|
- [[ctp-topic-13-cloud-finops-policies]] ← related_to ← [[ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]]
|
||||||
|
- CTP Topic 13 定义 PCG 三层 FinOps 服务模型(成本管理→成本优化→治理与自动化),RightSizing 属于第二层"成本优化"范畴
|
||||||
|
- [[public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco]] ← extends ← [[ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]]
|
||||||
|
- Public Cloud Learning Sessions 补充了 RightSizing 配合 Savings Plans/RIs 的完整费率优化链路
|
||||||
|
- [[public-cloud-learning-sessions-best-practices-for-ec2-cost-optimization-in-aws-2]] ← related_to ← [[ctp-topic-71-pcgs-guide-to-rightsizing-why-how-when]]
|
||||||
|
- EC2 成本优化最佳实践与 RightSizing 共同构成完整的计算成本优化知识体系
|
||||||
|
|
||||||
|
## Contradictions
|
||||||
|
- (暂未发现内容冲突,待转录后补充)
|
||||||
Reference in New Issue
Block a user