• 项目管理


      此系列文章总结了我在2011年所负责项目的收获,主要包含了“团队建设环境搭建、功能设计(未发布)、架构设计迭代开发网站测试运维管理”,从这七方面总结一个互联网项目从创建到上线的主要过程(不包含策划和运营的工作)。本章主要介绍项目在上线前需要准备的一些工作和注意事项,另外根据项目的性质不同,需要准备的工作也会有差别,接下来所要介绍的内容只限于个人观点。

      1.1 准备工作

      1.1.1 域名注册

      有兴趣的朋友可以补补功课“域名”,在域名注册前后需要注意以下事项:

    • 域名来源通常由项目创始人在开启项目前就已经注册了,或者成立公司后由“核心员工”根据项目信息商讨使用什么域名。当确定项目的“域名组成”后可以通过 “域名提供商”查询域名是否被注册,没有注册则选择服务比较好的服务商进行注册,如果域名已经被注册,可以根据公司情况协商是否要通过交易平台购买此域名。域名注册时要注意域名的“所属人、版权信息、联系方式”等信息,防止域名后期产生版权争论。
    • 在互联网行业中,为了方便域名的记忆和推广,多数根据项目信息来决定域名,但是也有些项目是先注册了域名,再根据域名来开展项目的具体有哪些产品,这样就会导致域名约束项目的发展,一定要避免这种情况的发生。
    • 注册域名前也要考虑此域名在之前是否有被使用过,可以通过搜索引擎进行查看,防止域名对项目本身的推广产生影响。
    • 域名在注册成功后,需要删除域名的默认DNS绑定信息。
    • 为了防止项目后期受到竞争对手模仿或个人利用,要注册和项目主域名有关的受保护域名,比如主域名为“xxx.com”,根据需求注册其它后缀的域名 “xxx.cn、xxx.net、xxx.com.cn、xxx.org等”,如果不受资金的约束,可以同时注册和项目有关的域名。

      推荐域名注册商:

      1.1.2 IDC服务商

       域名问题解决后,紧接着在网站上线前要解决选择IDC服务商的问题,根据项目的情况选择“虚拟主机(云)、VPS、服务器托管”,如果选择“虚拟主机 (云)”或者“VPS”,可以根据项目的“用户群”选择一些优秀的IDC提供商。我们目前选择“服务器托管”,考虑到现场安装、维护等问题,就需要在当地 选择一些优秀的机房来托管服务器。

      在选择IDC服务商时,要考虑到机房所提供的“带宽、防火墙、内部网络环境、服务条款”等问题,注意协议上的条款和行业潜规则,在选择带宽时,要根据需求购买。

      注:由于地区问题,我们所在地区除了电信和网通机房外,没几家公司真正自建机房,所以很多时候是没得选的……

      1.1.3 网站备案

       目前网站备案是越来越麻烦了,网上流行说“备个案比领结婚证还麻烦”,所以网站在上线前一个月就要开始网站的备案工作。首先打开备案申请网站“工业和信息化部”了解一些流程文档,现在的IDC服务商都提供备案接入平台,同IDC服务商良好的沟 通可以加快网站备案的速度。网站备案时需要注意主域名的填写,以及域名所属人及IDC服务商的信息。

      注:一定不能忽视网站备案问题,避免网站上线时因为备案问题导致上线延迟。

      1.1.4 运维部署

       选择完IDC服务商后,就要开始项目物理环境的部署,由运维人员和IDC服务人员进行协调沟通,完成物理架构的部署,以及系统环境的搭配和配置,参考 “第七章、运维管理”。

      1.2 项目部署

      当准备工作都完成后,就要开始项目的部署工作,项目部署前要完成项目的开发和测试。

      1.2.1 数据迁移

      此处所指的数据迁移只是把“上线前”内部准备的数据(数据库、图片、文件)迁移到线上环境,如果前期在内部模拟和线上同样的环境,在上线时的数据迁移工作就会很轻松,只需要将数据复制到目标环境。目前的数据迁移工作比较简单,迁移内容如下:

    • 数据库:备份本地的数据库,然后还原到远程数据库服务器,也可以采用数据导入/导出来完成。
    • 图片:打包本地图片为zip,复制到远程图片服务器指定磁盘目录中,如果图片量比较大,可以由运维人员通过存储设备复制到IDC机房进行部署。
    • 文件:主要包括项目的静态资源和专题文件,同样采用远程复制即可,注意部署前要考虑到是否为最新版本或优化(压缩)过的文件。

      1.2.2 项目发布

      首次进行项目发布时,应该由开发人员进行发布部署,开发人员从源代码版本控制中提取最新的已经测试的版本,按照线上的环境进行发布程序,并部署到线上环境中。项目发布到线上环境时需要注意以下事项:

    • 动态编译:根据环境(测试、模拟、线上)的不同,如果程序中有动态引用的Services,就需要在发布前重新动态引用。
    • 发布配置:前不久刚阅读完《持续交付》这本书,书中多次强调要做好项目的配置管理工作,只有打好这个基础才能在后期完成持续集成中的自动化工作。项目发布时要根据线上环境修改项目的配置文件,并在配置说明书中讲清楚每个节点的作用,方便运维人员以后维护。在项目发布并可以稳定运行后,运维人员需要对配置文件进行备份,并且每次升级前都应该备份。
    • 合并优化:在项目生产环境时,为了方便开发和调试,会在项目中使用大量的插件和注释,项目发布时需要对已发布的程序进行优化,比如“资源文件的压缩合并、删除非编译文件的注释和调试文件”。
    • 初始设置:使用VS在发布项目时,需要把发布模式修改为“Release”,注意在“Debug”发布后修改web.config为“Release”是不行的。另外在项目发布时要注意项目的初始设置是否生效,比如“错误页、404、302”等。
    • 冒烟测试:项目发布并部署完成后,开发人员可以简单对项目的核心功能进行“冒烟测试”,查看项目是否可以正常运行。

      1.2.3 运维管理

      项目发布后,运维人员要开始对网络、操作系统、应用软件进行“封存”配置,主要的配置信息如下:

    • 硬件防火墙的规则及VPN访问权限设置、操作系统用户权限和防火墙的过滤规则,数据库服务器及软件的配置和安全设置(DBA)。
    • IIS站点的初始设置和网站目录的访问权限设置,对相关域名进行绑定(暂时不对外开放)。
    • 监控软件及应用程序的运行配置。

      可以参考“第七章、运维管理

      1.2.4 线上测试(内)和数据初始化

       项目发布后,此时站点还没有对外开放,内部人员通过VPN连接到远程机房,通过内部DNS访问“线上”的项目进行测试工作,因为线下已经对发布的项目进行了完全测试,此时的测试可以根据时间关系进行适当的冒烟测试,具体测试方法可以参考“第六章、网站测试”。

      线上测试后如果没有发现问题,此时管理员需要对测试数据进行初始化,数据初始化还包括编辑对网站内容的推荐,保证网站上线后是“丰满的”。

      1.2.5 数据备份

      在所有工作都准备结束后,运维人员要对线上发布的可运行程序及数据进行备份,“第七章、运维管理”介绍有数据备份方案。

      1.3 其它工作

      完成以上工作后,可以开通域名解析,对外公开访问权限。在项目对外公开访问前/后,根据项目的性质选择性检查以下工作是否完成:

    • 第三方服务:数据统计(Google Analytics)、网站管理工具(Google)、网站监控(监控宝)等。
    • SEO相关工作:生成网站地图(属于功能模块)、“robots.txt”设置、各大搜索引擎提交网站等。
    • 性能分析:网站各地区访问速度测试(webkaka)、前端优化检查(yslow
    • 其它检查:收藏夹图标(favicon)、Apple Mobile Web Clips Icon、死链接检查(Xenu)

      本系列目录:2011 年终项目总结

    项目管理

     
    摘要: 此系列文章总结了我在2011年所负责项目的收获,主要包含了“团队建设、环境搭建、功能设计(未发布)、架构设计、迭代开发、网站测试、运维管理”,从这七方面总结一个互联网项目从创建到上线的主要过程(不包含策划和运营的工作)。本章主要介绍项目在上线前需要准备的一些工作和注意事项,另外根据项目的性质不同,需要准备的工作也会有差别,接下来所要介绍的内容只限于个人观点。阅读全文
    posted @ 2012-02-16 07:20 Astar 阅读(444) | 评论 (1) 编辑
     
    摘要: 本章所涉及的运维管理有两部分,第一部分介绍公司内部的“IT运维”,第二节部分介绍“网站运维”的相关总结(很多内容还在实践中改善)。阅读全文
    posted @ 2012-02-06 19:14 Astar 阅读(1194) | 评论 (1) 编辑
     
    摘要: 软件测试早已成为一门学科,它也是传统软件开发周期中重要的环节。在互联网行业,网站测试也是必不可少的。回忆在自己的技术成长过程中,从中可以看出测试工作越来越被企业重视(自身所在环境)。阅读全文
    posted @ 2012-01-31 20:18 Astar 阅读(2219) | 评论 (16) 编辑
     
    摘要: 在本章开始前,先分享《软件架构师应该知道的97件事》有关开发的相关内容:程序设计是一种设计(把编写代码看成设计行为,而不是生产行为)。开发人员应该解决问题,而不是“解迷取乐”。 一行代码比五百行架构说明更有价值......阅读全文
    posted @ 2012-01-18 16:54 Astar 阅读(1110) | 评论 (5) 编辑
     
    摘要: 有关架构的概念和其重要性此处就不再详细讨论了,在很多社区和书籍中都有介绍过。在这里推荐两本书,分别是《企业应用架构模式》和《Microsoft.NET企业级应用架构设计》,其中,第二本适合.NET开发人员来看。另外,选择不同的网站 后台语言就意味着不同的架构路线和不同的开发框架,我们使用的开发语言和相关软件技术,已经在第二章中有过介绍。阅读全文
    posted @ 2012-01-08 12:12 Astar 阅读(4373) | 评论 (22) 编辑
     
    摘要: 工欲善其事,必先利其器”,在具备好的协作团队的同时又具备有好的开发环境,当然会事半功倍!本章将为大家介绍我们的技术团队在协作的过程中所用到的软件环境。阅读全文
    posted @ 2012-01-04 20:11 Astar 阅读(2535) | 评论 (7) 编辑
     
    摘要: 三年前,我见证了一家互联网电子商务公司从创业开始到最终结束的整个过程,这家公司失败的根源问题是没有做好产品的推广(money不足)。不过,在整个创业过程中,我也学到了很多东西。离开这家公司后,我想在郑州重新找一家可靠的互联网公司工作,但结果并不理想。后来,我又尝试了传统软件开发行业的工作,可几个月下来,让我认识到的问题是,当前的工作不是自己想要的,更遗憾的是,在上个公司一年多的工作积累也没有用武之地。转而在今年3月初,通过朋友的推荐并面试来到现在这家公司,很高兴自己又重新回到了互联网公司工作,而且也是创业型公司。阅读全文
    posted @ 2012-01-03 19:12 Astar 阅读(3494) | 评论 (35) 编辑
     
    摘要: 作者王晶,腾讯R&D项目总监、敏捷教练。从事通信、互联网开发、项目及研发管理多年,目前负责腾讯多个业务线重要产品的项目管理,探索并推行适合腾讯的敏捷研发及项目管理,从产品、运营、技术、管理四个方面,诠释了腾讯互联网产品研发中贯彻的价值观——“快”。阅读全文
  • 相关阅读:
    linux使用tar命令打包压缩时排除某个文件夹或文件
    SEO误区之——静态化页面
    Usage of API documented as @since1.6+
    JAVA多线程售票问题
    nginx基本配置与参数说明
    ElasticSearch搜索实例含高亮显示及搜索的特殊字符过滤
    实例讲解Nginx下的rewrite规则
    postgresql之ctid的浅谈
    【转载】PostgreSQL分区表(Table Partitioning)应用
    PostgreSQL中使用外部表
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2353579.html
Copyright © 2020-2023  润新知