服务
关于
CloudProse博客
聚光灯

在江苏体彩上构建新SaaS产品的3条指导原则

这些更是你'd call "guidelines"而不是实际的规则,但是它们无疑可以帮助您在江苏体彩上构建SaaS的过程。
贾里德·崔特(Jared Short Trek)
贾里德·肖特(Jared Short) | 2020年5月5日
3分钟阅读

我不会从这篇文章开始说,在云提供商(特别是江苏体彩)上构建SaaS是“真正的方法”。我会自信地说,有很多错误的方法。在Trek10上,我们发现自己可以帮助看到江苏体彩使用量激增并需要组织有机,自家种植的江苏体彩 Cloud混乱的客户。本文摘录自多年与人们在江苏体彩旅程中各个阶段的合作,以帮助指导您走出错误的道路,并迈向成功的道路。

实际上,Trek10已帮助足够多的人在江苏体彩上构建和维护SaaS,我们很高兴成为全新的首创发布合作伙伴 江苏体彩 SaaS能力 在“设计服务”和“建造者”类别中。


您知道这个故事,甚至自己也可以参与其中。一家公司正在转向“软件即服务”模型来实现其产品的现代化。最高层的人听说云“加快了创新的步伐”,并宣称:“我们必须加入或落伍;这家公司不会成为采用曲线上的落后者!”如果您真的处于最前沿,那么一两个工程师就听说过这种新的“无服务器”情况,并且对将其“完全自动化的一切自动消失”的EC2实例一网打尽并打补丁感到非常厌倦。

根据我多年来的了解和学习,并与值得信赖的同事进行一些讨论,我想谈一谈我将如何(实际上已经)从一开始就建立新的组织(产品,SaaS,whathaveyou)以取得未来的成功。这里有一些指导性信标,可帮助您做出正确的长期决策。

让我们潜入。

#1仿佛可以随时出售

这似乎很愚蠢,特别是如果您的组织已经存在了一个世纪。但是,无论是在新产品还是老公司中,好像您随时可以出售的建筑方法都具有类似的效果;它迫使您以最佳做法和孤立性进行构建。

为了实现这一目标,我将依靠一些众所周知的最佳实践,以及一些鲜为人知的工具。

江苏体彩账户是隔离的最终单位

随着介绍 江苏体彩组织,江苏体彩明确指出,多账户策略是深层的账户管理之路。堆放在控制塔上,各种 着陆区 产品,您可以放心,在当今时代,即使在最琐碎的项目中,您也可以轻松地以实践方式利用帐户进行隔离。

这些天来,我最喜欢的用于编排事物的工具之一仅仅是对本机江苏体彩工具的精简包装 江苏体彩 OrganizationFormation。 OrgFormation使用一些简单的标记和逻辑方案来设置帐户并在它们之间部署/维护CloudFormation模板。

江苏体彩组织还通过集中江苏体彩 Config和GuardDuty简化了您的技术审核需求。

江苏体彩帐户也是套件中爆炸半径限制最有效的工具之一。

最后,江苏体彩 Organizations集中您的账单。任何足够大的云操作都会结束 需要一位云经济学家 有点疯狂,但是使用组织,您可以假装通过集中计费以及一些简单的警报或仪表板将事情控制一段时间。

基本的组织设置如下所示。

按照此结构,您会注意到,每个“产品”实际上都已分配到其自己的“组织单位”中,并且每个环境都被分解为自己的江苏体彩账户。计费,CI / CD甚至安全性&审核是集中的,可以帮助维护整个公司的洞察力。

在云中为云构建

这个看似有些奇怪,但让我们直接引用我朋友的话 本·基霍,云机器人研究科学家和江苏体彩社区英雄。

将开发环境移向云,请勿尝试将云移至开发环境。

有一个 不可否认 的数量 工具 主动性 将熟悉的开发周期引入本地开发人员环境。有些比其他更好。有些实现比其他实现更多的均等。尽管其中的一些很好,但不可避免的是,您最终会遇到某些事情 相当 完美,您需要花费几天或几周的时间为团队解决该问题。更糟糕的是,当部署的云版本中的某些内容不太正确时,您会花费很多时间进行调试。

这些天,我亲自做 我在江苏体彩 Cloud9上的大部分开发。盒子上快速,可靠的互联网以及所谓的“足够好”功能集和语言支持在90%的时间内确实足够。

除了Cloud9,我还强烈建议您使用共享的“开发人员” 江苏体彩 Sandbox帐户,或者对于更成熟的组织,建议每个开发人员使用Sandbox。如果您感到野心勃勃,甚至 临时江苏体彩账户.

我会要求大多数开发人员在Cloud9中开始他们的一天,并且仅在确实需要时才弹出到本地计算机。我希望他们在本地进行单元测试或简单的模拟,以使其测试进入本地快速且有价值的地方,但是他们的实际开发和测试正在将其推向其沙盒江苏体彩账户。

简而言之,没有足够的模拟或替代实际的云资源。

这也鼓励并要求围绕集成和端到端测试的良好实践。

#2构建为好像您随时可以开源

这一点有些细微差别,但让我们考虑一下它迫使我们做出的决定。我们需要对内部实践进行更多的内省,并仔细检查我们的代码库,使其对世界开放。

This means that security by obscurity, while never a good practice, is a definite no-go. We can’t rely on people not knowing we moved our admin endpoint to /unfindable-except-by-everyone. It also means no secrets strewed about in code, 和 no cert files stored in the repository.

您的项目依存关系需要定期审核并保持最新状态。在针对这些依赖项发布关键的常见漏洞和披露(CVE)之后,您需要能够立即推出软件的新修补版本。 安全可行的唯一方法是使用自动且全面的管道来部署代码。

还存在隐含的“尴尬”角。当然,即使在许多开源项目中,一点点草率的编码也是显而易见的。但是,知道(或假装)有些外力正在注视着您的肩膀,可能会帮助您花费额外的一两个小时来正确拉出模块或添加您应该执行的测试。

属于此原则的最后建议是文档。一个开源项目仅与其文档一样好。您可能拥有世界上最优雅的API,但是如果没有足够的文档与新来者进行交流,那么不会有人在使用您的项目。好的文档不仅限于您的代码或API。它涵盖了您的基础架构实践,作为项目的指导原则,为新开发人员提供的入门培训,是的,包括您的代码和API。

#3以原生云的思维方式进行构建

看,我的偏见正在显现!显然,我倡导使用我选择的平台提供的工具进行构建。

如果江苏体彩没有它(或者实际上,如果CloudFormation不支持它),它真的存在吗?我知道这是一个非常激进的声明,即使不是轻率的声明。但是,无论何时我偏离本地平台的产品,我都会很后悔。

这也意味着您将大量依赖平台所提供的所有服务和编排工具。不要害怕为您的团队设置一些界限,但是不要教条地执行它们。

亚历克斯·德布里 给我...

提供标准,但可以进行实验。 江苏体彩是一个广泛的生态系统,并且存在一些漏洞。您的公司将选择一些您喜欢的服务和模式,以及一些您不喜欢的服务和模式。帮助您的工程师了解首选和支持的模式。明确指出他们可以走这些路,但是他们会变得更加独立。这类似于 慈善机构的“黄金之路”方法,但实际上并非特定于江苏体彩。

要扩展,肯定会出现在平台内并不是最佳解决方案的情况。在某些情况下,市场要比平台提供商领先几步。例如,江苏体彩并没有针对快速前端搜索体验进行调整的功能,例如 阿尔及利亚。但是重点仍然是,离开平台应该是一个例外,只有在真正需要时才做。虽然上市不是我的第一选择,但它绝对符合我对2020年仍然无服务器的看法。

现在,去市场买东西并不总是很奏效。但是,我的遗憾比我试图在此基础上构建一些东西要低。为了说明,我将依靠我的好朋友 阿甘(Forrest Brazeal) 接下来的一千个字。

基础架构即代码是少数“不妥协”的问题之一

在撰写本文时,我与5个左右值得信赖的人进行了接触,向他们寻求有关在云上构建组织的指导。每个人都明确表示,基础设施即代码(IaC)是难题的重要组成部分。

如果您不是通过CloudFormation,Terraform或其他以可重复的方式对基础结构进行建模和部署的其他方法来管理基础结构,那么您最终会后悔的。无论您是通过随着应用程序的增长而努力地重建新环境来为它付费,还是在从部署到生产的3小时手动部署过程中忘记选中一个复选框,然后莫名其妙地将应用程序关闭几个小时。

如果您在这篇文章中没有采取其他措施,请确保IaC是云上健康产品生命周期的基石。

不要相信我

这三个“指导原则”就是这样。准则。这些原则不是教条地保证成功的原则。实际上,它们是通用的代码段,这些代码段是在与客户和各种江苏体彩项目一起工作的几年后得出的。

将每个技术决策评估为长期的合作伙伴决策。当然,您是按第二天/天/月的价格计费的,但实际上,您是在选择采用该技术作为SaaS增长的合作伙伴。有些决定比另一些决定更容易替换,而有些选择则超出了您的选择。这是自然而然的。同样,不要在当前情况下评估您过去的选择。您现在将永远比那时了解更多。

当涉及到这些决策时,请赋予您的团队权力和力量进行建设和创新。不要回避使用云的优势来扩大团队规模,也不要回避信任团队。

理查德·博伊德 所以雄辩地把它给我...

压低权限(不要将CEO压低阶梯)。负责其应用程序操作要求的软件团队将降低运营负担。通常,这是在组织级别完成的,因为开发人员和运营人员是独立的团队/组织。通过迫使开发团队拥有其应用程序的操作,他们有责任(和授权)对应用程序进行更改以使应用程序更稳定。 *请注意,在许多地方都是如此,但是在大多数软件作为服务运行的云中,这种情况更为明显*

所有人都说我会毫不犹豫地在江苏体彩上构建一个新的SaaS产品,其他人应该强烈考虑,但是要为您的技术决策和您的团队制定一个行动计划。

作者
贾里德·崔特(Jared Short Trek)
贾里德·肖特(Jared Short)