DevOps is a relatively new concept to describe the desire of organizations to improve collaboration of two separate functions into one, so it’s not surprising that many companies struggle when it comes to improving DevOps performance. From bottlenecks that prevent DevOps adoption to differing definitions of performance improvement from one organization to the next, there are a multitude of challenges companies may face when trying to improve DevOps performance.
To help organizations solve these challenges, we reached out to a panel of DevOps experts to uncover some of the best strategies companies can employ to improve DevOps performance. From identifying specific areas for improvement, to streamlining processes and implementing systems, effective resource allocation and management, prioritization, and even transparency, our expert panel shared a multitude of challenges companies may be facing and offered specific strategies for overcoming these common roadblocks to performance improvement.
To find out what today’s leaders recommend for companies trying to improve performance, we asked a panel of DevOps experts to answer the following question:
“What’s the best way for companies struggling to improve DevOps within their organization to improve performance?”
Find out what our panel of experts had to say below.
Meet Our Panel of DevOps Experts:
Leon Fayer is Vice President at OmniTI, a provider of web infrastructures and applications for companies that require scalable, high performance, mission critical solutions. He possesses a proven background of both web application development and production deployment for complex systems and in his current role advises clients about critical aspects of project strategies. He also concentrates on educating others by writing and speaking about industry trends and best practices and sharing his own experience as related to designing and operating architectures at scale.
“For companies struggling to organizationally adopt DevOps principles, the first step to improve performance is…”
To identify the bottlenecks that prevent DevOps adoption. This means putting in place key metrics across the business to help recognize areas that most need for improvement. Once you have insight into software development and deployment pipelines side by side, the business process efficiency provides a method to pinpoint areas in need of improvement.
One of the core DevOps principles is the concept of improved communication and streamlined processing. If the metrics show that certain workflows are inefficient because of bloated processes or interaction between multiple groups – those workflows need to be reviewed and changed. This applies to both operational and business units.
One of the major fallacies of DevOps implementation across the organization is the assumption that DevOps principles only apply to technology groups. At its core, DevOps is about breaking down barriers of communication that slow down or halt business continuity, regardless of organizational unit that’s causing it. Siloing any business unit would have a negative impact on DevOps adoption across the whole organization. It is important to take the top-down approach to decision making, starting with business goals down to the software toolchain intended to support the goals. This along with monitoring key business workflow processes, helps to align everyone to the common goal, streamlining (or eliminating) a lot of archaic processes hindering organization-wide DevOps adoption.
A developer, hacker, speaker, community organizer, and entrepreneur, Levent is the founder of Movel, a mobile app design and development company in the Washington, DC area. He is actively engaged in several communities on mobile, DevOps, and full-stack development across the Mid-Atlantic region.
“Performance can mean multiple things, depending on the domain. For startups, performance may be related to…”
The product-market fit and the ability to ship early and often. Enterprises, on the other hand, may define performance as the ability to create a scalable team where large projects are maintained properly and defects are discovered early and fixed fast. For scientific projects, performance may mean the ability to obtain experiment data with fine accuracies. For a government agency, performance may be the number of citizens that use a service, with a certain level of customer satisfaction. For all of these domains, DevOps can help improve performance by creating an environment, through technology and cultural change, of deploying software to production early and often, with higher levels of automation and protected by automated checkpoints. DevOps takes best practices of years of Agile development and meshes it with advances in virtualization, automation, and process improvements. When implemented correctly, a DevOps team can shorten the release cycle, help create a higher-quality product, and improve the company’s overall market competitiveness.
Robert (Bob) Brodie is a founding partner of SUMO Heavy and a seasoned e-commerce developer and project manager. With an expertise in platforms and systems, Bob has helped many multi-million dollar companies succeed. Bob’s role at SUMO Heavy is to guide the clients’ technology strategy and lead productions teams.
“For companies struggling to improve DevOps, my advice is…”
Your DevOps team is struggling. The work is piling up and it seems like a single task never gets completed. Everyone on the team is dreading each new request that comes their way, and you feel like you’re never going to get another DevOps ticket through again. Meanwhile, your site performance is suffering, the database is getting slower, and your whole operation is about to fall apart. What went wrong?
If you’re experiencing this, you need to take a step back and look at a few important things:
- Resource Management
Without taking into account specific tools, methodologies, or procedures, we can explain each of these in a way that’s easy to understand.
First, it’s important to prioritize your issues into digestible parts. Go through each issue one at a time and add all necessary details. When approaching an issue, you should add the detail necessary to fulfill the requirements.
Once all your issues are broken down into small parts, be sure to clearly communicate with your team. There is no DevOps team anywhere that wants to be on the receiving end of a constant pile of work. Talk to the members as
a team and as individuals, find out everyone’s strengths and weaknesses, and help them with any issues they encounter. Be the leader that they need you to be.
Finally, constantly measure the workload and the team’s velocity. When workload becomes too high you have two options – reprioritize the work or hire new resources. Always be mindful of these two options.
DevOps and Performance
If your performance is degrading, you can start by having your DevOps team set up key performance indicators (KPIs) to monitor. For a website, this could be something as simple as page load time, or as complex as monitoring
queries on a database cluster. Discuss the issues as a group, rather than having just anyone go for it. That way, you can make a decision together. The most important thing is to have your team care about their work, and in order for that to happen you have to show that you care about the team.
What Can I Do?
If this is happening to you, take a step outside the stressful situation and try to be objective about the problems. Think about every situation logically and consider what it will take to solve each one. Every team works differently – some may want to tackle all the small things first, while others may want to take on the big issues. Some DevOps teams will be better at self-managing, while others will need more guidance. The most important thing is this: that everyone cares about the outcome, and that you work together to make it achievable.
Kieren Beltrame has over 20 years experience delivering complex product development and operations programs in both startup and corporate environments including Skype, Microsoft, and Rockwell. He co-founded Klood, where he is responsible for product and technology, and now resides in Calgary, Canada.
“The best way for companies struggling to improve DevOps within their organization to improve performance all begins with…”
Transparency. I was once told that sunlight is the best disinfectant, and I’ve never forgotten it. Usually when organizations are starting down the DevOps path there are a multitude of areas that they could improve, but they have no idea which is the most important. By instrumenting all of their processes and features it becomes possible to visualize the flow of work through the system, and hence identify where to focus.
There are great products on the market these days that make this possible. For example, you can use Slack to tell the entire team when a build completes or fails, or when errors occur in your runtime code. Just having visibility of these events will help the team understand where the issues occur, and hence resolve the root causes.
The fundamental focus of DevOps is to increase the speed with which quality code is released into the hands of the customer. Creating a shared reality and exposing the bottlenecks and failures along the way is the only path to
Rajesh Sethu is the Director of DevOps at Replicon. He is responsible for bridging the knowledge and insights between Replicon’s product engineering and operations teams, as well as leading a team that maintains Replicon’s cloud platform. Previously, Rajesh held various cloud/SaaS operations roles in companies such as Citrix and Cisco.
Replicon is a leader in time asset management solutions, helping companies to optimize time to improve productivity, increase profitability, and maintain labor compliance. The company has offices in five countries, with customers including Deloitte, Genentech, and Moody’s.
“The top reason that companies struggle to adapt to DevOps methodology is…”
Cultural. As DevOps is a relatively new concept in the IT industry, companies with well-established processes in particular can face the most challenges when evolving their team mindsets, methodologies, and processes so that everyone – whether they are in development, QA, or operations – is on board.
Companies who want to help DevOps succeed should follow the following recommendations:
1. Give DevOps a new initiative to easily demonstrate success. It is easier to introduce DevOps when there is a fresh project – for example, building a new product – so that there is less resistance to the processes and tools involved. Small wins can support wider advocacy within the business.
2. Make sure that DevOps is fully embraced within the organization. Companies will struggle if they take a hybrid approach with DevOps – for example, you cannot apply agile methodologies by keeping IT operations and engineering teams in traditional silos. DevOps needs teammates who are highly motivated in automating things and can help propel this within an organization.
3. Set specific and realistic goals. There are multiple types of metrics that can be set – whether they are operational metrics (e.g. building a cluster or fixing a server by a certain timeframe, migrate 100 customers to the Cloud this month), or service quality metrics (e.g. mean time to repair/mean time to deduct) that ladder up to customer satisfaction and business growth measures. Identify what goals can be set based on your most basic operational and service quality metrics, and how they line up with overall business goals.
4. Engage senior leadership for their buy-in. DevOps is a paradigm shift from the old software delivery organization to a new one that fuses software engineering and IT operations. Changes can be hard to any business, and finding advocates at the senior level can help to drive a smoother and easier transformation.
Theo founded Circonus in 2010, and continues to be its principal architect. After earning undergraduate and graduate degrees from Johns Hopkins University in computer science with a focus on graphics and randomized algorithms in distributed systems, he went on to research resource allocation techniques in distributed systems during four years of post-graduate work. In 1997, Theo founded OmniTI, which has established itself as the go-to source for organizations facing today’s most challenging scalability, performance, and security problems. A widely respected industry thought leader, Theo is the author of Scalable Internet Architectures (Sams) and a frequent speaker at worldwide IT conferences.
“I think most companies commonly struggle to improve things (such as performance) for the worst reason of all…”
They don’t define and measure things objectively. You cannot improve what you cannot measure. The most important first step in a company’s journey to improve performance (inside or outside of DevOps) is to objectively define how performance is measured and to set agreed upon goals. DevOps (due to its highly agile and collaborative nature) simply makes the subsequent journey much easier.
Troy is considered by many to be one of the world’s foremost ITIL and ITSM experts. One of his most recent publications was the book Defining IT Success Through The Service Catalog, which he co-authored. Troy holds the ITIL Service Manager and Expert certifications and has over 12 years’ experience leading enterprise-wide ITSM programs. Troy is the VP of Research, Innovation & Product Development at Pink Elephant.
“To improve DevOps within an organization, companies should look out for a few things…”
Context is king in a complex technology environment where the potential for business impact caused by IT failures or computer glitches can bring companies to their knees or impact the lives of millions of people.
The challenge is that in order to continue to support business goals, IT functions have to find a way to speed up processes without doing any harm. This is echoed in the various writings on DevOps, which identify multiple goals which also often seem to contradict each other.
DevOps: Improving the speed and flow of planned work while simultaneously increasing reliability, stability, resilience, and security of the production environment.
On one hand, there is a call for increased speed to market by increasing the rate of product releases and providing improved opportunities for customer involvement in design (the amplification of feedback loops). Another key aspect of DevOps is the call for the improved relationship between development functions and those that run the data center which ideally again results in the fast flow of planned work.
To achieve these desired rates of increased speed, other areas have to slow down and ensure things are done right to ensure that speed is possible and survivable in the case of unplanned errors. This means that disciplines such as Configuration Management, Versioning and Automated Testing, and the ability to quickly restore a stable state, have to reach levels of maturity that are often lacking in development organizations. Each development task has to address both the feature/function question (what does it have to do) as well as the non-functional requirements (what needs to be done in order to be safe). Consider this analogy: if you are flying a plane and the only dial you focus on is air speed without considering weight limits, fuel consumption, altitude, or security you might find yourself unaware of the rapidly approaching looming mountain.
Ultimately to achieve customer value we have to deliver on three critical success factors:
1) You get what you need;
2) We do it as quickly as possible, and
3) We keep you safe.
Fail in any one of these three areas and you miss the mark!
Admittedly each of these objectives have their own levels of requirement and will vary greatly depending on which technology-based service is being delivered. For example, the requirements for a system keeping planes in the air would be very different from a system that automates food distribution. This means that a DevOps professional needs to understand the business view of risk and efficiency, as well as feature based development.
Ultimately, this means that an IT Professional who wishes to pursue DevOps needs to understand the bigger picture and have the context of system thinking in order to clearly consider how certain activities need to slow down in order to speed the overall process up. DevOps itself is the product of multiple thinking models originating from sources of best practice content such as:
- Lean Improvement and Theory of Constraints
- Agile Project Management Methods
- Rapid software development lifecycle methodologies
- IT Service Management
For the DevOps professional looking to understand the larger aspect of context and systems dynamics, pursuing professional development in each of these areas would be a must.
Mr. Gene Rogers is an IT Executive with exceptional business, quality, technology, and organizational skills with broad experience in both domestic and international operations across multiple industries. He is an expert in ITIL v.3 and is a Six Sigma Black Belt. His blend of technology and business acumen has helped companies create strategies, organize functions, streamline operations, and become more cost efficient.
Gene joined SteelPointe Partners from The Ohio State University where he was the Senior IT Director for Process & Quality Management, Office of the CIO. Gene was responsible for IT Service Management including Service Strategy, Service Design, Reporting & Metrics, Continuous Service Improvement, Problem Management, Supplier Management, and the Project Management Office.
“The best way for struggling companies to improve DevOps is…”
To focus on improving two key processes. Traditional IT shops (the ones with different departments for development and infrastructure) will get the most bang for the buck in adjusting the way changes are managed and the way they monitor capacity.
For changes, the goal is to have 95% of all changes moved into the pre-approved category. Not only will this significantly improve the speed of the organization, in the long-term it will also decrease the workload on the Change Advisory Board, the Change Coordinators, and the Change Manager.
Next on the list is Capacity Management. This absolutely and positively must be automated. There are some great tools available for monitoring infrastructure capacity. Managers need to deploy one of these tools as quickly as possible. The key to making this process work, however, is not in the tool. The key is creating meaningful alerts that get action. A great tool with cryptic alerts – which in turn reduce action – is a waste of time and money.
Mustafa Kapadia is the Service Line Leader for IBM’s DevOps practice, a business advisory practice focused on helping large enterprises transform their software and application delivery. Through DevOps, organizations can get software to market faster, with better quality, less defects, reduced risk, and shortened lead times.
Prior to joining IBM, Mustafa was a management consultant with Deloitte’s Strategy & Operations practice. He lives in the San Francisco Bay Area, is an avid blogger (when time permits), a speaker, and an advisor to startups.
“The five key steps to improving DevOps within an organization include…”
1. Pick the right applications
2. Develop the vision
3. Determine the bottlenecks
4. Create the future state (people, process, and technology)
5. Sanity check
Keith Minkler is a senior developer with the Argyle Technology Group, a consulting firm located in Buffalo, NY. ATG has helped numerous technology startups in implement DevOps cultures and tools.
“Achieving success with DevOps is a blend of…”
Education, culture shift, team communication, and technology tools. Organizations need to cultivate each of these areas if they want to improve their DevOps performance and reduce their organizational friction points.
The goal of a DevOps oriented organization is to remove the handoff points that are found in more traditional development organizations. In such organizations, you might have a product owner write a specification with a handoff to the designer who creates a design. The designer in turn has a handoff to developers, who then handoff to quality assurance, and then operations, etc.
In some organizations, these handoffs become a sort of fire-and-forget handoff, with the downstream team left holding the bag if something goes wrong with the product. Upstream teams may quickly move on to the next project which can cause delays in both products when things go wrong.
The DevOps solution is a culture shift from handoffs to teamwork. A DevOps-oriented organization might build teams around products and staff the team with product owners, designers, developers, quality assurance, and operations. The teams are then empowered to make their product a success from start to finish.
In such a team, operations would be involved extremely early in product development, so they can prepare for the product launch. They can ensure operational requirements, such as monitoring, upgrades, security, and deployability are considered in the design of the product.
Hearing the feedback and requirements from operations can also help developers to better understand the production environments and limitations.
Similarly, operations might open up access to server configurations to developers through configuration management tools, which allow developers to describe server configurations and requirements as code or definitions. This reduces the handoff friction that can occur when developers tell operations what the deployment requirements will be at the last minute.
Above all, DevOps organizations need to foster a culture of teamwork from product definition to ongoing long-term operations. Operations staff need to feel that developers care just as much as they do about the long-term supportability of the product lines.
Once the culture of DevOps is in place, technology tools can help to streamline the process. Tools such as configuration management, deployment and rollback streamlining, and code review and approval can go a long way to improve the efficiency of a DevOps organization.
Clarion Coughlan is SilverStripe‘s Development Manager. Clarion is responsible for the career development of SilverStripe’s talented team of developers — overseeing things like recruitment, performance management, and professional development. She also coordinates the company’s internship and mentoring programs, and describes her role as “supporting and growing the developers at SilverStripe.”
“As an open source company, to improve DevOps our culture encourages…”
Continuous improvement over perfection. We strive to create an environment that supports learning through experimentation and collaboration. It’s not an ideal that we ask all people to follow, it’s the output of who we all are as people and what we believe in. That attracts more of the same kind of person and lets us all be ourselves.
One way to nurture culture is to run internal hack days where people across your organization can gather, collaborate, and create together. We involve everybody at SilverStripe hack days — not just developers. Tinkering and exploring different ideas at all levels is fundamental to any organization involved in software development.
We’ve created a culture of collaboration and evolution by encouraging agile methodologies to be used across the company, not only for SilverStripe developers but for those on the operations side too. Using inspiration from our internal agile coaches, a whiteboard, and copious amounts of post-its we have reinvented the way our teams work.
There doesn’t have to be a clash between being a technical company and being a personal one. In our case, it’s how those two cultures overlap that brings us back to work every day and help us evolve.
David Christophersen is the Managing Director at Capital American, LLC.
“The most effective way for companies to overcome DevOps challenges is by…”
The practice of DevOps is evolving rapidly and is as much a philosophy as it is methodology to better integrate version control, configuration management, continuous integration, release management, and monitoring. Adam Jacob, of the CHEF project, likens DevOps to the various styles of Kung Fu with multiple diverse techniques but all identifiable as a common practice.
In my experience, one of the biggest challenges with improving DevOps tends to be the lack of attention to ‘BizOps’. Most development teams are constantly working to keep pace with tools and best practices but often lose sight of the business outcomes required to make investments in DevOps pay off. Ultimately DevOps needs to increase revenue while reducing resources, all under a framework that can be tracked against real KPIs.
BizOps is about analyzing the key business drivers in each of the five stages and quantifying cost and efficiency benefits as accurately as possible. By treating DevOps like an integrated supply chain, it can be easier to measure and manage performance.
The following is an example of measurable business drivers mapping to the DevOps stages:
DevOps Stage – Business Drivers
1. Version Control – Lines of Code, Check-ins, Forks
2. Configuration Management – Number of CHEF Cookbooks/Recipes
3. Continuous Integration – Builds, tests and releases / week
4. Release Management – Releases/Week, Lines of Code/Release, Cost/Release
5. Monitoring – MTTR, FTE Utilization
Of course, these business drivers are simplistic but meant to illustrate that connecting business outcomes to technical stages in the DevOps workflow can more effectively align senior management and development teams. The bottom line is more efficient DevOps leading to greater productivity and profitability.
Glenn Gillen is the founder at Glu IO and an investor in early stage startups. Previously, he served as the GM & Product Manager of Heroku Add-ons.
“The first step, and one that many overlook, in improving DevOps within an organization is…”
To make sure everyone is in agreement on the problem. Too often it’s something vague like ‘improve productivity,’ but that means different things to different people. Get back to basics, state the problem, and make sure everyone agrees on at least that stage. Then assess the status quo; you can’t improve what you aren’t measuring. Again, get everyone to agree on the best metric to represent the current state: maybe it’s the total availability of your production service to customers, it could be the median server response time, or maybe it’s the 95th percentile browser page load time for your customers, or the average amount of time taken to ship new product features. Work out what makes sense for your business and get everyone on the same page. The majority of cases when organizations aren’t improving the areas they want, it’s because they’ve missed these critical steps. If you’ve got a whole organization focused on improving just one thing, it’s almost impossible not to move the needle in the right direction.
Richard Levy is a software craftsman at RADTAC. As a Senior Software Craftsman, it is Richard’s responsibility to technically oversee all new and on-going development maintaining hands-on presence to ensure a laser focus on quality. Richard also takes online and resource management responsibilities for development teams, along with ownership of development practices and R&D into new technologies and agile methodologies. He is a Sun Certified Java Programmer and Developer, as well as a Certified Scrum Master and Kanban Practitioner.
“For companies trying to improve DevOps performance without much success, I suggest…”
A DevOps team, like any agile team, needs to be empowered to enact change, obviously with appropriate care, professionalism, and attention to risk. They need to collaborate with existing dev and QA teams, and if needed, re-align to get the appropriate skills in place.
First, they need to analyze where the pain points are and then ask why they are having issues in improving their performance in these areas, getting everyone’s input. After prioritizing (risk/value) which areas are most important, they then need to address the issues head-on. It may be that current solutions are not appropriate and different approaches are needed. Trialing/prototyping new approaches on test environments is a good way to determine their suitability.
In short – use agile practices to solve problems for your DevOps team.
Wendell Adams is the CEO of AB Mobile Apps.
“One of the biggest things companies can do to improve DevOps performance is to…”
Restrict change orders and put them into phases so that the program does not get caught up with small changes that can bog down development.
Cornel Boudria is a Partner and Chief Engineer at 3 Prime, LLC.
“DevOps performance improvements tend to emerge from…”
Process simplification/compartmentalization. I always take a very unix approach: break your pieces into smaller functional pieces with highly limited scope, and make those pieces work really well by themselves. Then focus on bridge processes: things that act to join the individual pieces together. In the process, you’ll discuss workflows that don’t work and can be discarded, as well as new ones that work really well.
Notwithstanding, DevOps is a highly disparate job, so another strategy is to distill what DevOps really is and hire more specialized personnel.
Ron Webb is Executive Director, Open Standards Benchmarking, Stats Hub, and Information Systems for APQC. Webb works directly with APQC’s Open Standards Benchmarking team to help match the right data-intensive products and services with the APQC member that need them. He also works with the Stats Hub, applying statistical methods and analysis to help members identify new improvement opportunities using data. Finally, Ron leads the Information Systems team and department, ensuring that APQC uses technical resources appropriately to deliver services to members.
“The biggest challenge we found at APQC in transitioning to DevOps has been around…”
The project management activities. It’s pretty easy for someone that comes from the development side of IT to slide into the role of also maintaining and supporting the systems they develop, but, traditionally, IT folks haven’t had to be real project managers. They don’t understand the business reasons or importance of tracking time, providing status updates, raising issues, or managing customers and stakeholders, and sometimes they don’t possess solid interpersonal skills. The IT staffer that has experience and skills in this area are in the minority, for sure. This results in project delays and frustrated clients who feel their project “isn’t being run well” regardless of the solution developed and delivered to them. Even with a ramped-up pace of delivering outcomes to the customer weekly or bi-weekly, many times the client gauges the project’s success by how well they perceive it is managed and the communication they get from the team. Those “soft” items can derail a project early on and give the project a huge barrier to overcome that is relatively easy to avoid.
The transition I’ve found is hardest on the IT team. I haven’t run into a customer yet that has asked us to deliver things more slowly and communicate less. For the IT team, though, it is about pace. Keep the pace moving during the transition to DevOps. You need a strong, well-respected owner for this transition. They have to know IT, understand process change, and also be well versed in change management. Not a lot of CIOs or COOs have this skillset, so some outside support from an internal or external consultant may help. We are also a process-focused organization, so the transition was a bit easier for us. It is the same methodology within the IT group as it is with our customers. Treat the transition like it is an IT project. Deliver changes quickly, communicate well, stay connected with the requirements of both the team and the organization, and move. Stagnation kills this transition.
Adam Lev-Libfeld is the CTO and Chief Engineer of Tamar Tech Solutions, a cyber security and high-performance computing firm with around 12 years of clustering and security experience.
“For companies struggling to improve DevOps within their organizations that want to improve performance, the best way to optimize for performance is to…”
Automate. But automation is hard, and not every business is suitable for total automation. Most companies will give up altogether, but even small changes can make a big difference in the long run. Start small — automate the simplest thing you can think about in the business. It can be as simple as adding statistics mailing once a day or by adding some timed tasks to run automatically every hour. This will get you going and give you confidence.
Once the results of this change will be apparent, it will be easier to do the next automation stage, and then the next. It might be the long route up the mountain, but it’s the most beautiful of tracks.
Alina Jakubova is the Head of Business Partnerships at SwiftGift. SwiftGift is a tool that allows you to send real gifts to your Facebook friends, as well as to anyone on your mobile’s contact list via their telephone number or email in just a few clicks (with the launch of the new app this June). And you don’t even need their address!
“There are a few ways companies struggling to improve DevOps can improve performance…”
To be brief, since we started working on our tech venture about a year and a half ago, our team has grown from 2 people to 7 full-timers and 16 on the outsource team. It was of an utmost importance for us to create a productive way for all our team members, i.e. frontend/backend developers, UX/UI designers, iOS developers (as well as administrative, legal, marketing and top management staff) to communicate and share their developments and creative ideas, let alone come to concrete decisions in order to constantly progress and achieve our product launch deadlines.
We have discovered several cross-device, online systems that work seamlessly together and are free to be excellent at helping us work on projects simultaneously and with the best clarity to any concerns or executive decisions that had to be addressed in a timely manner by our top managerial staff.
First of all, and probably the most obvious one, we use Google Docs tool to create, share, and simultaneously work on all of our documents whether code tests/ideas, Excel spreadsheets, or even things like investor presentations or lengthy press releases.
Second, we’ve adopted Trello — in our opinion, the best project management tool in the market — which allows to create “project cards” within separate lists, relevant to one or another DevOps processes “boards.” Each card can include different links, to the said Google Doc document, or to any other relevant source, include organized check off lists, comments, imagery, customized labels, and much more.
And last but not least, is Slack, an amazing, integrated, cross-device chat tool that lets you share links to Trello project cards, Goggle Docs, imagery, and much more, as well as the ability to tag specific chat participators and edit your chat messages real time.
For us, this was a lifesaver as with additional seed investments, we’ve had to grow and integrate new members almost every month this year (and sometimes even weeks!) in a very expedited manner so that they could set off on their projects as soon as possible.
Atchison Frazer, Vice President of Marketing, brings over 20 years of IT strategic marketing expertise to Xangati, most recently as CMO of KEMP Technologies, an emerging growth software developer competing in the enterprise Application Delivery Controller segment, and prior to that, CMO of Gnodal Ltd (now part of Cray), an innovator of High Performance Computing data fabric technology and High Frequency Trading fintech infrastructure. Previously, Atchison was responsible for services strategy, global marketing, and sales enablement to support Cisco’s global enterprise theater and enterprise transformation market segments, including enterprise security software, network optimization services, and application visibility management solutions. Atchison also has held senior marketing and communications leadership roles with ServGate, Fortinet, and HP.
“My advice for companies struggling to improve DevOps that want to improve performance is…”
At Zangati, we believe the average number of application deployments per month is expected to double in two years and the average cost percentage (per year) of a single application’s development, testing, deployment, and operations lifecycle considered wasteful and unnecessary is 25 percent.
Virtualization admins and DevOps professionals have the opportunity to collaborate around the same set of data from a single, reliable source that automates the way in which infrastructure performance can be predicted and future capacity planning allocated.
Here are five really good ways to save time with an IPM or infrastructure performance management system like Xangati that is optimized for virtual desktop infrastructure (VDI) environments.
1. Remote Office Monitoring: Communication issues between remote office thin clients and central resources can be very difficult to trace with retrospective tools. Real-time views within the IPM can be used to see if there are any changes in behavior between elements that might be affecting performance. And, IPMs can validate that there is not another interaction with the server affecting performance, such as an unscheduled back-up occurring in the middle of the day or LAN-to-LAN latency.
2. Customer Loyalty Applications: Most customer loyalty apps that run on a mobile client are virtualized, thus the desktop or endpoint is the smartphone. A major issue in brick and mortar retail is how to harness the concept of ‘showrooming’ to channel your own sales rather than a competitor’s solely based on price. Thus, the zero-moment purchase decision spurred by a mobile customer loyalty app must not suffer from latency or degradation, ideally measured in seconds-by-seconds. With an IPM, you can instantly identify storms tied to back-end storage, and to what degree that is impacting database servers that support the app.
3. Multi-platform Healthcare Applications: Medical professionals are required to access virtualized applications several times a day, as much as 30 times or more, on a plethora of multiple platforms, not just one fixed device or desktop. If the initial logon time exceeds 30 seconds and the reconnect times accumulate at 15 seconds or more each time, the productivity drain and inhibition to speedily care is palatable for all medical professionals, especially highly compensated specialty physicians. Properly provisioned IPMs can not only track the login, app-open, and reconnect times, but they can also measure the precise latency intervals between each and pinpoint exact locations that suffer degradation outside the stated services levels and offer automated remediation action.
4. Network Physical Infrastructure: Given that everything that’s virtualized runs off of an underlying physical infrastructure, networking layer optimization is a key element to ensuring optimal VDI performance. Poor and unpredictable performance over wide area networks (WANs), can directly affect employee productivity in terms of access times to VDI resources. Additionally, if provisioning more hardware or higher bandwidth consumption is the answer, ensure that you’re not reducing VDI user density and increasing solution costs. Additionally, increased use of media-rich applications and limitations of virtual desktop display technologies adds to the risk of user dissatisfaction. IPMs that take into account all functional components of the virtual infrastructure, including VMs and physical assets, are able to save you time, rather than having to peer into each siloed management console whether it be networking, or server/compute.
5. Security Policy and Control: Clearly a key market driver in moving away from physical equipment is the desire to uniformly manage security policy and IS control, which includes the goals of mitigating risk to data loss and leakage (moving off of the PC/HDD paradigm), managing security and policy management at the VM level, and transitioning from the PC hardware refresh, legacy, break/fix cycle. How IPMs can help you save time is by satisfying the universal need for granular data, through analyzing anomalous activity or behavioral characteristics, to determine compliance to corporate security and policy management standards – at a virtual machine level – while minimizing the threat of untrusted user security actions by relying upon more predictive analytics that help identify and manage the possibility of failure domains in a virtual environment.
Bobby brings over 15 years of outstanding leadership in business. Bobby tasted success at an early age, founding Personus Inc. (Caught in The Web), a highly capitalized boutique software development firm while still studying at university. He then went on to become CTO of Trade Settlement Inc., Wall Street’s leader in post-trade loan settlement processing, serving the $3.0 trillion Global Primary and Secondary Syndicated Loan markets. Internationally recognized for his achievements, Bobby has received numerous accolades including Canada’s ‘Entrepreneur of the Year Award’ as well as Canada’s ‘Top 40 Leaders under the Age of 40 Award’. Bobby John is keenly focused on deliverables and has a passion for building technology. In 2002, Bobby founded Band of Coders, a custom software engineering company, with offices in the US, Canada, and Argentina.
“To improve DevOps performance in your organization it’s important to understand that…”
DevOps practices require both new software as well as changes to how teams are organized. And because the new practices sit at the intersection of code and system administration, new skill-sets are often needed on existing teams.
Yaron set up QualiTest USA in 2006 and has grown the company every year, delivering innovative testing solutions to numerous industries. Kottler is an expert in load and performance testing and implementing automated testing tools.
“The best way to improve DevOps and performance within an organization is to…”
Remember that DevOps is not a person! Many people have very vague perceptions about what DevOps actually implies.
From an organizational standpoint, DevOps is a team! It is an Agile concept regarding operations and processes, intended to construct open lines of communication and collaboration. It is an integrated environment; while Agile teams are a great idea, where communication is open and free, DevOps takes this idea to an even higher level. The lines between each person’s role should become blurred, so that everyone’s job description overlaps.
In a DevOps environment, don’t be afraid to step on people’s toes! For example, a team could consist of a designer, tester, and developer; in DevOps, the developer could still be performing some designer functions, while the tester could be performing development functions. The best way to ensure that the DevOps methodology works correctly is to keep the communication and collaboration open, integrating functions from each department to ensure that the final product is utilizing input from each aspect of the organization.
John Di Frances
John Di Frances is Managing Partner of Di Frances & Associates, a consulting firm specializing in Strategic Innovation. He is also a popular business keynote speaker and the author of multiple business books. Clients include aerospace and defense to healthcare and Fortune 100’s to start-ups globally.
“I find that one of the best ways to improve performance in DevOps is also one which is far too often overlooked, primarily because it is retrospective…”
Post-deployment evaluation of software against initial design and market expectations is key. Hopefully all, but at least well-managed development efforts begin with a market requirement (’need’) that the development is to fulfill. Otherwise, why bother?
This market need is first verified, then quantified for size of market, pricing points, and elasticity, etc., and only then becomes a design project for which architecture, time frame, and cost to develop, resources needed, etc. are determined. If the project appears viable and fits he company’s strategy, it moves forward into development, testing, and then finally release.
Unfortunately, although it would seem to be an obvious follow-on activity, many organizations never return to the original market needs and design criteria to determine how closely the final developed product meets the initial criteria. I believe that this is an absolutely essential step and leads to real opportunities for improving the development process. The military uses the term ‘after action review’ to evaluate and learn from its engagements with the enemy. This model is also appropriate to software design and development.
I have personally witnessed projects that have strayed (’Scope Creep’) far from the original plan and/or have lost significant performance capabilities due to trade-offs made during the development process. Design and performance alterations during development are not necessarily bad, and in fact, can be very beneficial and often result from innovation that greatly improves the final product. The benefit of post-development review is to learn from the organization’s development process, how and where it can get off track, thereby losing market and design capabilities as initially defined.
Ben Dilts is CTO and Co-founder of Lucid Software. Ben has successfully designed and implemented a variety of major software projects, especially web-based database solutions. Prior to Lucid he was the Chief Technology Officer for Zane Benefits, where he led the development of a leading online health benefits administration platform, which was later featured on the front page of the Wall Street Journal. Ben holds a B.S. in Computer Science from Brigham Young University.
“There is one critical question to ask when trying to improve DevOps within an organization…”
Software developers generally use excellent tools to manage the changes to their code. But too often, the configuration of servers and software is done with ad-hoc changes to settings and files on each server. A critical
question to ask when trying to improve DevOps within their org is: how much of our configuration is being treated like code? If you find that you need a particular version of an Apache plugin, you shouldn’t log in to each of your servers and update to that version. Rather, you should change the set of scripts that you use to configure Apache (using a tool like Chef or Puppet), check that change into source control, and then run the script on each server. Then future servers will reliably get the same changes.
Brandon Mathis is the Lead Developer for Smashing Boxes, a design and development agency in Durham, NC. Born and raised in Raleigh-Durham, Mathis started tinkering with computers before he could even spell. He graduated high school from Millbrook in Raleigh and received his degree in Computer Science from East Carolina
University. North Carolina is in his blood, and he’s strongly passionate about fostering a strong tech and startup community in the Triangle.
“My tips for companies struggling to improve DevOps that want to improve performance within their organizations are to…”
- Focus on automation. Use tools like Ansible.
- Be ready to pay. DevOps is expensive, critical, and an often overlooked portion of web development.
- If you can’t learn an automation tool, then move to Heroku. This can be expensive.
- Invest time in a tool to provision servers.
- Backup, Backup, Backup.
Jeff Gallimore is a Partner and Co-founder of Excella Consulting. He’s a jack of all trades and interested in all of them, and a geek at heart. He’s a Renaissance man, husband, father, son, and brother. CrossFit keeps him young and makes him feel old. Bacon makes everything better.
“DevOps transformations are difficult, but for companies seeking to improve DevOps performance, I recommend…”
You’ve started down the road of a DevOps transformation, but you’re struggling on the journey. You might not be improving the performance of your teams and organization like you had hoped. You’re probably wondering why and, more importantly, how to get back on track. DevOps transformations are hard. If they were easy, everybody would have already gone through them.
Here are a few tips you can use to get things moving more quickly in the right direction.
1. Understand why you want DevOps.
You may have gotten caught in the trap of focusing on the what of DevOps rather than the why of DevOps. Reconnect with the business goals you had for adopting DevOps patterns and practices in the first place because you’re probably not doing DevOps to do DevOps. You likely had signs indicating you needed DevOps. Were you experiencing painful releases or prolonged outages? Where your cycle times too long? Do you operate in a signoff and silo culture? Are your competitors out-innovating you and beating you to the punch with new products? Make sure you’re really clear on the business impact you hope to achieve through a DevOps transformation and then communicate that. Being clear with people will help get them on board with making it happen.
2. Get the big picture of how work gets done.
You may be doing a lot of things you had hoped would pay off, but you’re not seeing the results from those activities. Your cycle time isn’t coming down. Your release frequency isn’t increasing. Your defect rate isn’t getting any better. What’s the deal? You might not be working on the things that will have the most impact on the metrics you care most about. In complex organizations with complex processes and complex technology, it’s hard to know where the best bang for the buck is. Understanding the flow of work and making that work visible will help you determine where to focus your efforts for maximum benefit. Tools like value stream mapping and kanban boards give you a bigger, clearer perspective on how works gets done. These tools expose inefficiencies so you can target them and avoid the guesswork on what will produce the most value.
3. Go for small, quick wins.
You may be trying to do too much at once and losing effectiveness in what you’re doing because you’re spread too thin. Too much work in process (WIP) is a productivity and value killer. You want to get the value of completed work as soon as possible and reduce the risk of waste (i.e., things you do that don’t produce value). Change is hard enough. Don’t make it harder by being slow and inefficient, too. Is there a particularly problematic or error-prone step in your workflow? Is there a manual task that could really benefit from automation? Is there information you could provide that would help with decision-making? Address those items first and get them fixed quickly. Get some small things done done, reap the benefits of that work, and start building momentum for doing more, bigger, and better things.
Hopefully these tips help you get back on track with your DevOps transformation and make progress toward your business goals — the real reasons you started this journey in the first place.
Koby Bryan owns InnovativeFront, which specializes in connecting the dots between your business and technology. You don’t have the time to understand how new technology can work for your business while also servicing customers and streamlining your business. We do all this for you with websites, mobile apps, and online tools.
“The best ways for companies struggling to improve DevOps within their organization to improve performance include…”
- Implement a weekly conference call or meeting for every project with a small leadership team, I am fond of meetings with an agenda and a clear time frame — anything else is a social call. The meeting should be focused completely on customer value.
- Make one person a champion to represent the projects interests in the Development Department and one in the Operations department. Have Operations lead with a clear, succinct description of the problem and what
it means to the customer (it should be said in under three minutes). Consider it a marketing pitch, and review it to make sure it is understood.
- Work backward from that problem and have an open discussion on how various development efforts support the solving this customer problem and increase overall value, with everyone participating.
- Repeat this meeting until the project post-mortem (to review learned lessons). In each meeting, objectives should be set for the next meeting, and there should be a review of progress from the last meeting.
At its heart, the problem DevOps solves is a communication and goals problem. Development is a problem-solving discipline and, left to its own devices, it often focuses on the wrong problem. These meetings should get the goals aligned because Development loves to solves problems; they just need to be focused on the right problem — which is creating customer value.
We think these professionals provide much food for thought. Their experiences vary, their advice sometimes differ, but many of them are now on the other side or have helps organizations get to the other side of the DevOps transformation. Organizations that have made it, are enjoying higher productivity, greater efficiency, reliability security and more. We encourage readers to head over to the DevOps Central community and join the conversation, or read some tutorials on the latest and greatest IT automation tools.