In today’s highly competitive market, businesses aim to launch new products faster and with better quality. Product development teams aspire to continuously deploy new features and fix operational issues quickly to keep systems running 24/7.

To answer to call and to help enterprises improve software release quality, Bell Integrator leverages leading innovations in software engineering via it’s DevOps practice. DevOps from Bell Integrator facilitates rapid deployment so that releases are in sync with the velocity of customer requirements. As a result, DevOps practices and tools allow the enterprise to spend less time on the mechanics of testing, deploying and releasing software, and focusing instead on building and updating software deliveries and new functionality.

DevOps Lifecycle

Increased cooperation and communication between development teams and operations lead to a shorter lifecycle with strong feedback loop.

DevOps Practice

Analysis

  • This phase is focused of understanding the value of implementing DevOps within the specific enterprise environment:

    • Identify system waste - the main points of failure and waste
    • Identify business value from DevOps
    • Determine relevant products and quantity of releases
    • Build and agree on the operating strategy
    • Secure management commitment

Automation

  • Infrastructure automation

    Automate almost every routine administrative task, use scripting, configuration and system management tools:

    • Deploy configuration management tool(s)
    • Write automation scripts and templates under version control for deployment
    • Automate infrastructure deployment (OS, infrastructure services)
  • Agile development

    This phase enacts quick delivery of applications. It is assumed that SCRUM on Kanban methodologies are implemented:

    • Implement a version control system
    • Deploy a suitable project management environment
    • Implement short release cycles
    • Kanban/Scum
  • Continuous involvement of Ops

    DevOps assumes increasing collaboration between Developer and the Operations teams. For instance, Operations providse feedback to Developers on software functionality to address aspects like infrastructure scalability, performance, or adapt resource requirements. To do so, the DevOps process involves:

    • Sharing project details among teams
    • Implement feedback capabilitiesEnsure that Operations is made part of the Development team and process
  • Test/Build automation

    This is the test automation phase and focuses on building continuous integration and testing processes. The scope of this phase involves examining the automation potential of every current, manual application test that is conducted by the enterprise:

    • Unit, integration and compliance test automation
    • Build automation (different environments)
    • UI test automation
    • Performance test automation
    • Implement code review system

Fast application delivery

  • Continuous delivery

    The a capability to deliver changes to production at any time:

    • Automate application deployment/delivery using configuration management frameworks
    • Prepare different environments (development, test, quality assurance, production)
  • Measure DevOps success

    In this stage, Bell Integrator works with the enterprise to define and measure the value of DevOps.. Measurement of current processes if often a first step in considering the following:

    • Deployment frequency
    • Change fail rates
    • Mean time to recover (MTTR)
    • Lead time for changes
    • Time to Market

Transformation

  • Application transformation

    New applications should provide high availability and scalability to work well within cloud environments. Bell Integrator recommends:

    • Scaling-Out applications instead of Scaling them up
    • Service oriented application (micro-services)
    • HA on application layer (not on infrastructure)
  • Cloud adaption

    This involves whether to build a private cloud or leverage an existing public cloud provider, and to migrate infrastructure and/or applications to cloud. The cloud allows the enterprise to use orchestration systems and centralized management of infrastructure/applications:

    • Migration to cloud
    • Implementation of Cloud management systems
    • Application catalogs
    • Self-service portal
    • Using cloud resources to build infrastructure and applications
  • Continuous deployment

    • Automation of infrastructure deployment
    • Automation of application deployment

DevOps Tools

Here are the tools that we either use or recommend:

Operating Systems

  • Linux (RHEL, CentOS,Ubuntu, Debian)
  • Unix (Solaris, AIX,HP/UX, etc.)
  • Windows
  • Mac OS X
  • FreeBSD

Infrastructure as a Service

  • Amazon Web Services
  • Rackspace
  • Azure
  • OpenStack

Platform as a Service

  • OpenShift
  • Cloud Foundry
  • Apcera

Virtualization Platforms

  • VMware
  • KVM
  • Xen
  • VirtualBox
  • Vagrant
  • Hyper-V

Containerization Tools

  • LXC
  • Solaris Containers
  • Docker

Linux OS Installation

  • Kickstart
  • Cobbler
  • AutoYAST
  • Spacewalk/Katello/Satellite
  • Fai

Configuration Management

  • Puppet / MCollective 
  • Chef
  • Ansible
  • CFEngine 
  • SaltStack
  • RANCID 
  • Ubuntu Juju

Test and Build Systems

  • Solano
  • Jenkins
  • Maven
  • Ant
  • Gradle
  • TeamCity
  • Bamboo

Application Deployment

  • Capistrano

Application Servers

  • JBoss
  • Tomcat
  • Jetty 
  • Glassfish
  • Websphere
  • Weblogic

Queues, Caches, etc.

  • ActiveMQ
  • RabbitMQ
  • Qpid
  • memcache
  • varnish
  • squid

Databases

  • Percona Server 
  • MySQL
  • MariaDB
  • PostgreSQL
  • OpenLDAP
  • MongoDB 
  • Cassandra
  • Redis 
  • Oracle
  • MS SQL 

Monitoring, Alerting, and Trending

  • Zabbix
  • New Relic
  • Nagios
  • Icinga
  • Graphite
  • Ganglia
  • Cacti
  • PagerDuty
  • Sensu

Logging

  • PaperTrail 
  • Logstash
  • Loggly 
  • Logentries 
  • Splunk
  • SumoLogic
  •  

Process Supervisors

  • Monit 
  • runit
  • Supervisor
  • god
  • Blue Pill
  • Upstart
  • systemd

Security

  • Snorby Threat Stack
  •  
  • Tripwire
  • Snort
  • SELinux

Miscellaneous Tools

  • Multihost SSH Wrapper
  • Code Climate
  • iPerf
  • lldpd

Web Servers

  • nginx 
  • Apache 
  • IIS

DevOps Benefits

  • Faster time to market

    Companies that adapt DevOps practices deploy 30x more frequently than their competition
  • Improved quality

    Rapid and frequent deployment makes it easier to detect and fix code defects
  • Reduced costs

    Automated delivery reduces labor costs associated with testing, deploying and releasing
  • Higher agility

    DevOps empowers businesses to quickly respond to market demand