DevOps:
Roll out new software and functionality
quicker with high velocity DevOps
As software becomes more central, companies are looking for ways to shorten
software development cycles and push new functionality to end users quicker.
The solution is a strong DevOps strategy, and a cloud infrastructure to support it.
WHY YOU SHOULD READ THIS:
✓
Discover how to use DevOps and the
cloud to develop and introduce new
software and functionality quicker
✓
Be advised of the steps to take
for success
✓
Understand why the cloud is
ideal for your DevOps strategy
✓
Learn how TelecityGroup’s Cloud-IX
can provide a secure and reliable
connection between you and your
cloud service provider
Agile software development is a long-standing solution to the problem of rigid, cumbersome and slow software development processes. It enables end users to feedback quickly and regularly on new product development as it happens, ensuring that they end up with the software that they need to solve their particular problems. Companies must do this while keeping their software secure and reliable, which means that they cannot sacrifi ce thorough software testing.
THE BUSINESS OPPORTUNITY DEFINING DEVOPS
DevOps is a rapidly growing movement designed to streamline software development while retaining reliability. More than just a set of tools or a methodology, it is a development strategy that can revolutionise software development and make online software more relevant and engaging for end users.
DevOps brings together the two most important players in delivering and running software: developers and operations professionals. Historically, these two parties have had different goals: developers want to push out new features. Operations staff focus on reliability and availability, both of which can be threatened when developers make changes to software. These two groups traditionally operated in silos, with neither knowing much about the other’s processes. DevOps uses several techniques to integrate the two, but they all revolve around a common theme: automation.
Automated testing
Software testing tools can be scripted to create automated testing procedures that draw code from commonly-used repositories. They can automatically run tests to ensure that code works properly from deployment to production.
Automated deployment
Any software development process uses three stages for deployment: development, testing and production. Typically, these each have their own environments. DevOps professionals will script the workfl ow between the stages, ensuring that software is not pushed out before it is thoroughly tested and signed off.
Automated confi guration management
Automated confi guration management pushes standard confi gurations for virtualised hardware throughout the development, testing and operations environments. This ensures that when software moves from testing to production, it works as expected.
Monitoring
Automated monitoring is at the heart of any DevOps strategy, gluing the two contrasting operations together. Monitoring software can help to identify any problems that emerge in code performance during production, helping operations and development staff to understand what must be done to fi x it.
Customer feedback
Automatically gathering usage data for software and feeding it back to developers can help inform and prioritise future announcements. It minimises the requirements gathering effort still further for a development team which will already be in frequent communication with the operations staff, ensuring that the development process stays on track.
Is your company eager to make its
software more responsive? Do internal
users or external customers want software
with more features? As software becomes
a more central part of any business,
companies are looking for ways to shorten
software development cycles and push
new functionality to end users quickly.
Written byAditya Ayyagari, TelecityGroup David Gildeh, Dataloop.IO
STEPS TO SUCCESS
The road to competent DevOps requires both technical and cultural changes. When changing the fundamentals of how a team operates, the planning and engagement stage is crucial if the project is to realise its full potential later. Because DevOps may be threatening to some staff, metrics showing a solid return on investment are important.
1. Get senior management buy-in
The DevOps way of life will be radically different for many developers and operations staff. It is a culture of experimentation, which supports and learns from failures and mistakes. Playing the blame game won’t work if an errant script causes a system to go down for half an hour. To change the operating culture, it’s therefore essential to get senior management buy-in.
2. Audit existing software
What does your existing software infrastructure look like? The chances are that it is monolithic, with large blocks of code handling many different functions. Code in a DevOps environment works better when it is modular and component-based, so that it can be easily updated in small pieces. Understand where your code resides, what business processes it supports and how it is written.
3. Pick ‘low hanging fruit’ code for your DevOps project
Don’t boil the ocean. Find code with a high potential for return and a relatively low risk. This may be legacy code that can be decoupled from a larger code base, or it may be a new project that can form the basis for a DevOps trial.
4. Install tools and brief staff
Install tools to handle the automation side of your DevOps strategy. Many of these are available either as open-source tools, or as proprietary tools that support open-source standards. Many developers have a preference for open source, and it will minimise your risk of vendor lock-in. Be sure to embrace the benefits of a cloud-based DevOps infrastructure, which will bring benefits such as flexible provisioning for the development team. Tools required for DevOps include:
DEVOPS IN BRIEF
Opportunities
Shorter software development cycles mean more frequent software updates.
Automation minimises human error, increasing reliability. Agile development processes create more responsive development teams and more relevant software.
Challenges
Adapting existing code bases can be expensive. Cultural resistance to change is common. Developing on-premise systems to manage DevOps can be daunting.
Configuration management and code versioning Code deployment
Application and performance monitoring Log monitoring
Service monitoring.
5. Monitor metrics
Use automated monitoring to gather useful information about both operational parameters and performance, and customer usage. Experiment with reporting tools that can help you to keep both operational staff and developers abreast of these metrics.
6. Build a use case for further adoption
Companies that execute these steps effectively will find themselves well-equipped to show senior management how DevOps has enhanced software usability and shortened the development lifecycle. This will provide a solid use case for further adoption across a broader code base.
CHALLENGES
DevOps is a strategy, rather than a simple product purchase. Ensure that you have a grasp on the cultural and technical nuances of your organization before attempting to change its DNA. Here are some of the challenges that you may encounter along the way.
Process inertia
For years, software development has followed a typical pattern known as the waterfall method, in which developers talk to users very early on in the process, building lists of requirements. They then spend months in isolation, developing a product that may not match ever-changing user expectations. This method is often inefficient, however changing these processes may require retraining.
‘Blame’-based cultures
Another level of inertia may be cultural. Managers who are used to making someone accountable for system failures must get used to supporting failure and encouraging new ideas. DevOps is supposed to support fluid, entrepreneurial experiments with software features, using the protection of an automated environment to minimize disruption.
ACCELERATING DIGITAL TRANSFORMATION: USING HYBRID CLOUD RESOURCES TO DELIVER BUSINESS OUTCOMES
Watch this TelecityGroup Webinar featuring Gartner for advice on how to get the most from your hybrid cloud solution.
WATCH WEBINAR
Monolithic software
DevOps works best with a code base that is broken up into smaller components, each supporting a different software service. This makes it easier to change small amounts of code without affecting the rest of an application. Many code bases are monolithic, with one huge set of source code supporting all the services within an application. This means that over time, the software will need to be re-architected.
Expertise
Designing, implementing and supporting a DevOps strategy is a complex and demanding task. Experts come at a high premium, and this may be a hidden cost for companies that don’t expect it.
HOW THE CLOUD CAN HELP
DevOps was born in the cloud
DevOps became a buzzword because mature companies offering cloud-based software and services created it. Some companies push out roughly 20,000 software updates each day across its various properties. That would not be possible without a DevOps strategy and a cloud-based infrastructure to support it.
Virtualised environments
Public cloud infrastructures offer far better economies of scale than any in-house solution could provide for companies implementing a DevOps strategy. The ability to create as many virtualised machines as required instantly and manage them automatically is something that cloud-based service providers have perfected.
Self-provisioning
Cloud service providers enable developers to provision their own virtualised resources without the burden of hardware requisition and internal bureaucracies. This empowers them to move quicker, pushing out software updates more frequently and shortening the product cycle.
API-based architectures
Cloud services frequently use application programming interfaces (API). These enable developers to quickly script the necessary services that underpin an automated testing and deployment environment.
Toolsets and enablers
DevOps and the cloud go together naturally. Tools for tasks such as configuration and deployment were born there, and still operate there in a range of free and paid services. This is a culture that developers are used to, and it also minimizes or fully eliminates the need to license, install, customise and upgrade software in-house.
USING CLOUD-IX FOR DEVOPS
Cloud-IX from TelecityGroup can be a valuable resource when you take your DevOps initiative to the cloud. It is a secure, high-performance route to a choice of public cloud service providers, enabling customers with a TelecityGroup data centre presence to choose between multiple service partners as they hone their DevOps process. Cloud-IX can help DevOps professionals in several ways:
Redundancy
As your requirement for fast and fluid product refreshes grows, you can spread your DevOps operation across multiple cloud partners, so that if one suffers an outage, developers can keep responding to customer needs.
Flexibility
Business cycles will often dictate software refresh requirements. Companies may need to innovate frequently with software as pressure increases from their competitors. With Cloud-IX, development teams can provision as many infrastructure resources as they need to get the job done.
Frictionless access
Developers can set up application infrastructures to support a DevOps strategy easily using Cloud-IX’s innovative self-service portal and a range of different cloud service partners. Whether developers need Amazon AWS or Microsoft Azure as the basis for their automated DevOps toolset, Cloud-IX can provide.
CONTACT AN EXPERT
CONTACT AN EXPERT
Request a free cloud strategy consultation with our cloud experts.
ASSESS YOUR CLOUD STRATEGY
ASSESS YOUR CLOUD STRATEGY
Is your cloud strategy on the right path for digital transformation?