Tag: Predictive Analytics

  • Scaling Predictive Analytics With AIOps to Drive Next-Gen SRE

    Scaling Predictive Analytics With AIOps to Drive Next-Gen SRE

    Enterprise systems are only as valuable as they are reliable, in the sense that they don’t suffer excessive breakdowns. Otherwise, companies experience costly downtime and added stress for engineers due to the additional burden of managing issues. This critical function of ensuring systems run reliably and optimally, at production scale and with minimum human intervention, is the purview of site reliability engineering (SRE) teams.  

    The SRE professional’s job is to reduce human toil by developing and implementing reliable and highly scalable systems that optimize software and applications. Their goal is to proactively identify and, where possible, anticipate potential disruptions to minimize risk and ensure optimal system performance. However, to be successful, SRE teams require a level of enterprise-wide visibility that can be difficult to provide without the right tools to capture and analyze data at the appropriate level of detail. 

    Let’s examine how artificial intelligence for IT operations (AIOps) can support the SRE mission by connecting data enterprise-wide for unprecedented visibility and control of systems and processes, enabling auto resolution of most issues and more efficient triaging for the few remaining cases where SRE teams must collaborate around a fix.

    Challenges of Complexity and Scale in Pursuing SRE Excellence

    As more enterprises digitize their operations and move to greater automation, their IT operations must leverage all data assets skillfully in order to improve reliability and reduce human toil. The SRE profession arose to satisfy this need, with a focus on monitoring systems, accessorizing automated releases, understanding change impacts and automating some of the most common system processes. 

    To do their job effectively, SRE teams need a wide variety of data and analytics capabilities at their disposal. This includes the ability to deep dive into descriptive and diagnostic analytics to look backward and at present conditions to discover what happened in the past and why and to baseline current operations. But this is just the beginning. The true value  of SRE comes with the scaling of predictive and prescriptive analytics to draw on that historic data and apply detailed analysis to generate predictive insights into what is most likely to happen in the future; these insights are the basis for identifying proactive measures that can serve to address any potential problems and optimize those future outcomes, minimizing adverse impacts on operations 

    These analytic capabilities must be fed by robust data that comes from across the entire IT estate. Developers assigned to the SRE role face an especially strong mandate to have this holistic visibility as they plan, build, test, release, monitor and secure systems; their job is hampered to the extent that organizational silos or problems of scale get in the way of achieving that visibility. It is here that AIOps can help evolve IT operations to become more proactive and autonomous by scaling the power and reach of predictive and prescriptive analytics. 

    AIOps Empowers the SRE Mission Enterprise-Wide

    AIOps is an essential tool for the SRE community in the battle to reduce operator stress, configure IT systems to be more stable and run efficiently with less human intervention. AIOps employs artificial intelligence (AI) and machine learning (ML) for observability, context, normal behavior analysis and automated health diagnostics. This, in turn, enables anomaly detection in real-time and closed-loop automatic resolution of most issues. 

    For example, AIOps can uncover patterns showing that, 90% of the time, a particular alert in the organization’s payment system triggers a seemingly unrelated alert within 15 minutes. Moving forward, this gives SRE teams a 15-minute head start on addressing that secondary alert; the discovery forms the basis of an auto-resolution or triaging scenario that uncovers the underlying cause of both alerts and provides a permanent fix. 

    That’s just one illustration of how AIOps uses advanced analytics to discern subtle patterns in data to predict when and where problems may occur, so proactive fixes can automatically be prescribed to head off those problems. In this way, AIOps is the technology backbone that scales and automates the SRE team’s insight and control across all system assets and dependencies, a critical tool for continuous optimization of performance with minimal human intervention. 

    Conclusion: The Game-Changing Role for AIOps in SRE

    AIOps is a game-changer for the critical function of site reliability engineering. Powered by a potent blend of advanced analytics on robust data coming from systems across the enterprise, AIOps delivers unprecedented visibility and control for SRE teams in their mission to reduce toil and ensure the reliability and resiliency of enterprise systems. The result is less human intervention and enhanced value from IT systems that are made more robust, more stable and more efficient.

  • The Advent of Intelligent Software Engineering 

    The Advent of Intelligent Software Engineering 

    Today, to maintain competitiveness, every company needs to behave like a software company and deliver new solutions with high velocity, quality and reliability. New features need to be introduced at a rapid pace, but with high-quality expectations. At the same time, deployment releases and operations are getting complex, debugging and traceability in production are increasingly difficult, security is more prominent, uptime and reliability needs have scaled up dramatically … the list goes on.

    In short, traditional software engineering is changing radically.  Some trends causing this disruption include:

    • Cloud is eating software. And that has not only changed the infrastructure where software is hosted but also how applications are architected, developed, packaged and deployed. Cloud is driving the adoption of cloud-native technologies; serverless components and containerization have changed how we build applications. The hard line between development and infrastructure team is getting fuzzy. 
    • Cybersecurity is now a boardroom concern. Rising cyberattacks and malware threats have left everyone vulnerable. Traditionally, software was released every few months, leaving enough time for security testing by specialists. Today, with the advent of very rapid release cycles, security checks need to start early in the development process.
    • AI/ML is the new electricity but is causing shocks. AI/ML-powered use cases are finding their way across platforms, and across industries. Traditional software engineers are not familiar with AI/ML and ML developers are not familiar with engineering disciplines and best practices, leaving a big divide in engineering maturity.
    • When one company raises the bar, others are expected to follow. Consumer expectations are constantly changing. They expect the same experience that they get from Amazon, Uber and Google from every application. It is expected that you provide a seamless, frictionless experience that your platform is available anytime, on any device and that it is fast and secure. 
    • APIs are fueling innovation: Innovation at speed and scale is not easy, but APIs can enable exactly that by tapping into the collective power of the crowd. Today, any developer can use platform-provided APIs to build a new, innovative solution. An API-first mindset is emerging, and the app store model (e.g., Apple App Store, Salesforce AppExchange, AWS Marketplace) has changed how we think of innovation and creating new platform extensions. 
    • Low-code/no-code platforms are quickly evolving, making it easy to develop small, situational applications without writing any code. Citizen developers are emerging. 
    • Modern architecture paradigms drive new ways of working. Modern platform architecture has evolved significantly in recent years from monolithic applications to SOA to microservices- and API-based distributed platforms. Event-driven architectures have gained prominence. Streaming architecture has become increasingly popular to support massive scalability. This has a significant impact on how engineering teams are organized and how they build, test, deploy and manage new platforms. 
    • Legacy platforms are slowing down growth. Legacy applications built 20+ years ago needs to be modernized for today’s context. Modernization is a massive exercise depending on the age, technology and the size of the application. But modernization is easier said than done. The legacy and the new worlds need to coexist for a while and need a bridge strategy from both a technology and cultural perspective.

    To meet these changing demands, engineering needs to become a lot more intelligent.  

    The Advent of Intelligent Engineering

    We can bring intelligence to engineering by using more data to manage projects, leverage AI/ML analytics to bring improve engineering productivity and predictability, leverage more automation and apply the right process to the right problem. 

    Data-driven Decision-Making in Engineering 

    Engineering teams use numerous tools in the development environment for code repository, bug tracking, code scanning, build, test, deploy, etc. Popular tools include Azure DevOps, GitHub, Atlassian and Jenkins, among others. These tools generate lot of granular data. All these data silos can be aggregated and used to track interesting metrics around:

    • Developer productivity: How much time is spent on writing how much code versus other activity; story points delivered versus committed
    • Software quality: Number of bugs generated; rate at which bugs are being fixed; number of bugs that slip into production 

    Additionally, on top of this data, one can build an intelligence layer using machine learning to draw hidden insights, highlight co-relations and conduct better root cause analysis. These insights can bring greater predictability to engineering outcomes. For example, whether or not developers can meet a release schedule, the level of quality, etc.

    Data provides evidence of how your teams are performing. It helps in removing potential roadblocks and enables better communication with all stakeholders. It can be used to better manage project performance and be leveraged for objective decision-making. Despite the availability of this data, engineering leaders are still operating in the dark. Decisions are made based on intuition and gut feel rather than on hard data. It’s time to become more intelligent by using data in project performance tracking and decision-making. 

    Elevate Productivity and Predictability of Engineering Services With AI

    AI/ML is disrupting every industry and is now finding its way into software engineering. AI/ML-enabled developer tools are emerging that can be leveraged across the software engineering life cycle. These tools can not only save time for repetitive activities but also improve software quality in large and complex tasks. 

    AI/ML-enabled tools can enhance a developer’s daily life from coding to testing. Today, AI-powered tools can scan and analyze code to provide intelligent code completion suggestions, flag any deviation from coding best practices (naming convention compliance, variable misuse, etc.), perform peer review, convert code from one language to another, find security vulnerabilities, etc. Dynamic application security testing (DAST) solutions use AI to discover potential attack vectors in milliseconds which would otherwise take a few days. AI/ML can help auto-generate HTML code from hand-drawn UI sketches. AI/ML also can help developers automatically generate unit tests from existing code and provide suggestions about improving tests.  

    In fact, testing is the biggest category that can benefit from AI/ML-based intelligence, specifically in large complex applications. QA teams who rely on manual testing are not able to keep pace with the rate at which code changes and releases are done today. AI/ML-enabled tools can help testing teams in a number of specific ways. 

    • Change impact analysis: AI/ML can help with coverage analysis and identify which tests need to run based on what has changed in the application.
    • Test creation: AI/ML can help test teams create test cases from plain English descriptions and can also learn how to improve tests over time; AI/M also can automatically heal broken tests. AI-powered tools can automatically convert manual UI tests to API tests.
    • Visual testing: AI-powered image comparison technology can enable visual testing to analyze the UI screen differences detected across tests. 
    • Test analysis: AI can analyze test cases and defect metrics to increase test coverage while reducing the number of tests.

    It’s time to become more intelligent by using AI-powered tools to augment engineering teams, improve their productivity and bring predictability. 

    Intelligent Automation: Beyond Development Processes

    Today, there are a lot of automation options in the software development life cycle. DevOps enables automation of build, test and deployment of new versions of your software. You can also automate other activities such as test automation, code scanning, performance test, etc. DevSecOps enables automation of security processes (e.g., code scanning for vulnerabilities) into the engineering life cycle. AI/ML-powered tools can further drive automation improvements (e.g., improve flow in your CI/CD pipelines.) Overall, automation enables higher team productivity and results in the rapid or on-demand release cycles required for business agility.  

    Automation is not just limited to development activities, it also applies to other parts of the engineering life cycle, for example:

    • Infrastructure-as-code (IaC) tools can automatically provision and configure cloud infrastructure environments (storage, network, etc.).
    • Monitoring tools can automate monitoring for availability, production load metrics and security problems and generate alerts. 
    • Log management: The number of logs generated in today’s ecosystem is vast and it is impractical to collect them manually. Log management tools can automatically aggregate and analyze information from logs.

    Leveraging automation aggressively and using it throughout the engineering life cycle can make software engineering much more intelligent. You should be automating repetitive tasks and low-value processes and use the saved time for higher-value activities.

    Making Agile Smarter

    There are several popular software engineering methodologies available such as Agile, Scaled Agile, the Spotify model and more. Regardless of the methodology or process you use, intelligent application of the right methods and tools to the right problems can make them more effective, efficient and intelligent. For example, traditional Agile processes were originally designed in the manufacturing space and were then adapted to develop mature software. But in today’s fast-changing market, development teams need to rapidly and continuously try new ideas either to demonstrate new business features or for technical validation of emerging technology. This is true not only in the early stages of new product development but also on existing platforms where you need to keep pace with changing market dynamics. Be ready to experiment.

    We need to get smarter about selecting the right process and tailoring it to your needs rather than let the process dictate your outcome.

    If Software is Eating the World, Complexity is Eating Software

    While product engineering has been around for a long time, modern software engineering is a lot more complex than just writing code and following Agile processes. Intelligent engineering practices can get solutions to market faster with better quality and reliability and gain more time for innovation to keep up with today’s speed of business.

  • Embracing Security by Design in Development

    Embracing Security by Design in Development

    The number of data breaches publicly reported in 2021 far exceeded the total for 2020, making 2021 a record year. With cyberattacks on the rise and bad actors and ransomware gangs demanding millions in ransom, cybersecurity has taken on new urgency.

    In addition to more sophisticated hacking techniques, the rapid pace of tech adoption during the pandemic is another contributing factor fueling cybersecurity risks. A recent survey by Forrester shows 74% of companies attribute recent cyberattacks to vulnerabilities in technology put in place during the pandemic. As companies raced to enable remote work, develop new applications and roll out new consumer-facing digital solutions, cybercriminals saw new opportunities to identify vulnerabilities and to attack. 

    Cybersecurity threats can affect every business regardless of size and every individual, regardless of who they are or where they live. Even the most protected and advanced organizations are at risk: One of the world’s biggest cybersecurity companies recently fell victim to one of the largest breaches in history. It’s time for all companies to rethink their approach to boosting security in the software development process. 

    As a nearshore development partner for businesses around the world, we have embraced a ‘security by design’ mindset to keep our clients’ builds secure. To put security first and ensure it remains at the forefront of every engagement, we adopted a parallel build systems process to improve the integrity of the code we deliver. This also reduced the overall threat of potential attacks. How did we do this? There are three key components to developing and implementing a security-by-design mindset.

    Embedded Security Expertise

    It is critical that security experts become official members of every software development team. These specialists are there every step of the way from design to delivery, finding and fixing security flaws along the development journey. Instead of being brought in at the end of the process, they are deciding on new solutions and implementing protections in real-time alongside experts in design, user experience and coding. Each plays a role and works as an integrated member of the team providing advice and suggestions during Agile cycles and sprints. 

    Predictive Analytics

    A recent survey showed that 96% of third-party applications deployed in cloud infrastructure contain known vulnerabilities. That rising risk can make it possible for bad actors to infiltrate thousands of organizations. Threat hunting tools can spot, anticipate and predict vulnerabilities in software development. Tools can automatically scan code as it is written to vet and diagnose vulnerabilities. Our team scans code while in production and reports risks and vulnerabilities and then immediately consulting with the rest of the team to work on the next secure version. 

    Continuous Learning 

    Security is changing quickly, and it’s never been more critical to ensure developers have the skills necessary to defend and protect corporate infrastructure, applications and digital solutions. With the threat landscape constantly evolving, new skills and continuous learning are required to stay ahead of the latest threats and fraud techniques. Part of our training is focused on deploying white hats, or ethical hackers, to breach our development environments and the applications we deploy. These experts then set about identifying weaknesses and helping to improve security. They also take our training to the next level and push our experts to continually learn and educate themselves on the latest threats and solutions. By upgrading their skills, security practitioners can stay ahead of cybercriminals. 

    Every day, enterprises face thousands of attacks on their systems, and malware continues to grow in frequency, volume and complexity. These attacks are not just coming from criminals looking to make a buck; there are growing fears of nation-state attacks escalating. These are often seen as the more dangerous threats to businesses. The best defense against cyberthreats is a strong offense anchored by a security by design mindset.

     

  • CloudBees Makes Software Delivery Management Apps Available

    CloudBees Makes Software Delivery Management Apps Available

    CloudBees, during an online event today, officially launched the first two modules of what will become a portfolio of software delivery management (SDM) tools delivered via the cloud.

    The first two modules have been previewed for the last year, now are generally available. The first is the CloudBees Engineering Efficiency module, which provides a system of record to normalize data in a way that makes it possible to surface metrics, analytics and actionable insights.

    Shawn Ahmed, senior vice president and general manager for software delivery automation for CloudBees, said the analytics application initially will pull data from CloudBees DevOps platforms and complementary third-party tools such as GitHub and Jira and eventually will expand to include data pulled from other continuous integration/continuous delivery (CI/CD) platforms. CloudBees Engineering Efficiency connects to more than 70 different DevOps tools. CloudBees is also making available an application programming interface (API) through which third parties can extend the module.

    The goal is to enable DevOps teams to make decisions that are informed by data rather than just gut feel, said Ahmed, noting that data can then be employed to coach DevOps teams in a way that allows them to become more efficient.

    The second module is CloudBees Feature Management, which gives DevOps teams control over how individual features are released. Organizations can manage features holistically by grouping and controlling sets of feature flags that determine what capabilities are exposed within an application. That capability makes it possible for organizations to de-couple the release of a specific feature from the rest of the delivery of an application.

    At a time when organizations are accelerating the rate at which applications are being developed and deployed to drive their digital business transformation initiatives, the ability to control how features are rolled out has become a critical element of managing the overall end user experience.

    SDM tools are part of what has become commonly known as value stream management applications. The debate that is currently occurring is to what degree these applications should be provided by the vendor that makes the CI/CD platform versus an independent software vendor (ISV) that aggregates data from multiple platforms. CloudBees is betting that as DevOps processes mature within organizations, more of them will prefer to deal with a single vendor capable of providing both the underlying DevOps platform and the tools required analyze and manage DevOps processes.

    Longer-term, Ahmed said the infusion of predictive analytics capabilities enabled by advances in machine learning algorithms means it won’t be long before organizations will be able to know if a build will fail even before it runs.

    It will be up to each organization to determine how they will apply analytics tools for DevOps processes. Ideally, the DevOps culture in place stresses collaboration and training. However, there may be some organizations that will look to use these applications to increase productivity by weeding out members of the DevOps team who lack the appropriate level of expertise. The applications being provide by CloudBees, however, are designed to identify issues in the aggregate rather than enable organizations to identify the faults of a specific member of the DevOps team, noted Ahmed.

    Like it or not, analytics applications soon will be applied more broadly to DevOps processes. The challenge and the opportunity now is determining the next best course of action based on the insights they surface.

  • Has the Time Come for IT Predictive Analytics?

    Has the Time Come for IT Predictive Analytics?

    Predictive analytics technologies have become critical to compete in manufacturing (predicting machine failure), banking (predicting fraud), e-commerce (predicting buying behavior) as well as to address horizontal use cases such as cybersecurity breach prevention and sales forecasting. Using data to predict and prevent IT outages and issues is also a growing best practice—especially as advances in monitoring software have made it easier to deliver analytics in a timely manner.

    The process of rapidly collecting IT systems data, including by integrating data from various monitoring tools in use, has become rudimentary. The magic is in the algorithms, which can deliver actionable intelligence. IT predictive analytics, once known as IT operations analytics (ITOA), is still nascent in many organizations, but it’s far more streamlined than it used to be when one needed to export data sets to specialized analytics tools such as Tableau or Microsoft PowerBI. Data analysts and then data scientists were necessary to interact with these advanced tools and deliver valuable predictions—a process that could take weeks.

    Today, IT professionals can use modern IT operations monitoring and management systems for collecting and integrating the data, normalizing it and then analyzing it in real-time. That’s making predictive analytics in IT far more user-friendly, affordable and useful for all organizations, not just the largest companies with the biggest budgets.

    Advances in predictive analytics technology, aided by machine learning and AI, are creating more proactive workflows for IT operations teams. For instance:

    • Storage usage. It is not a happy moment when IT finds out that the expensive storage array is down. It’s not enough to know after the fact that storage volumes were steadily climbing out of the normal pattern. By knowing ahead of time that a trend is heading out of the acceptable range, IT can research the cause and fix it before any damage is done. With cloud storage, risks include slow connectivity if network bandwidth is insufficient or security breaches if the cloud provider’s security mechanisms are not sufficient for your use case. Predictive analytics can alert on these possibilities in time to take corrective action.
    • Cloud-to-cloud performance comparison. An important aspect of predictive analytics is the ability to make correlations and show relationships between multiple data points. IT leaders are interested in learning about an application’s performance across the entire IT environment, which may include comparing historical performance across multiple clouds to predict weaknesses in one service over the other and mitigate them proactively. This use of predictive analysis could also be valuable in helping companies choose one cloud provider over another for particular applications and workloads.
    • Container optimization. Making correlations is especially valuable when it comes to managing performance in a microservices environment. Collecting metrics for a containerized application isn’t useful by looking at each container per se, but it is useful when looking across the container environment to see if there are common metrics dangerously trending the wrong way across many or all containers.

     A Few Tenets for Predictive Analytics in IT Operations

    Regardless of the tools that you choose to create a predictive analytics practice in your organization, there are several things you must get right first. Here are six recommendations to consider:

    1. Centralize the data into one or two systems at the most. This allows for data cleansing, normalization and a single (ideally) system of record for all other users and integrations.
    2. Invest in first-class data visualization. As business units now interact with IT management systems to see departmental usage and troubleshoot minor issues, tools should be user-friendly for people who are not data analysts. Dashboards and charts can tell the story simply and explain the correlations and conclusions which the software delivers.
    3. Make it actionable. There is no use in creating predictive data if it’s not automatically sent to the right individuals and/or shared with other systems to execute actions when needed. Think about it the Amazon way: We all know that people aren’t sitting behind monitors sending millions of individualized recommendations to customers every day. Your IT operations portfolio should behave the same way: automated, intelligent, helpful and always adapting to new information.
    4. Correlate data at the speed of IT change. Before there was such a thing as virtualization and cloud infrastructure, there weren’t many devices to monitor and things didn’t change much day-to-day. You could actually “set and forget” data center infrastructure components for weeks. Now, of course, changes are happening behind the scenes every minute without our knowledge. Yet your monitoring and change management tools need to know about it. By using standard deviation for change detection monitoring—four-hour increments are typical—you can ensure that your team always has an updated understanding of infrastructure status as well as the relationships between the various systems and components.
    5. Avoid the black box. Enrich your data lake continuously with event data and allow users to see the IT operations platform working in real-time. With machine learning and artificial intelligence, there’s always a measure of doubt and a margin of error. This uncertainty can be counteracted by sending more diverse data sets so that the user can make her own conclusions. As well, when the machine makes an error in judgment, train it to avoid making the same mistake again.
    6. Update internal IT skills. You’ve heard it before. In the age of big data, IT organizations need data science expertise and skills. It’s important to acquire or develop these skills so that your team can combine machine intelligence with human insight and make better decisions. That is where AI-driven analytics holds the most promise.

    We are just getting started on this new age of predictive analytics in IT operations. Before long, organizations will move from predicting downtime and serious application issues to driving infrastructure optimization and cost savings. IT leaders will be able to answer with confidence, how much cloud infrastructure needs to be provisioned or de-provisioned over time. They will understand with better clarity common application scaling patterns, as well as overall capacity management needs. As predictive analytics takes hold, IT leaders will need to determine how to reorganize employees who previously spent hours scanning data on screens into more strategic roles.