DevOps at a glance
Devops at a glance
A continuous software delivery approach based on lean and
agile principles involving a collaborated effort of business users, development
teams, operations teams and quality assurance teams to deliver the product or
service in a continuous manner in order to help business gain market quickly.
To summarize Devops is a business-driven software delivery approach built on
the belief that better communication and increased collaboration between
development and IT operations team leads to improved performance and faster
delivery in a continuous way.
Agile principles and lean practices are the foundation of
Devops approach. True Devops approach would involve the participation from
development, operations, QA team as well as from business executives, partners,
suppliers etc.
Jenkins is the most popular Devops solution used for both
continuous integration (CI) and continuous delivery (CD).
Why Devops?
Today companies are adopting Devops approach due to any of
the below or due to a combination of few of these
- Customer demands are increasing
- Time to market your product or services is getting faster day by day
- Tremendous pressure from your competitors
- Regulatory requirements are changing (for instance – in US healthcare market Obamacare is being replaced with Trumpcare)
- Increased customer satisfaction at a faster pace
Bottom line is that Devops approach focuses on user
experience enhancement, speed of delivery and agility. This approach
facilitates efficient release planning, reliability and maintainability by
avoiding the unnecessary environment issues faced while deployment or
configuration.
Business benefits
ü
Improved client satisfaction - Enhanced Customer
experience thru Product or Service available to customer quickly for their
feedback
ü
Increased capacity to innovate using Lean
principles and helps to capture new market opportunities at a faster pace
ü
Faster delivery added to more value to customer
& internally - by reducing the time to deliver it to customer and
leveraging the internal resources for new projects
Devops composition
Continuous delivery consisting of the below
·
Continuous Business Planning
·
Continuous Development thru collaboration
·
Continuous Integration
·
Continuous Release and Deployment
·
Continuous Testing
·
Continuous Monitoring
·
Continuous Customer Feedback
Lean principles applied to Devops
Inefficiencies that arise in the operations side can be
eliminated using the lean concepts
- Unnecessary overhead
- Unnecessary rework
- Over production
The main aim of the Devops team is minimising the
bottlenecks in the delivery chain (development to test to pre-prod to
Production environments) using lean techniques and making the software delivery
process more efficient, less time consuming with greater value add to the
customer.
The feedback from the customer can come in thru the tickets,
surveys, mobile app ratings, formal change requests. If there is a streamlined
mechanism to take the feedback continuously from customers and align it back to
business requirements for continuous delivery, then Devops approach is
achieved.
Nevertheless as part of the Devops it is also mandatory to
capture the metrics, measures that the operations team needs to capture like
environment availability, downtime, response times, resolution times as well as
the turnaround times. Most of the Devops
tools in the market today capture this automatically for reporting purpose.
Few products in the market that are good at continuous
deployment are being sold as Devops tool but do remember that continuous
deployment is only one of the components and part of Devops and not complete by
itself.
Future challenges for
Devops
In the network of inter-connected devices on the internet or
commonly referred to as Internet of Things (IOT) producing loads of data thru
systems when compared to humans generating data, handling the Devops approach
would be the next big challenge. Continuous Engineering is the Devops approach as applied to
the emergent concept of Internet of Things (or IOT in short). The obvious
difference in this approach would be that not only software is involved but
hardware too is involved that need to be continuously developed, tested,
deployed and delivered.
Mobile applications are nevertheless the future face of the
business for most sectors and Devops approach may face some challenges
here. As most of the mobile manufactures
likes Apple, Google, Microsoft have their own app store, continuous delivery on
to these app stores is the real challenge as they expect you to go with next
version of mobile app with submission and formal approval processes. Few
approaches of Devops like continuous development, continuous testing might be
implemented without any hassles on mobile apps.
Apart from the technical hindrances for implementing Devops
approach in IOT and Mobile apps, there are other challenges like multi-tier
applications, enterprises which face cultural challenges in adopting agile
practices fully or for that matter adopting lean principles, regulatory
compliances at times making it more difficult to implement.
Needless to say that adopting Devops approach means to have
a huge cultural change in large enterprises and would need major mindset change
being driven at all levels.
Conclusion
To conclude on an analogy, Devops approach is like operating
your application lifecycle management (ALM) at the CMMI level 5 mode or per
ITIL standards running in CSI (Continuous Service Improvement) mode. It just
brings the most efficient way to develop, test, deploy and monitor the
applications with less wastage (using Lean).
To add to the above, if you include continuous learning as
well to this Devops approach that would make it just perfect. Along with the
continuous feedback (from customer) step in its approach if you add continuous
learning approach (for internal to company) step, that would lead to continuous
improvement across the delivery.
Source
- Devops for Dummies (by
Sanjeev Sharma and Bernie Coyne)
Comments
Post a Comment