Continuous delivery — a development approach aimed at building, testing and releasing software with greater speed and efficiency — is about much more than just being quick. It also emphasizes creating the highest-performing (fastest, most reliable) software products possible. DevOps teams are always trying to strike a critical balance — if there are too many shortcuts (i.e., overlooking performance testing anywhere in the software lifecycle), they'll likely compromise quality. However, testing that is too time-consuming or resource-intensive can hamper an organization's agility in incorporating user feedback and delivering innovation.
Many DevOps teams have addressed this by automating software testing throughout the entire product lifecycle. This enables developers and testers to work collaboratively and continuously as software progresses towards production. This reduces the chance for bugs to get deeply embedded, forcing re-work on subsequent code work which leads to costly, wasteful delays.
However, greater testing automation does not reduce the friction that exists when a performance problem rears its head. People by nature are defensive of their own work and respective areas of responsibility, which can lead to skirmishes within the team. The developer side of the house — relentlessly focused on roll-outs — may be quick to point to the Ops team, claiming Ops must be the reason the product is hitting a snag. It couldn't possibly be the code! The Ops team, focused on ensuring stability, is quick to point the finger back — “don't tell us how to do our job, our systems are working just fine; the problem has to be your code.” Meanwhile, the clock is ticking, the roll-out is getting stalled and users are growing impatient.
The high-pressure stakes of continuous delivery environments often require an intervention, a human touch — someone who can keep a cool head, address conflicts judiciously and validate performance assiduously every step of the way. This is fueling momentum behind the role of site reliability engineer, or SRE. Currently there are more than 1,000 U.S.-based SRE job reqs posted on LinkedIn.
The SRE is the ultimate adjudicator when a performance issue is identified
The SRE concept originated at Google in 2003. An SRE straddles the line between the “Dev” and “Ops” sides of DevOps teams, both writing code and supporting existing IT systems. The SRE is the ultimate adjudicator when a performance issue is identified, determining conclusively what factor (code or IT systems) is the root cause and seeing it through to resolution.
Many SREs establish firm rules governing DevOps teams — for example, unless a new solution or feature delivers on a pre-defined performance level — either earlier in the lifecycle, or once in production — all future development is on hold, until the problem is fixed. A highly resolute SRE makes it possible to achieve speedy application builds combined with operational stability and strong performance.
The deeper intricacies of the SRE role are still evolving, and to gain some insights into what the role actually entails we recently conducted a survey aimed at this growing group. The role may vary from organization to organization — for example, SREs at small organizations (where headcount tends to be lower) may do just fine with a broader, more general level of expertise across many technical areas. However, SREs in larger organizations often require and demonstrate more focused technical strengths, given the greater headcount and opportunities for specialization. The commonalities we identified include the following:
SREs are prevalent in continuous delivery environments
65 percent of the SREs we surveyed are deploying code at least once a day, and almost half (47 percent) report deploying new code multiple times per day.
Soft skills are crucial
Most SREs come from an IT Ops background, but they view soft skills as equally important as technical skills. Soft skills refer to a more intangible combination of variables including social and communication skills, character traits, emotional intelligence and other attributes, that enable workers to successfully navigate their work environment and achieve goals. SREs view the following soft skills as the most important, in this order — problem-solving, teamwork, composure under pressure, written and verbal communication.
Automation is critical
92 percent of our survey respondents cited automation as the top required technical skill, but ironically, many report their teams are not doing enough in this area. Only 18 percent said their teams have automated every aspect of their operation, indicating that additional machine-automated practices in areas like monitoring, testing or other disciplines are needed.
Availability is the most important service indicator
Application and service availability is the main concern of SREs
Application and service availability is the main concern of SREs, with 84 percent of respondents ranking end-user availability as one of their most important service-level indicators, ahead of error rate and latency trail. Nothing else matters if a system is unavailable, which makes alerting and notification tools an absolute must-have, according to those surveyed.
There's no substitute for real-time communication
Real-time communication is essential when attempting to resolve problems quickly. During incident resolution, 94 percent of respondents rely on real-time collaboration and communication solutions like Slack over other methods.
Continuous delivery collapses software release cycles dramatically, at a time when users' performance demands are exploding. But there's an upside to this in terms of the bottom-line pay-off for fast, reliable software. A one second improvement in webpage load time enabled Staples to increase conversions by 10 percent. Intuit improved webpage load time from 15 to 2 seconds, with every second of improvement driving a 2-3 percent increase in conversions.
Performance problems — and the conflicts they can invoke — are one of the biggest potential traffic jams in continuous delivery environments. When a problem occurs, the deep levels of collaboration that are a hallmark of DevOps teams become apparent — most of the time for the better, but not always. The SRE can be exactly what a DevOps team needs to drive the most positive, accurate and actionable collaborations possible. While this role is still being defined, we see many exciting opportunities for the right types of candidates, with soft skills being especially crucial.
Achieving audit compliance within your IT ecosystem can be an iterative process, and it doesn't have to be compressed into the five days before the audit is due. Following is a four-step process I use to guide clients through the process of preparing for and successfully completing IT audits ...
Network performance issues come in all shapes and sizes, and can require vast amounts of time and resources to solve. Here are three examples of painful network performance issues you're likely to encounter this year, and how NPMD solutions can help you overcome them ...
"Scale up" versus "scale out" doesn't just apply to hardware investments, it also has an impact on product features. "Scale up" promotes buying the feature set you think you need now, then adding "feature modules" and licenses as you discover additional feature requirements are needed. Often as networks grow in size they also grow in complexity ...
Network Packet Brokers play a critical role in gaining visibility into new complex networks. They deliver the packet data and information IT and security teams need to identify problems, recognize security issues, and ensure overall network performance. However, not all Packet Brokers are created equal when it comes to scalability. Simply "scaling up" your network infrastructure at every growth point is a more complex and more expensive endeavor over time. Let's explore three ways the "scale up" approach to infrastructure growth impedes NetOps and security professionals (and the business as a whole) ...
Loyal users are the key to your service desk's success. Happy users want to use your services and they recommend your services in the organization. It takes time and effort to exceed user expectations, but doing so means keeping the promises we make to our users and being careful not to do too much without careful consideration for what's best for the organization and users ...
What's the difference between user satisfaction and user loyalty? How can you measure whether your users are satisfied and will keep buying from you? How much effort should you make to offer your users the ultimate experience? If you're a service provider, what matters in the end is whether users will keep coming back to you and will stay loyal ...
What if I said that a 95% reduction in the amount of IT noise, 99% reduction in ticket volume and 99% L1 resolution rate are not only possible, but that some of the largest, most complex enterprises in the world see these metrics in their environments every day, thanks to Artificial Intelligence (AI) and Machine Learning (ML)? Would you dismiss that as belonging to the realm of science fiction? ...
Of those surveyed, 96% of organizations have a digital transformation strategy, with 57% approaching it as an enterprise-wide priority, with a clear emphasis on speed of business, costs, risk, and customer satisfaction, according to IDC’s Aligning IT Strategies and Business Expectations for Digital Transformation Success, sponsored by EasyVista ...
One of my ongoing areas of focus is analytics, AIOps, and the intersection with AI and machine learning more broadly. Within this space, sad to say, semantic confusion surrounding just what these terms mean echoes the confusions surrounding ITSM ...