DevOps is an organizational culture that blends business users, developers, and operations into one cohesive team. Although a rather large group, but very efficient and capable of deploying code from idea to production with high velocity and automation. This approach changes an organization’s agility by implementing a startup mindset to deliver applications and services fast and with superior quality. DevOps should be understood as the convergence of Development, IT Operations, and Business Users.

We introduce DevOps that bring change across people, processes, and technologies. All three have to work in unity and only then are significant improvements expected.

People

People

Selecting a team consisting of both technical experts and business leaders

Process

Process

The team utilizes a process based on Agile software development

Technology

Technology

The team applies the required tools for automation, accelerating distribution across all stages of building, testing, and delivery

Excelacom Experience in DevOps

Continuous Integration

Continuous Integration

A development practice that requires developers to integrate code into a shared repository, several times a day

Configuration Management

Configuration Management

Configuration Management helps developers and system engineers to continuously define, build and manage infrastructure

Virtualization Management

Virtualization Management

Virtualization Management is sharing resources of a single hardware platform across various environments, by allowing one computer to do the job of multiple computers

Monitoring

Monitoring

Monitors host and services and is designed to inform our customers of any incidents before end-users ever need to take action

Test automation

Test automation and test data provisioning

With DevOps, testing must be continuous. Excelacom has a testing Center of Excellence and laboratories that allow smooth software development, with testing included at all stages. We will help you optimize testing scope, reduce sanitizing code, which is continuously being developed and also increase test velocity, all while focusing on the quality of the end product. To achieve this, we use integrated tools for the discovery of defects to accelerate the provisioning of lab tests and tests in production environments. Ultimately, resulting in improved test performance by replicating “real world” situations. All of which eliminates impact problem resolution and increases testing speed. Additionally, we perform acceptance tests for each deployment to receive fast feedback from customers and make the necessary improvements.

Excelacom's approach to DevOps

Development and Operations Lifecycle - from idea to retirement

Development and Operations Lifecycle
Idea

Creation of the initial wireframe and investigation to uncover information, refactoring the idea to enhance and solidify it.

Inception

Team members are identified, funding is secured, and initial environments and requirements are discussed

Plan

Different phases of projects are envisioned and prioritized with the assignment of project manager and key team members

Build

The development team works together with clients to deliver working software, based on iterative requirements and feedback

Validate

Assessment of plan to ensure correct, complete, and implemented as intended, on time and within budget

Merge

Integration with other systems taken to another level with particular attention to hidden risks of different integrations and merge clashes

Machine Learning (ML) is used to predict which software modules will have the highest probability of having defects. Additionally, ML prevents potential damage if predictions were not addressed.
Release

QA (Quality Assurance) testing, internal and external training, documentation development, and final release of the iteration into production

Operate

Operate the released systems by monitoring and orchestrating all elements to work in harmony for the best results

Configure

Focused on identification and documenting systems functions, infrastructure, and interrelationships

Detect

Collect vital system data using web-based and machine learning tools to reduce overhead and minimize impact to production throughput

Improve

Make all the necessary changes to enhance the quality of the software and then repeat the cycle

Retirement

End-of-life activities, including customer notification and migration.

Using Artificial Intelligence and Machine Learning in DevOps

Machine Learning and Development

Machine Learning (ML) is applied in numerous areas during the development process. A key role in using this technology is to predict which software modules will have the highest probability of having defects. We perform historical data correlation on the following:

  • Code complexity
  • Functionality
  • Development cost
  • Testing efforts
  • Requirement complexity
  • Developer performance
  • Errors found per module
  • When errors were found
  • How errors were found

That allows us to build a model that can be applied to the current coding cycle and predict where issues are most likely to occur and consequently recommend where to prioritize our testing resources. Additionally, other ML algorithms are utilized to model the performance of architects, designers, developers, and testers.

The above mentioned machine learning models help management with allocating resources most optimally, intelligently invest in staff training and accurately predict the time and cost to deliver each release cycle.

Machine Learning and Operations

Our ML framework incorporates sophisticated logging mechanisms that collect data on the operations of the system, which are then analyzed by our machine learning algorithms to:

  • Determine the root cause of slow/failed processes (e.g., problematic integration with an external process, incorrect process definition for a specific order type or attribute/value, bad data, human errors)
  • Enhance data integrity by modeling attribute ranges and notification of abnormal value(s)
  • Determine whether a combination of attributes in order appear outside the normal range (e.g., cost vs. bandwidth)
  • Take appropriate corrective actions when an intervention is required
  • Improve process accuracy by incrementally adding process definitions learned from manual interventions/corrections
  • Complete duration of a specific request
  • Predetermine which orders are likely to fail

Tools for smooth Operations

DevOps are a complex chained, cross-functional mode of collaboration. For these reasons, Excelacom developed an entire range of tools to guide stakeholders in understanding the execution process and for a smooth continuation into the next cycle. We have identified the necessary tools for all aspects of development, operations, and maintenance of systems and infrastructure.

Cloud Test
Jira
Chef
Keynote
GIT
Right Scale
Jenkins
OPS Works
Jmeter
Junit
Github
Apache Ant
Docker
Apache Maven
Cloud Formation
Ansible
Puppet Labs
Outlook
Skype
One Drive
Subversion
Load Strom
Key
Liqui Base

COLLABORATION of teams is our FIRST priority

Our DevOps practice relies on the same approach that we use in our software delivery. Excelacom’s agile approach focuses on:

Automated build and test
Continuous integration
Continuous delivery

To achieve success our priority is to bridge the communication gap between system users and developers. While in parallel maintaining the smooth functioning of IT operations and infrastructure maintenance.

Waterfall, Agile and DevOp

Waterfall, Agile and DevOps

DevOps is complementary to the Agile software development process. Extending and completing the Continuous Integration and Continuous Delivery (CI/CD) processes by ensuring that code is production-ready, ultimately providing value to the customer.

DevOps enables a significantly more continuous flow of work into IT operations. For instance, if development delivers code every two weeks but it is only deployed every two months, then customers miss out on the value and deployments often result in chaos and disruption.

Complexity - Solved

Complexity - Solved

By implementing the agile approach, we can address complex projects. With completed projects in low ARPU markets, our company understands that even the most sophisticated end-to-end projects can be delivered within budget, on time and with the highest quality available. With DevOps, we are in the position of helping our clients manage end-to-end engineering processes.

Continuous changes

Continuous changes.Tested and Applied.

When considering where testing fits into DevOps, Excelacom takes a comprehensive approach and tests all the stages of development and operations. We even go the extra mile by testing the idea behind every project. Since the idea is there to initiate and launch the creation of the system.

Breaking the silo

Breaking the silo.Increasing Responsiveness.

DevOps eliminate common barriers and reduce unnecessary duplicate work. DevOps organizations remove obstacles between Operations, Engineering, and Business Users by cross-training on each other’s skillset, improving everyone’s ability to appreciate and participate in each other’s tasks. Additionally, delivering high-quality collaboration, and more frequent communication among interdepartmental teams.

Excelacom DevOps Benefits

Accelerate time-to-market:

Reducing the time it takes from when an idea is designed through its availability for production or sale

Build the right product:

Developers that deliver more frequent releases and live testing of ideas get faster feedback from users

Increase productivity:

With Continuous Integration/Continuous Delivery (CI/CD), developers and testers save time setting up and fixing environments

Reliable releases:

With smaller and more frequent releases, changes in code including the number of defects and their potential impact are also reduced

Improve product quality:

Since we are continually measuring the number of defects and using DevOps, we see a significant reduction in issues (recorded as much as 90%)

Reduce cost:

Our clients perform with an average 20% reduction in OPEX

*All registered trademarks, company names and brand names used on this website are the property of their respective owners. Data on features are taken directly from related websites and marketing materials as of September, 2018. Information and features are subject to change. To report corrections, please contact us via email: info@excelacom.com