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.
Modern complex systems are easy to develop and deploy but extremely difficult to observe. Their IT Ops data gets very messy. If you have ever worked with modern Ops teams, you will know this. There are multiple issues with data, from collection to processing to storage to getting proper insights at the right time. I will try to group and simplify them as much as possible and suggest possible solutions to do it right ...
In Agile, development and testing work in tandem, with testing being performed at each stage of the software delivery lifecycle, also known as the SDLC. This combination of development and testing is known as "shifting left." Shift left is a software development testing practice intended to resolve any errors or performance bottlenecks as early in the software development lifecycle (SDLC) as possible ...
Overwhelmingly, business leaders cited digital preparedness as key to their ability to adapt, according to an in-depth study by the Economist Intelligence Unit (EIU), looking into how the relationship between technology, business and people evolved during the COVID-19 pandemic ...
Robotic Data Automation (RDA) is a new paradigm to help automate data integration and data preparation activities involved in dealing with machine data for Analytics and AI/Machine Learning applications. RDA is not just a framework, but also includes a set of technologies and product capabilities that help implement the data automation ...
There is no one-size-fits-all approach to changing the experience of employees during a pandemic, but technological innovation can have a positive impact on how employees work from home as companies design their digital workspace strategy. The IT team supporting this shift needs to think about the following questions ...
Downtime. It's more than just a bar on the Rebel Alliance's base on Folor. For IT Ops teams, downtime is not fun. It costs time, money and often, user frustration. It takes more than the Force to handle incidents ... it takes an intergalactic team. An effective incident management team is made up of people with many different skill sets, styles and approaches. We thought it would be fun to map the heroes of IT Ops with Star Wars characters (across Star Wars generations) based on their traits ...
Vendors and their visions often run ahead of the real-world pack — at least, the good ones do, because progress begins with vision. The downside of this rush to tomorrow is that IT practitioners can be left to ponder the practicality of technologies and wonder if their organization is ahead of the market curve or sliding behind in an invisible race that is always competitive ...
According to a new report, Digital Workspace Deployment & Performance Monitoring in the New Normal, 82% of respondents had changes in their digital workspaces due to the pandemic ...
There are a few best practices that DevOps teams should keep in mind to ensure they are not lost in the weeds when incorporating visibility and troubleshooting programs into their systems, containers, and infrastructures. Let's dive into these best practices ...