- Technical architecture
describing solution and tools for DevOps which will involve:
- Continuous and automated build
process that defines how the source code ‘build’ is done every time after
any developer checks-in the new code in the repository.
- Bug tracking software
- Continuous integration across
multiple sprints which defines how independent modules (code pieces)
being worked in parallel can be coherently auto-tested and reported when
they are merged with main code base.
- Continuous deployment which
defines the process and tool chain to help in complete life cycle
management for provisioning, configuring and monitoring of physical,
virtual servers, containers and cloud.
- Source code and configuration
management.
- In principle
the infrastructure should be automated at the application level, with
continuous integration from application to infrastructure. DevOps
need to have self-service access to the infrastructure and the ability to
carry out tests on exact replicas of the production application so
environment creation is a critical step.
- DevOps
would enable the Automation and would serve the below Flow :
Release Automation >
Service Virtualization > Test Automation > Static Code Analysis
DevOps
will help construct plans for each step in the complete flow :
- Preparation
of Release Plans
- Design
and Code Quality
- Functional
Quality
- Performance
and scalability
- Project
Tracking
- Monitoring
(Ex Jira etc.)
- Metrics
Preparation (Ex Sonar)
- Implementation
of Best Practices
- Standardize
Naming Conventions
- Set
up Dependency Management System(Ex Artifactory)
DevOps
will help Set up Automation In Each Step of the below Items :
- Build
- Deployment
- Code
Analysis
- Unit
Testing
- Bug
Tracking Integration
- Regression
Testing
- Functional
Testing
- Performance
Testing
- CI
tool Automation (Ex Jenkins)
- Automatic
Branch Creation and Configuration (Ex Bitbucket)
- Auto
Versioning of Different Modules
DevOps
critical milestones
- Introducing
the Tooling for Automation
- Faster
Deployment with One Click.
- Quick
Reports during deployment cycle.
Complete
Spectrum of DevOps Solution Includes
- Continuous
Integration
- Release
Automation
- Source
Control
- Project
Management and Reporting
- build
Support
- Bug
Tracking
- Code
Integrity
- Automated
Testing Integrator.
DevOps
Diverse Tooling Spectrum
- Build
: MSBuild, Maven, Ant
- Configuration
Management : SVN, GIT, Microsoft TFS
- Continuous
Integration : Jenkins/Hudson, Microsoft TFS, Microsoft TFS
- Code
review and collaboration : Sonar, MSTest, FxCop, StyleCop, CheckStyle,
PMD, Phabricator
- Automated
Testing and Test coverage : Selenium, Junit, Go-Mock, Jasmine, XCTest,
Robitium, Appium, UI Automator, Cobertura, Jacoco, Ncover, Jmeter,
SpecFlow, Visual Studio
- Deployment
: PowerShell scripts, Bash scripts, Microsoft Deployment Toolkit, Apache ACE,
TestFlight, Bots
- Infrastructure
Management : Docker, Ansible, Foreman, Chef, Puppet, Nagios, Ganglia,
NewRelic
DevOps
would enable setting up the Monitoring which would stress on the below points :
· Visibility and
notifications around all application errors
· Access to centralized
aggregated log files for viewing and searching
· Basic server utilization
trends and stats. (e.g. CPU, memory, etc.)
· Recording and alerting of
key application metrics (KPIs)
· Tracking of application
web page load times
· Ability to access the
application database and run test queries
Lastly
: Continuous Improvement Based on Feedback