浅谈创业早期技术实现思路

标签: 架构与远方 创业 架构 | 发表时间:2016-09-28 04:44 | 作者:admin
分享到:
出处:http://www.phppan.com

20130108093351_79502-1068x784

浅谈创业早期技术实现思路

创业最开始的时候,是最难的时候,此时,从0到1,从无到有,做的是自己不曾做过的事情,所以,我们称之为创业。

对于早期的技术而言,不要大而全,不用高精尖,先按需求实现,活下来再说。我们需要考虑的是哪些可以用云服务,哪些可以直接用现成的开源方案或技术,哪些需要自己开发; 我们可以粗旷一些,要的是快速出活,让产品活下来。

前期那么几杆枪,就技术而行,要用团队成员最熟悉的,要有人能全盘掌控所有的技术栈。虽然我们用的是最熟悉的东西,但是在整个技术选型和开发过程中,需要有以下几个基本的思路:

1. 原则和规范

  • 注意解耦,分层,动静分离、轻重分离的原则;
  • 开发的规范,代码及代码分支管理规范、发布流程;
  • 在开发过程中,对于公共的操作要抽象成组件,即我们常说的职责单一,如缓存操作,数据库操作等等都封装成组件,一边开发一边封装;

2. 保留水平扩展的能力

  • 业务服务端无状态,会话通过 memcache 等来管理;
  • 数据库设计考虑到一定时间内的容量,做好必要的分库分表,如1到2年的容量规划;
  • 热点数据缓存起来,将大量请求打到缓存而不是数据库;

3. 业务隔离

  • 隔离关键业务和非关键业务;
  • 隔离主业务系统与旁路上报、日志上报等周边系统;如果是 HTTP 服务,至少要在域名级别保证其隔离;
  • 不同端业务的隔离; 如 PC 侧的业务和 H5 的页面可以是同一套代码,但是域名不同,接入点不同,后端机器相同;

4. 用好开源的轮子

  • 在满足现有业务需求的情况下,对业界开源的轮子做技术选型,在能驾驭的前提下尽量使用已有的,成熟的,经过了大量公司实践的开源组件,如nginx,redis,elk等等。

5. 必要的安全策略

  • 安全是互联网应用无法回避的问题,我们需要在框架或基础组件层面引入常见的 XSS 、CSRF 和 SQL注入等安全问题的过滤;
  • 对于静态的能放到CDN的内容尽量放到CDN,一是就近接入,提高访问速度,二是减少后台的服务压力;
  • 保留快速切到云服务防 DDoS 的能力;
  • 在业务层面实现一定的规则以及联合 WEB 容器实现一定程度上的防 CC 攻击能力;

6. 备份、备份、备份

  • 宕机、不同城市的机房同时起火、光缆被挖断、数据错乱等等各种神奇的事情都有可能出现,此时备份就显示出其价值。我们不仅仅是要备份业务数据库,还要备份代码,备份部署脚本等等;
  • 当所有的不幸都发生的时候,我们所有的东西都不见的时候,我们能够很快的将应用恢复到上一个可预见的备份版本,即我们有灾备方案,最好是能够提前演练过;

7. 监控可能出现的异常

  • 使用第三方的监控服务监控网站的访问可用性,服务的可用性等;
  • 对业务的数据和关键的节点进行监控,比如做金融的需要确认每个用户的进出钱要对得上账,在这里至少要有一个监控;

8. 灰度发布

  • 前期按机器做灰度发布,一个简单的脚本就可以搞定,后期可以实现按用户灰度等,以此提高业务的连续性,保证业务的可用性;

从 0 到 1,不管是技术还是业务都是不成熟的,大家都是摸着石头过河,所以我们需要快速的试错,需要快速的反馈。

在技术层面,在保证以上一些原则的同时,快速迭代,实现产品需求,对于一些出错统计类的东西直接交给第三方来实现;在业务层面,如果是网站,一些流量分析直接也是直接交给第三方,比如百度统计,Google Analytics等,对于具体的业务,一个脚本每天早上跑出报表以邮件的形式发到指定邮件组,将相关人加入邮件组列表接以能接收到报表邮件。

以上是最开始需要注意的原则和必须要实现的东西,在此之外,还有很重要的需要搭建的内容需要持续搭建和实现,包括但不限于以下一些:

  1. 降级服务能力:在遇到正常或不正常的大流量时,可以在一定范围内将业务降级,业务降级可以前期提供手动降级能力,后续实现自动降级;
  2. 第三方服务可替换:花钱能解决问题,但花钱一般不能真正的解决问题,因为花钱买来的可能是一个坑,还是一个需要自己填的坑。在使用第三方服务时,需要多家备用可替换,如短信服务,多接两家,平时两家均衡分发,或者按业务分发,当某一家出问题时,直接切到正常的那家;
  3. 日志中心:日志是定位问题的必备工具,当后台服务有多台机器时,就不能一台一台的用 grep 搜索了,需要有一个集中存储的地方,直接上一个 elk 也许能解决大部分的问题;

创业要的是活下来,技术要的是产生价值。 架构会随着业务的发展而不断的演化。


除了眼前的苟且,还有架构与远方。

介绍创业路上的技术选型和架构、大型网站架构、高性能高可用可扩展架构实现,技术管理等相关话题,紧跟业界主流步伐。

qrcode_for_gh_5d3f534e15fe_344 (1)

相关 [创业 技术] 推荐:

技术人员创业的短板

- Ryan - DBA Notes
越来越多的做技术的朋友开始加入互联网创业的大军. 这几年来,的确见到过不少技术人员创业的成功典范,但没见到没听到过的创业不成功的案例应该更多,所以,先别受那些成功故事的蛊惑,从那些失败的项目或是创业人身上吸收经验和教训更让人受益. 作为一个技术出身的创业者,其长处当然是技术,对自己如何运用技术做出自己心目中的理想产品有把握和信心.

创业三部曲之一——学技术

- 小宇 - Tech2IPO
我从创立3家科技公司的经历中学到了什么. 36kr 上的这篇文章直截了当的告诉你,作为一个想要成功的创业者,你需要具备哪些素质. 然而,这些素质因人而异,并不是所有创业者都需要从同一个模子里造出来才 能成功. 但是,在与许多创业者接触的交流中,我们发现大家遇到一些共性问题. 这些问题并不是创业者自身素质问题,也并不是无法改变的,而是很多有想法有激 情的创业者不擅长的.

说说技术型创业团队的技术选型

- rhyttr - DBA Notes
看到微博上《程序员杂志》在征集"一分钟先生"的话题:如何做好公司/团队的技术选型. 其实大公司或者大一点的团队选型几乎不需要太多讨论的 -- 最后会不可避免的绕到技术官僚的话题上去. 这里我想简单说说技术型创业团队技术上的选型问题. 如果只能选择微软的技术路线,比如团队几个人只会用微软的技术做开发,甚至也不想学别的,那么似乎没有别的办法,将就一下吧.

续——冯大辉谈技术性创业团队的技术选型[原创]

- huyun - 运维进行时
       原文冯大辉谈技术性创业团队的技术选型提到了天涯,好吧. 站在一个天涯从事6年运维工作的角度,我就多说几句,天涯属于破釜沉舟要摆脱这种束缚的这一类. 原因不用多说,文中提到的问题天涯多少都有碰到或存在. 目前已全面拥抱开源技术,这不是一时头脑发热所做出的决定. 根据现状、未来的发展策略理性来选择的.

谈谈创业公司的技术选型--朴素的技术观

- - 五四陈科学院-坚信科学,分享技术
以下内容由 [五四陈科学院]提供. 把服务器数量在千台以内(如果存在服务端),或者业务没有爆发过或者是长时间没有爆发过的公司,叫做创业公司. 有很多看上去很美好的技术,背后都有很多对应的很残酷的事实,在一个创业公司许多选择给你,你可以使用当前最炫的技术,也可以使用团队最擅长的技术. 朴素世界观,是指所有选择使用团队最擅长技术的一种观念.

2011年技术创业公司解剖分析(图表)

- PH囧ENIX - 36氪
肯定有许多的朋友都梦想着或者已经在创建自己的公司了,但是2011年的技术创业公司大概是个什么样的情况呢. 我们一起来看一个非常有趣的图表吧,以下是经过重新编辑的图表:. 不知道朋友们看完这个图表后对创业公司的认识有没有新看法呢.

写给想互联网创业, 但不懂技术的人

- corleone1969 - 互联网的那点事...
42区站长张沈鹏是个很有意思的互联网创业者,有不少想在互联网创业的互联网或者非互联网朋友跟他讨论创业问题. 他最近整理的一篇文章《写给想互联网创业, 但不懂技术的人》,我认为是想在互联网创业的人很值得参考的,不管懂不懂技术. 下面是文章全文,我将其转载到这里,是为了让更多互联网创业者看到. 文章格式不像Tech2IPO其它文章的一贯风格,但读起来很轻松,希望读者们不要介意Tech2IPO小作者的偷懒.

工程师在创业团队的技术挑战

- cong - DBA Notes
曾经有不少人对我问过类似的问题:作为技术人员在创业团队(或是小公司)工作,技术上没什么挑战,觉得自己得不到锻炼,我该怎么办. 首先要说明的是,在大一点的公司里面,最不缺的就是解决复杂技术上的资源,但是有意思的是,遇到技术"挑战"的其实是极少数的一部分工程师,大多数工程师做的都是相对可以规范起来的事情.

技术创业者怎么向投资者说话?

- 坏人 - 36氪
编者按:本文由Gary Yang撰写,他是一位商务演示演讲自由培训师和教练. 他在参加了上周日的氪学社广州站活动后写下此文,文中向我们介绍了面对潜在客户和投资者时,应该如何表达. 我希望这篇文章能对Geeks(极客们)和Tech Guys(技术小子们)有点用. 我一直在留意你们,观察你们,并为我从事的专业积累一些观点和素材.