DevOps工具集最佳实践分享
在很长一段时间开发和运维是一个硬币的两面,看起来双方分工清晰,需要较少的协同。然而现代的软件开发、部署运行越来越多的采用分布式架构、集群环境,这就要求开发人员同运维人员的技能出现了不要的交集,双方需要紧密协作才能确保应用的正常运行。随着越来越多的企业IT部门的团队在项目中采用敏捷过程进行应用的迭代开发,DevOps流程和工具集的集成应用将不仅帮助团队有效的提升产品代码质量,同时大大提高交付速度。
·
在很长一段时间开发和运维是一个硬币的两面,看起来双方分工清晰,需要较少的协同。然而现代的软件开发、部署运行越来越多的采用分布式架构、集群环境,这就要求开发人员同运维人员的技能出现了必要的交集,双方需要紧密协作才能确保应用的正常运行。随着越来越多的企业IT部门的团队在项目中采用敏捷过程进行应用的迭代开发,DevOps流程和工具集的集成应用将不仅帮助团队有效的提升产品代码质量,同时大大提高交付速度。
DevOps来源于“Development”和”Operations”两个IT词汇的组合,
云星数据提供全面的开发运维自动化解决方案,帮助企业客户实现敏捷高效的IT开发运维流程。从简单的服务器创建、各类应用系统部署、自动化测试、持续监控、动态伸缩等自动化工具集成,到先进高效的敏捷交付方法论、最佳实践的采用,最大限度地自动化研发团队、系统运维团队成员的互动协作。此外,旗下
RightCloud CMP平台产品将接管云基础设施的配置,优化和监控,自动化引擎的运行调度,使客户能够专注于他的任务,而不会因为系统的基础设置而分心。
开发人员需求:
- 持续代码修订、快速修复缺陷
- 快速响应需求、加快特性交付
运维人员需求:
- 减少频繁更新、确保应用持续稳定运行
- 自动化基础设置配置管理,持续监控告警
- 提供可以自助的应用部署服务
不同的需求导致的冲突:
- 需要改变:软件开发就是一个变化的过程(新功能、Bug缺陷修复),业务要求快速变化迭代
- 惧怕改变:一旦软件部署到生产环境,确保其稳定运行,避免变动
我们看到DevOps连接软件开发和运维,同时有效的减少了两个关键角色需求的冲突,搭建了双方协同的桥梁。DevOps不是一种方法学,也不是一种框架,而是一个打破封闭孤立,体现自动协同的原则。实施DevOps可以将其划分为如下的生命周期阶段:
自动化是整个DevOps实现的核心,对应生命周期的每个阶段都可以选择开源工具框架或商业产品。
将DevOps工具集环境作为整体服务交付是一件非常有挑战的事情。通过上图可以看到不同阶段的工具使用不同的编程语言开发,需要不同的运行环境(OS、数据库、中间件服务器等)。经过外部客户项目和内部产品研发的经验积累,我们
选取了如下的工具集的组合来落地实施DevOps,并且通过
RightCloud混合云
平台提供的资源组功能将其包装为一个服务,用户只需要简单的申请订购该服务,平台会在指定的云环境(公有云、私有云)下创建云服务器实例、自动部署配置相关工具软件即刻交付项目组进行使用,开始敏捷迭代之旅。
附:DevOps常用工具集清单
Operating Systems
- Linux (RHEL, CentOS, Ubuntu,CoreOS)
- Unix (Solaris, AIX, HP/UX, etc.)
- Windows
- Mac OS X
Infrastructure as a Service
- Amazon Web Services
- Azure
- OpenStack
- Aliyun
Virtualization Platforms
- VMware
- VirtualBox
- Vagrant
Containerization Tools
- Docker
- Rocket
- Kubernetes
Linux OS Installation
- Kickstart
- Cobbler
- Stacki
- Foreman
Configuration Management
- Ansible
- Puppet
- Chef
- Salstack
Compile and Build Systems
- Gradle
- Maven
- Ant
Integration System
- Jenkins
- Hudson
- Bamboo
Application Servers
- JBoss
- Tomcat
- Jetty
- Glassfish
- Weblogic
Web Servers
- Nginx
- Apache
Queues, Caches
- ActiveMQ
- RabbitMQ
- Memcache
Databases
- Percona Server
- MySQL
- PostgreSQL
- MongoDB
- Cassandra
- Redis
- Oracle
- MS SQL
Monitoring, Alerting, and Trending
- Nagios
- Graphite
- Ganglia
- Cacti
- PagerDuty
Logging
- PaperTrail
- Logstash
- Loggly
- ELK
- Splunk
Process Supervisors
- Monit
- Runit
- Supervisor
- God
Security
- Snorby Threat Stack
- Tripwire
- Snort
Miscellaneous Tools
- Multihost SSH Wrapper
- Code Climate
更多推荐
已为社区贡献1条内容
所有评论(0)