Tag: artificial intelligence

  • Predictive QA: Why Performance is so Important in a ‘Big Data’ World

    Predictive QA: Why Performance is so Important in a ‘Big Data’ World

    As organizations across all industries face opportunities and threats in the new digital era, they increasingly look to leverage their full power of the data they possess. Data is a treasure trove for enterprises, and big data mining has grown into much more than a sales tool. Advanced, predictive analytics are now used to hone processes, improve product quality and deliver those products more rapidly.

    Companies that are serious about digital transformation know the importance of big data. And, increasingly they are turning their attention to predictive analytics techniques as a means of assessing the whole product life cycle. In test automation terms, there are several benefits from a predictive QA approach: Getting the most out of the defect management and test automation data enables you to create better models, optimize testing processes and predict defects like never before.

    Features matter a lot with any product or service, of course, but what keeps users truly engaged is the overall experience. More than ever, that experience is dictated by performance—and why product performance matters so much.

    In today’s market, a company that can deliver quality products to market faster than its competitors gains a significant advantage. So, now the performance of teams in the software development life cycle (SDLC) is being closely analyzed to deliver quality at speed. However, enterprises that prioritize product performance over SDLC performance are not taking full advantage of the possibilities digital has to offer.

    SDLC QA ecosystem, with analytics engine at the core

    Just as with product performance, the ability to analyze SDLC performance is predicated on the amount of data you have to for analytics. The more data you have, the better—and the best way to gather that data is by automating activities, mainly because of the vast traceability and identification capabilities that technology provides. Because of this, automating testing activities is one of the biggest activities that organizations are implementing to enhance their SDLC performance. This is, in fact, a key driver in enabling digital transformation within any organization.

    However, the issue we see over and over again is this: The sheer quantities of testing activities that need to be automated are actually slowing organizations down. In part, testing complexity is to blame. Teams often feel there is a lack of skills in-house to ensure all the working parts operate and interact seamlessly. While these challenges with regards to automating test cases is valid, test data should not be seen as a huge obstacle, a mountain to be scaled.  With the right tools, that test data is an enabler to optimizing performance and holds the keys to the future success of your product through the analytics it can provide.

    Yet, compounding these challenges is the fact that toolsets have a habit of changing, so the data isn’t always structured uniformly. Now, organizations are going a step further with predictive analytics, powered by artificial intelligence (AI) and machine learning (ML) techniques, by leveraging their large volumes of structured and unstructured data available from defect management tools and test automation results.

    This means organizations are now able to successfully analyze SDLC performance by being able to incorporate data from all their testing activities to give them predictive QA capabilities.

    How predictive QA gives organizations an advantage over traditional QA comes in the form of intelligence. Predictive QA converts test data into actionable insights.

    Here are just some of the ways predictive QA will impact testing efforts:

    • Faster time-to-market
      • The first thing predictive QA will help with is reducing test cycles so that organizations can get top-tier software into customers’ hands faster. Predictive QA calls out inefficiencies, optimizes testing efforts and helps cut down on test cycles. We recently worked with a leading hotel chain that was able to boost test automation efficiency by 30 percent using AI and ML-driven predictive analytics.
    • Better defect detection
      • Defect detection is one of the first things that comes to mind when we talk about improving quality, and it is certainly true that predictive QA can do that with the available data. Using predictive techniques, software teams can drill down to understand root causes and failures, predict defect ranges and the risk of modules for future versions.
    • Understand what’s working (and what’s not)
      • With predictive QA, teams get unprecedented insight into what’s going on in their testing efforts. Using these techniques, teams can assess what is driving greater application lifecycle efficiencies—and they will plainly be able to see what is not. They will be able to address under-performing test cases and prioritize those with the greatest impact. And, it will enable them to better select the right types of testing and resources required for optimization.

    The growing demands of digital are pushing enterprises to the limit, requiring faster release cycles that consume a significant amount of resources. According to the latest World Quality Report, 99 percent of organizations face challenges testing in their agile environments while the average level of automation is only around 16 percent.

    Predictive analytics is beginning to address this in many ways. Invisible to the consumer eye, our increasingly connected world is reliant on accurate, actionable, automated analytics to power it. Predictive QA has proven essential in helping leverage machine learning and advanced analytics techniques, targeting both end-product and the design life cycle as a whole.

    Enterprises are looking to AI to exploit the wealth of data found in various levels of their IT organizations, whether at the software development level or on the production side, said Dominique Raviart, IT Services practice director for analyst firm NelsonHall. “With AI, they have an untapped opportunity to better identify where defects lie, increase the quality of applications, and ultimately improve the user experience of end-users, customers, and other stakeholders.”

    — Manish Mathuria

  • When AI Met DevOps: Machine Teaching

    When AI Met DevOps: Machine Teaching

    One of my favorite quotes about artificial intelligence (AI) isn’t from a data scientist or tech industry analyst. It’s from a doctor.

    When asked if AI would eventually replace radiologists, Dr. Curtis Langoltz of Stanford University pithily replied “No, but radiologists who use AI will replace those who do not use it.”

    This great insight is highly applicable to IT. Yes, there are many ways we can use AI methods to fully automate a broad range of DevOps tasks. Companies, including CA Technologies, are actively involved in the development of solutions that enable our customers to do exactly that.

    Algorithmic machine learning, however, doesn’t just empower systems to perform tasks and solve problems autonomously. It also makes them great active partners with human beings. In fact, much of what machines learn they also wind up teaching.

    The synergy between AI and human radiologists, for example, stems in part from the fact that digital systems can differentiate about 200 levels of gray in a diagnostic image—compared to only about 16-20 that are discernable by the human eye. Train an AI system with enough images, and that precise cognitive power can more effectively detect that something is going on.

    But for the most effective diagnostic process, you don’t just depend on that detection alone. You use that detection to empower a human diagnostician who can apply a broad understanding of pathologies and deep experience with the complexities of individual patients to deliver the highest quality care.

    In DevOps, we can do the same. We can use AI to capture insights that teach us how to continuously optimize our workflows and processes. We can also use our AI learnings to push our work up higher on the value chain.

    More specifically, the synergy between AI and human intellect can:

    Make development smarter. The speed, quality, and efficiency of development pipelines can be affected by all kinds of subtle factors. A less-than-optimally designed API, for example, can be a small but chronic stumbling block to everyone who has to use it. Scrum outcomes can be undermined by anything from a particular type of technical challenge to a nascent personality conflict.

    By capturing a rich set of DevOps metrics and applying machine learning to those metrics, development leaders can discover process bottlenecks and skilling shortfalls. They can better coach individuals and promote team collaboration. The result: a better working environment that facilitates digital agility for the enterprise and higher satisfaction/retention for valuable employees.

    Make ops smarter. Enterprises are running increasingly volatile and complex workloads on increasingly hybridized infrastructure. At the same time, the tolerance of internal and external users for latency and outages continues to approach zero. There are also real costs associated with performance problems.

    The elastic capacity of public and private cloud does much to help with workload volatility. But adding cloud capacity also has its costs—and end-to-end application performance often depends on back-end systems that are not cloud-based. So not every performance issue can be solved by simply throwing more capacity at it. Nor should it be, if a rearchitecting can fix a bottleneck less expensively.

    Here again, AI can teach us a lot. We can uncover opaque interdependencies in processing load and data throughput. We can spot conditions when it may make business sense to throttle cloud costs that aren’t cost-justified. We can even better understand the real-world conditions—whether patterns in customer behaviors or our own marketing programs—that are driving our demand spikes and troughs. All of this helps us deliver consistently responsive digital experiences at a cost that makes good business sense.

    Make security smarter. AI is already being broadly implemented in security solutions such as endpoint protection and threat response to automate the detection and neutralization of anomalous activities in the enterprise environment. But effective multi-layer security isn’t just about finding and stopping exploits. It’s also about building applications that are themselves inherently less vulnerable to hacking. This is the essence of DevSecOps.

    AI has huge potential value here. We are writing a rapidly growing volume of increasingly sophisticated code. It is very easy for subtle vulnerabilities to hide in that code. As our development practices become more complex—often including multiple contractors—it becomes more difficult to understand exactly where and why these vulnerabilities were introduced into our code. Machine learning can teach us the answers to these questions, so we can more proactively secure our data and our businesses.

    It’s especially interesting to consider what may happen as we start to apply AI to DevSecOps across our organizations, as well as within them. More diverse inputs enable machine learning to discover more factors that impact code pipeline performance. By aggregating our knowledge about how we build, deliver and secure our code, we are all likely to benefit with better practices and stronger guardrails.

    — Cameron Van Orman

  • 6 Ways AI and ML Will Change DevOps for the Better

    6 Ways AI and ML Will Change DevOps for the Better

    There’s been a lot of media attention in recent years about how artificial intelligence (AI) and machine learning (ML) are going to change the world—how they’re going to create new and interesting applications in fields as diverse as education, law, health care and transportation. This may happen. But if I had to bet on a use case where AI and ML will create a tangible, lasting impact, I’m putting my chips on DevOps.

    DevOps is all about automation of tasks. Its focus is on automating and monitoring every step of the software delivery process, ensuring that work gets done quickly and frequently. While it doesn’t eliminate human tasks—far from it—it does encourage enterprises to set up repeatable processes that promote efficiency and reduce variability.

    AI and ML are perfect fits for a DevOps culture. They can process vast amounts of information and help perform menial tasks, freeing the IT staff to do more targeted work. They can learn patterns, anticipate problems and suggest solutions. If DevOps’ goal is to unify development and operations, AI and ML can smooth out some of the tensions that have divided the two disciplines in the past.

    Here are six ways AI and ML can and will change DevOps for the better.

    Promoting Feedback on Performance

    One of the key tenets of DevOps is the use of continuous feedback loops at every stage of the process. This includes using monitoring tools to provide feedback on the operational performance of running applications. This is one area today where ML is impacting DevOps already. Monitoring platforms gather massive amounts of data in the form of performance metrics, log files and other types. Advanced monitoring platforms are applying machine learning to these datasets to proactively identify problems very early and make recommendations. These recommendations go to the DevOps team members so that they can ensure that the application service remains viable. Machine learning is enhancing the continuous feedback loops that are critical to DevOps.

    Enabling Communication

    Communication and feedback is always one of the biggest challenges when organizations move to a DevOps methodology. Human interaction is vital, but with so much information flowing through the system, teams need to set up a wider variety of channels to set and revise workflows on the fly. Using automation technology, chatbots and other systems initiated by AI, these communications channels can become more streamlined and more proactive.

    Correlate Data Across Platforms and Tools

    To operate efficiently, DevOps teams need to simplify tasks. This is getting more difficult as environments get more complex. Start with monitoring tools: Teams tend to use multiple tools that monitor an application’s health and performance in different ways. Machine learning applications can absorb these data streams and find correlations, giving the team a more holistic view of the application’s overall health.

    Manage a Flurry of Alerts

    Since DevOps encourages teams to “fail but fail fast,” it’s critical to have an alert system that spots a flaw quickly. This tends to create scenarios where alerts are coming fast and furious, all labeled with the same severity, making it difficult for teams to react. Machine learning applications can help teams prioritize their responses based on factors such as past behavior, the magnitude of the current alert and the source that specific alerts are coming from. Humans can set up rules, but machines can help manage these types of situations when too much data overwhelms the system.

    Evaluating Past Performance

    AI/ML also has the potential to help developers during the application creation process. By examining the success of past applications in terms of build/compile success, successful testing completion and operational performance, machine learning algorithms could make recommendations to developers proactively based on the code they are writing or the application that they are building. The AI engine could direct the developer in how to build the most efficient and highest-quality application.

    Software Testing

    In the future, we could see AI/ML applied to other stages of the software development life cycle to provide enhancements to a DevOps methodology or approach. One area where this may happen could be in the area of software testing. Unit tests, regression tests, functional tests and user acceptance tests all produce large amounts of data in the form of test results. Applying AI or machine  learning algorithms to these test results could identify patterns of poor coding practices that result in too many errors caught by the tests. This information could then inform the development teams so that they can become more efficient in the future.

    Similarly, leveraging historical data, AI/ML could be used to fine-tune deployment strategies as applications are moved from Dev to Test to Production environments.

    — Mike Hughes

  • Accenture Aims to Infuse AI into App Testing

    Accenture Aims to Infuse AI into App Testing

    Accenture plans to infuse greater amounts of artificial intelligence into application development testing following its acquisition of Real Time Analytics Platform Inc., which provides tools that make use of machine learning algorithms, neural networks and natural language processing (NLP) to analyze every stage of the software development life cycle.

    Kishore Durg, senior managing director and growth and strategy lead for Accenture Technology, the IT services arm of Accenture, will incorporate the AI technologies developed by Real Rime Analytics Platform into the Accenture Touchless Testing Platform, which is a suite of open source and proprietary testing tools that Accenture has infused with advanced analytics and cognitive computing technologies.

    Durg said Accenture is committed to automating application testing using AI technologies to help organizations increase the productivity of application development teams. At a time when organizations are investing in a broad range of digital transformation projects, the rate at which applications can be built, tested and deployed has become a critical issue.

    Most organizations on their own won’t be able to aggregate enough data to drive machine learning algorithms and neural networks to drive a meaningful AI model. Those models require access to massive amounts of data to be trained to identify potential issues within any application. Because of the size and scope of the projects Accenture works on, organizations that employ its service can benefit from all the data that Accenture can bring to bear to train AI models, Durg noted.

    The quality of the data used to train those AI models is also as important as the amount of data, added Durg. Accenture has the resources required to cleanse data before it gets fed into an AI model, as well the expertise needed to eliminate any biases that might get built into any algorithm being applied to that data, he said.

    As AI continues to evolve, it won’t be long before every application incorporates some form of an AI model. Each of those models not only needs to be trained, but they also need to be updated continually—and eventually replaced by more sophisticated models as more data becomes available. In effect, that requirement will create a need to extend DevOps processes to how AI models are incorporated within an application.

    At the same time, it’s clear that large swaths of DevOps processes involving, for example, application testing can be increasingly automated using a variety of machine learning and network networks, also known as deep learning algorithms.

    In theory, that should accelerate the rate at which applications are developed and deployed, while testing processes that are augmented by AI technologies should result in applications that are more secure, as many more vulnerabilities will be discovered long before an application gets deployed in a production environment.

    In fact, the inclusion of advanced algorithms across a DevOps toolchain might accelerate adoption of DevOps processes. After all, most IT organizations today have embraced DevOps unevenly largely because of the complexity involved. AI technologies one day soon may eliminate that issue altogether.

    — Mike Vizard

  • Artificial Intelligence: Coming to the Rescue of ITOps

    Artificial Intelligence: Coming to the Rescue of ITOps

    According to McKinsey’s Global Institute Report of 2018, artificial intelligence (AI) has the potential to create an annual value of $3.5 billion to $5.8 billion across different industry sectors. Today, AI in finance and IT alone accounts for about $100 billion; hence, it is becoming quite the game changer in the IT world.

    With the onset of cloud adoption, the world of IT DevOps has changed dramatically. The focus of ITOps is changing to an integrated, service-centric approach that maximizes business services availability. AI can help ITOps in early detection of outages, potential root cause prediction, finding systems and nodes that are susceptible to outages, average resolution time and more. This article highlights a few use cases where AI can be integrated with ITOps, simplifying day-to-day operations and making remediation more robust.

    Predictive Analytics of Outages

    False positives can cause threat alert fatigue for ITOps teams. One survey indicates that about 52 percent of security alerts are generally false positives. This puts a lot of pressure on the teams, as they have to review each of these alerts manually. In such a scenario, deep neural networks can predict whether an alert will result in outages.

        Alerts                                                                                Layers                                                                                 Yes/No

    Feed Forward back propagation with two hidden layers should yield good results in terms of predicting outages as illustrated above. All alert types within a stipulated time can act as inputs and outages would be the output. Historical data should be used to train the model. Every enterprise has its own fault line and weakness, and it is only through historical data that latent features are surfaced; hence, every enterprise should build its own customized model, as a “one size fits all” model has a higher likelihood of not delivering expected outcomes.

    The alternate method is a logistic regression where all “alert types” are input variables and “binary outages” would be the output.

    Logistic regression measures the relationship between the categorical dependent variables and one or more independent variables by estimating probabilities using a logistic function, which is the cumulative logistic distribution. Thus, it treats the same set of problems as probit regression using similar techniques, with the latter using a cumulative normal distribution curve instead.

    Root Cause Classification and Prediction

    This is a two-step process. In the first step, root cause classification is done based on keyword search. From free-flow root cause analysis fields, natural language processing (NLP) is used to extract key values and classify into predefined root causes. This can be either supervised or unsupervised.

    In the second step, random forest for multi-class neural networks can be used to predict root causes while other attributes act as input. Based on the data volume and the datatype, one can choose the right classification model. In general, random forest has better accuracy, but it needs structured data and right labeling and it is less fault-tolerant to data quality. While a multi-class neural network will need a large volume of data to train, it is more fault-tolerant but slightly less accurate.

    Prediction of Average Time to Close a Ticket

    A simple weighted average formula can be used to predict time taken for ticket resolution:

    Avg time (t) = (a1.T1 + a2.T2+ a3.T3 )/(count of T1+T2+T3)

    Where T1 are ticket types.

    Other attributes can be used to segment the ticket into right cohorts to make it more predictable. This helps in better resource planning and utilization. Weightage of features can be done heuristically or empirically.

    Unusual Load on System

    Simple anomaly detection algorithms can inform whether the system is going through a normal load or it has high variance. A high variance/deviation from average on time series can inform the unusual activities or resources that are not freeing up. However, the algorithm should take care of seasonality, as a system load is a function of time and season.

    Given the above scenarios, it is obvious that AI has a tremendous opportunity to serve IT operations. It can be used for several ITOps including prediction, event correlation, detection of unusual loads on system (e.g. cyberattack) and remediation based on root cause analysis.

    — Vivek Singh

  • How Artificial Intelligence, Machine Learning Can Help DevOps

    How Artificial Intelligence, Machine Learning Can Help DevOps

    Artificial intelligence (AI) and machine learning (ML) can help the humans in DevOps break free from focusing on simple activities. One aspect of DevOps is automating routine and repeatable actions, and AI and ML can perform these activities with enhanced efficiency to improve the performance of teams and business. There are algorithms that can perform many operations and procedures, allowing those in DevOps to execute their part effectively. This article discusses how DevOps engineers can use AI and ML to their benefit.

    Artificial Intelligence, Machine Learning Driving DevOps Evolution

    Businesses are under a lot of pressure to meet customers’ ever-changing demands, and many embrace DevOps to improve their performance to some extent. However, it can be difficult for many companies to use AI and ML because of the complexity involved. To recognize any benefit with AI and DevOps, a creative mindset may be required.

    The adoption curve of AI/ML may be relatively slow. Only 27 percent of CIOs surveyed by ServiceNow for its report, “The Global Point of View,” have hired employed who have skills in machine learning. But the fact is, DevOps experts may have a lot to gain by adopting even the most basic features of AI and ML. The same survey found that around 85 percent of C-level executives believe AI/ML can offer substantial value in terms of accuracy and rapidity of decision-making, which will lead to improved profitability for the company.

    Tracking and organization in a DevOps environment requires effort because of the complexity involved in the distributed application, which traditionally made things difficult for the team to manage and resolve customer issues. Before the evolution of AI and ML, DevOps team members could spend hundreds of hours and a large amount of resources to identify one point within an exabyte of information. To solve such problems, the future of DevOps is AI-driven, helping to manage the immense capacity of data and computation in day-to-day operations. AI has the potential to become the primary tool for assessing, computing and decision-making procedures in DevOps.

    AI’s Influence on DevOps

    AI can change how DevOps teams develop, deliver, deploy and organize applications to improve the performance and perform the business operations of DevOps. There are three common ways through which AI may influence DevOps:

    Enhanced Data Accessibility

    The lack of unregulated accessibility to data is a critical concern for DevOps teams, which AI can address by releasing data from its formal storage—necessary for big data implementations. AI can collect data from multiple sources and prepare it for reliable and robust evaluation.

    Greater Implementation Efficacy

    AI contributes to self-governed systems, which allows teams to transition from a rules-based human management system. This helps address the complexity of assessing human agents to improve efficacy.

    Effective Resources Use

    AI gives much required competence to automate routine and repeatable tasks, which minimizes the complexity of managing resources to some extent.

    How Can Companies Apply AI and ML to Optimize DevOps?

    Organizations can apply AI and ML to greatly optimize their DevOps environment. For one, AI can help in managing complex data pipelines and create models that can feed data into app the app development process. By 2020, it’s expected AI and ML will take the lead in digital transformation, overtaking IoT.

    However, implementing AI and ML for DevOps also presents a number of challenges for organizations of all sizes. To benefit from AI and ML technologies, a customized DevOps stack is required.

    Open source projects such as the Fabric for Deep Learning (FfDL) and Model Asset eXchange (MAX) can lower the barrier of entry for companies, helping to implement machine learning and making the DevOps process more efficient.

    Application of AI and ML can result in true ROI for a company by optimizing DevOps operations, making IT operations more responsive. They can improve efficiency as well as productivity of the team and play an important role in filling the gap between humans and big data.

    Conclusion

    A company that wants to automate the DevOps have to decide whether to buy or build a custom AI/ML layer. However, the first step is to establish a strong DevOps infrastructure. Once the foundation is created, AI/ML can be applied for increased efficiency. AI/ML can help DevOps teams focus on creativity and innovation by eliminating inefficiencies across the operational life cycle, enabling teams to manage the amount, speed and variability of data. This, in turn, can result in automated enhancement and an increase in DevOps team’s efficiency.

    — Subramonian

  • Digital Transformation Strategy? Think Cloud

    Digital Transformation Strategy? Think Cloud

    A few years back companies used innovation and digital transformation mostly to differentiate themselves and to stay competitive. The drastic growth in digital and cloud computing over the last couple of years have changed this mindset.

    Today, organizations have to be innovative and leverage the latest technologies just to sustain and stay in business. Enterprises that implement online retail business, online banking and several other online services aren’t considering those channels simply as another route to increase their revenue—they have realized that online services are fast becoming their primary revenue channel. According to Forrester’s Report, “The Digital Business Imperative,” data analyzed just for three months showed that 84 percent of U.S. banking customers had used online banking for their transactions and 43 percent of the customers had used a mobile phone for these activities.

    Organizations are working at a very fast pace reviewing and analyzing their processes to seize opportunities for digital transformation. It is important to understand that to realize digital transformation, companies may need to completely re-engineer their current processes to make use of technologies such as the internet of things (IoT), big data analytics and artificial intelligence instead of doing patchwork on existing processes to adapt to digital technologies. It is also important for senior IT executives to consider digital initiatives in tandem with their cloud strategy instead of treating them in isolation. There is absolutely no doubt that the scale, speed and massive infrastructure requirements such as compute power, storage and other associated platforms to support these technologies are best provided by the cloud. The question to ask is, “Are we going to develop and host the infrastructure we need to support digital, or are we going to leverage the constantly improving robust infrastructure and services that cloud providers are offering?”

    Organizations that plan for massive growth and transformation are usually the ones that invest considerably in technology to support innovative ideas. Advancements in the digital space help fuel innovation, but without a solid cloud strategy accompanied by agile development processes, ideas are likely to remain simply as ideas on paper and will take forever to get materialized into products or solutions that provide value. In today’s context, digital and cloud are almost inseparable due to the robust infrastructure, services and tools available on the cloud to support digital initiatives. All leading cloud providers offer competing solutions and services to help organizations move forward with their digital initiatives at a rapid pace.

    In my previous article, “Transforming with the Cloud: If Not Now, When?” I touched upon some of the key areas that organizations should be considering with regards to transforming their businesses with the cloud. I have attempted to structure this article in a similar fashion, with the focus being on the role played by cloud to support some of the key digital technologies such as artificial intelligence, big data and analytics and IoT. The idea is to provide a very high-level overview of the digital landscape and how the leading cloud providers are helping enterprises with their digital initiatives.

    Artificial Intelligence

    The digital revolution, which centered around mass production of computers and communication devices, has changed the way businesses have operated over the last several decades, resulting in constant improvements ranging from generating new ideas for products and services to innovative product designs to improving the customer experience. At present, the world is going through another, possibly even stronger wave of revolution. It is the use of artificial intelligence to perform complex cognitive tasks to solve business problems in ways that previously were either highly complicated or extremely resource-intensive. Most organizations deal with business propositions that yield small to medium value and require a high volume of human work, such as reviewing large numbers of documents such as RFPs to understand requirements and estimate costs versus returns to determine whether to proceed with those proposals. AI is proving to be the best alternative to handle cases such as these that are currently being dealt by human beings, but the volume of work involved challenges businesses on the feasibility of continuing those without AI.

    AI systems try to mimic the human brain, which uses patterns to generate perceptions, and logic to drive the structured approach of analyzing a situation from a rational perspective. AI systems process large volumes of data that could come in from various sources such as sensors, online applications, textual data from social media and the like. AI processes the data using perception to analyze patterns and incorporates machine learning to utilize structured evaluation methods and rational decision-making, not only to extract pieces of meaningful information, but also to assemble such pieces of information to make valuable decisions.

    Cloud plays a significant role in enhancing the power of applications that incorporate AI. Almost all major players in the cloud business have developed AI services that use powerful cognitive engines to process structured data such as relational databases and unstructured data from NoSQL databases, sensors and other technologies that get uploaded to the cloud. The robust pattern-matching algorithms and the powerful logic component built into these cognitive engines are highly sophisticated. Data and compute power are the two most critical requirements to make these engines effective. The engines predict more accurately with larger datasets. AI applications such as image recognition, video analytics, natural language processing and speech recognition leverage machine learning using highly sophisticated neural networks that perform detection and prediction from large volumes of data. Parallel processing with the use of graphics processing units (GPUs) make these data processing and computations faster. Building and implementing such robust GPU-based parallel processing engines on-premises would be a very expensive and resource-intensive initiative. Cloud addresses this problem by providing APIs to access several machine learning services such as video analytics, speech recognition, process automation, vision detection and natural language processing. Behind these APIs are complex infrastructures that combine the power of clusters of GPU-based compute engines, neural networks and data lakes.

    Amazon’s AWS Marketplace offers machine learning and AI software solutions from several major software vendors to help AWS customers increase the efficiency and productivity of their businesses. AWS’ artificial intelligence solutions offer several pretrained services that can be utilized by developers to add intelligence to their applications via simple API calls. Advanced deep learning functionalities are provided by Amazon Lex, which chatbots could incorporate for automatic speech recognition and natural language processing abilities. Similarly, AWS provides Amazon Polly to build applications that can convert text into speech delivered in natural sounding male or female voices. Amazon Rekognition, meanwhile, uses technology to analyze billions of images, so applications can be developed to search images, detect and compare faces, objects and scenes.

    Google Cloud also offers competing products and services to support their customers’ AI initiatives. Google Cloud Natural Language provides powerful machine learning models that analyze text to provide meaningful insight such as customer sentiments about a product via conversations on social media. Google provides Cloud Speech-to-Text, a service that understands about 120 languages and converts audio to text. Similarly, Cloud Text-to-Speech can convert text to natural-sounding speech in 30 different voices and in several languages. Google also provides products such as Cloud AutoML, a suite of machine learning products, and Cloud Machine Learning (ML), a managed service that can be leveraged by developers and data scientists to build powerful machine learning models.

    Microsoft Azure provides the infrastructure, tools and services to build smart applications with data that can live in the cloud, on-premises or on edge devices. Several products and tools are available via marketplace, and Azure provides sophisticated AI services to integrate the tools to develop intelligent business applications. Powerful chatbots could be developed by integrating Azure Bot Service, language understanding and external systems such as Office 365 and Dynamics CRM to streamline and automate common activities. Another example is an automated failure detection system for assembly lines built based on Azure’s image classification system using a convolutional neural network to help improve the identification of faulty electronic components. Azure also provides Visual Studio Code Tools to build, test and deploy AI solutions. The powerful AI Toolkit for IoT Edge from Azure enables IoT devices with AI that runs locally through pre-built deep learning models. Last but not least, Azure’s Machine Learning Studio helps develop and manage predictive-analytics solutions.

    Big Data and Analytics

    With the growth of internet, cloud and social media, there has also been an exponential growth of data across the world. According to statistics on big data generation in the last five years, the average volume of data created in the world every day is about 2.3 trillion Gigabytes. When the nature of the data was more structured and organized, companies relied on data warehouses and BI applications to help make important data-driven business decisions. Traditional data warehouses were built based on relational databases that could be queried using SQL; the data could be extracted, transformed and loaded from one or more data sources via ETL jobs that ran up to several times a day. This overall approach has proved to be ineffective when it comes to handling and modifying continuous streams of real-time data flowing in from multiple dissimilar sources such as social media, IoT, the public web and relational databases. Big data analytics, which helps examine large structured and unstructured data sets, has become a major enabler for enterprises to make critical business decisions by providing insight and knowledge with data mining, predictive analytics and forecasting. As big data processing evolved, the concept of data lakes came into existence. A data lake is a centralized repository that allows the storing of structured and unstructured data as is and enables the use of a variety of tools and approaches to answer business questions.

    The ability of the cloud to scale vertically and horizontally makes it the ideal platform for big data hosting and analytics. With vertical scaling, it is possible to increase the capacity of a server by adding resources as needed by the applications. Horizontal scaling allows expanding hardware as the processing requirements increase. Hadoop, which leads the big data revolution, is designed as a distributed system so that it can take advantage of scaling. Parallel processing is an important part of its design so that the system can process several independent small tasks such as serving data stores and file systems, processing streaming data and handling queries in tandem. Cloud-based systems offer high bandwidth, enormous amounts of memory and scalable processing power to help big data applications with improved real-time processing and analysis of streaming data. Cloud undoubtedly is an obvious choice for applications running large workloads and storing enormous volumes of data. Cloud providers offer highly scalable database services coupled with tools and services to support information-management, business intelligence and analytics.

    All major cloud service providers offer competitive and comprehensive tools and approaches to process big data at the volume and velocity that your business demands, while at the same time being conscious to reduce the associated operational costs. To perform faster and efficient transfer of petabytes of data to the cloud, AWS provides solutions that employ different techniques such as network multiplexing, reduced storage footprint via data deduplication and compression and advanced data replication. AWS offers services including Amazon Elastic Compute Cloud (EC2) and Simple Storage Service (S3) to provide the elasticity needed for your data lake along with your choice of database products, ETL and reporting tools via AMS Marketplace solutions. Similarly, with Microsoft Azure HDInsight, solutions can be developed using open-source frameworks such as Hadoop, Spark and Hive to analyze streaming or historical data. To process large volumes of data, HDInsight offers a broad range of cost-effective solutions for ETL and data warehousing. Azure HDInsight offers specific cluster types such as Apache Hadoop, Apache Spark, R Server and Apache HBase, with cluster customization capabilities such as adding components, utilities and languages.

    Internet of Things

    IoT is the concept of connecting devices such as security sensors, surveillance cameras, smartphones, smart watches and other wearables and even household appliances such as washing machines, refrigerators and several others that have the ability to communicate and transfer data over the network without direct human interaction. This disruption in technology has not only empowered individuals and families with greater control of their household systems and appliances, but enabled organizations with data that provide greater insight into critical areas of business interest, opening the doors for innovative products, solutions and new business opportunities.

    The rate of adoption of IoT by businesses is growing exponentially as the number of connected devices continues to increase. As per Gartner’s recent study, businesses could already be using as many as 3.1 billion IoT devices today, and by 2020 this number is likely to rise to about 7.6 billion. According to an article in Forbes, IoT will have an impact in all industries, from manufacturing to logistics to health care. We are not too far from the days where nearly everything in the world will be connected. IoT is at present playing a dominant role in optimizing production, managing supply chains, tracking assets, making financial decisions and improving the customer experience. Digital transformation of the fitness industry has been remarkable. Wearable devices with built-in sensors can constantly collect data on physical activities such as distance travelled, calories burnt and sleep patterns to provide detailed analyses and insight for continuous health care. IoT applications are designed to use data from connected devices, and the sophisticated tools available in the cloud let you visualize, explore and build complex analytics. In complex IoT applications that use several devices, it is important to understand the state of the devices and to frequently communicate to the application components that leverage those devices. It is also essential to ensure secure identity and access between devices and applications.

    As with any revolution in technology, IoT also has its associated challenges. With more devices being connected to the internet, the volume of data generated is also immense, which in turn puts significant pressure on the internet. So there obviously is a need to support infrastructure that can transmit and store this data more efficiently. Due to the vast number of connected devices, and with that number constantly increasing, there is a push toward making these “edge” devices intelligent to perform some degree of processing and then send the results to the servers rather than sending massive amounts of data to central servers to perform all the processing. For example, surveillance cameras in the past would send all the videos to the central recording device, which in turn would record only when it detects motion. Consider the scenario where hundreds of high-definition surveillance cameras are sending video feeds constantly to the central server—the impact this could have on the network is unimaginable. It should also be noted that as the physical distance between the devices and the server increases, network transmission latency increases. With edge computing, the video cameras are smart enough to sense motion and they send videos to the cloud-based central recording system only whenever they detect motion. This drastically reduces the volume of data that is transmitted over the network and makes it a more efficient system. Cloud and IoT complement each other—connected devices generate huge amounts of data and cloud provides the infrastructure to store, process and analyze the data. It is also interesting to note that IoT is an important data source for big data analytics.

    Cloud IoT Core service, built by Google Cloud Platform (GCP) partners, offers connectivity to devices by providing the necessary hardware, software and solutions. These services include secure connection of devices (via identity and authentication) over industry standard protocols including MQTT and HTTP.  Cloud IoT Core also allows remote controlling of devices from the cloud by maintaining a logical configuration of the devices. Since this IoT service is serverless, there is no need for upfront software installation and the horizontal scaling of the GCP can instantly be leveraged when required. A host of tools such as Dataflow, BigQuery, Bigtable and Data Studio are available to help with data analytics and insights.

    Microsoft provides services for IoT via the Azure IoT Hub. Features offered by the Azure IoT Hub include ensuring bi-directional communication with billions of IoT devices, establishing device-specific access control, secure and scalable provisioning of devices and integration between cloud and edge to distribute intelligence across devices. Azure IoT Edge provides features for optimized performance of the edge and cloud such as ensuring the lowest latency between edge devices and the cloud. IoT Edge helps control IoT costs by reducing the volume of data transferred from the edge devices to the cloud. It leverages services such as Azure Stream Analytics to process data at the edge and transmit only the bare minimum data that is needed by the cloud for further analysis.

    Amazon provides a fleet of services such as AWS IoT Core, AWS IoT Device Management, AWS IoT Analytics and several others to support IoT initiatives. For easy deployment, programming and management, Amazon offers the FreeRTOS lightweight operating system for small edge devices. The AWS Greengrass software further enhances the power of edge devices by offering local compute, secure messaging and data caching. AWS IoT Analytics, a fully managed service, provides all the capabilities required to run complex analytics on IoT data to obtain insights and to build machine learning use cases.

    Taking Everything Into Account

    Technology is certainly a major driver in any business today and companies that struggle to integrate technology effectively will eventually find it difficult to sustain or do well in their marketplace. Connected devices, social media and massive volumes of several forms of structured and unstructured data feeds have paved the way to further leverage technology and transform businesses. This “digital transformation,” which includes use of artificial intelligence, big data analytics and IoT, is fast becoming a key requirement for organizations to be innovative and competitive. Digital has opened doors for better analytics and decision-making, leading enterprises to explore, analyze and obtain new insights and ideas on growing their businesses.

    With cloud reaching a high level of maturity with regards to services, tools and security, it has become the ideal platform for digital technologies. All leading cloud providers have comprehensive and competitive solutions, tools and associated services to address even the most complex digital transformation initiatives for their customers. Furthermore, the horizontal and vertical scaling of infrastructure offered by the cloud makes it highly suitable for the compute requirements demanded by digital technologies.

    Escaping from or ignoring the digital revolution will be disastrous to organizations as well as individuals. Humans and businesses are generating trillions of gigabytes of data every day. Whether we have realized it or not, digital is transforming our lives. It is important for organizations to get on board soon and devise a digital strategy that works together with their cloud initiatives and strategy.

    — Sridhar Asvathanarayanan

  • Leveraging Automation for Your Business

    Leveraging Automation for Your Business

    Artificial intelligence (AI) has the capability to change the way we work, the way we manage, and the way we conduct research. As automation processes improve, businesses increasingly are looking for ways to leverage the new technology to help with their own goals.

    There are certain risks posed by the advancement of artificial intelligence, and the automated applications AI creates are in contrast to the many benefits using automation may bring about. The rewards of automation, when managed properly, are the relief of burdensome activities such as mundane tasks and other minutiae, improved productivity and increased participation.

    Consequences of adopting automation for your purposes must be thoroughly thought out to leverage it to the best of your ability.

    Automation, once used for only a few specialized tasks, now can be used for data mining, marketing, medical research and building financial models. These are just a few of the applications the technology can be used for, and it’s far from a comprehensive list. The details of automation are specific to the industry that employs it, the organization that manages it and the managers who oversee its implementation.

    Why should you consider using automation to help achieve your business goals? Quite simply because utilizing it properly could result in a more efficient, more effective workforce and could even create job opportunities. By freeing up mental resources and enhancing the capabilities of your workforce, your organization will be able to operate at its peak efficiency and efficacy.

    “Machines can attend to vastly more information and more complex processes than human beings, and try out more drugs or vaccines than we can in the lab,” Pedro Domingos, a professor of computer science at the University of Washington told National Geographic. “Machine learning is used to discover drugs by simulating the process on a computer, which takes a fraction of the time and cost.”

    After you begin analyzing where your organization needs help, you can start the process of using automation that makes sense for you. Your business may need help with routine marketing tasks, creating models for the data metrics you bring in. Or, perhaps you need help organizing large amounts of information related to research and development of a product you’re about to roll out. Whatever the application, there are automated applications made to benefit your business.

    “Faced with a constant onslaught of data, we needed a new type of system that learns and adapts, and we now have that with AI,” Arvind Krishna, head of research at IBM, said in a recent blog post. “What was deemed impossible a few years ago is not only becoming possible, it’s very quickly becoming necessary and expected.”

    With automation, you can achieve things you may not have thought possible before. As Krishna makes clear in the quote above, the capabilities of leveraging automation are untested and virtually limitless.

    To truly leverage automation, you’ll need to manage the results of its implementation and have your team perform synthesize and arrive at conclusions through critical thinking and social cooperation—skills yet unmastered by even the most powerful artificial intelligence. Pairing automation with skilled social thinking will result in a highly productive and effective organization. This can result in some ancillary benefits such as increased cooperativeness between team members.

    For companies interested in rapid growth, automation can help propel your processes. From manufacturing to marketing, automation can help boost your efforts in research, analysis and production. Automating repetitive tasks can help free up workers allowing them to work on more complex and pressing problems within the company. In addition, workers learn new skills through the adoption of automation and managers can more effectively understand how to manage complexity within your organization.

    However you decide to use automation, it’s important to do a thorough and objective analysis of your organization. Where can you improve? Where do you need help? How can we empower workers to better perform? How do we measure performance? These are key questions that can help guide your analysis of your organization and well as your adoption of domain-specific automation applications.

    — Anthony Coggine

  • Splunk Acquires VictorOps: The End of the Road for Standalone IT Alert Management Tools?

    Splunk Acquires VictorOps: The End of the Road for Standalone IT Alert Management Tools?

    This week, Splunk, the leader in machine data intelligence, announced the acquisition of IT alerting solution VictorOps for $120 million. My congratulations to the VictorOps team for building a solid product for alert management and collaboration, demonstrating a wicked sense of humor and creating some cool T-shirts.

    While the acquisition makes sense on many levels, it does raise broader questions about the need for standalone IT alerting tools. Let me explain why IT alert management as a category faces strong headwinds and how these tools will need to evolve if they are going to remain relevant in a world driven by digital transformation.

    What Do IT Alert Management Tools Actually Do?

    When an IT outage or service disruption occurs in an enterprise, the first order of business is to restore operations back to normal. IT outages can cost you a lot (an hour of downtime can cost you upwards of $100,000 per hour), disrupt your customer experiences and derail employee productivity. To quickly troubleshoot an IT incident, you’ll need to notify the right subject matter experts who can collaborate together to pinpoint root cause for an outage.

    Every day, enterprise network operations center (NOC) teams receive hundreds of alerts from different IT management tools for monitoring, service desk, event correlation and configuration management. A certain percentage of these alerts demand urgent attention from NOC teams who are on-call and readily available for incident support.

    Enter IT alert management tools, whose job it is to manage the notification of messages to personnel based on predefined rules regarding who to notify for a given categorization of event or incident. Tools from PagerDuty, VictorOps, xMatters, OpsGenie and Everbridge alert the right team members using on-call schedules and notify them using a variety of channels including email, text, voicemail and chat. IT alerting tools help you manage the entire incident life cycle, using on-call schedules, alert routing rules and collaborative war rooms.

    Embedded Alert Context: The Missing Piece of the Alert Puzzle

    The fundamental challenge with scaling enterprise alert management is about establishing the right context for a flood of alerts that you’ve just received. Instead of forwarding every single alert that you receive, can you share actionable alerts that your NOC teams can immediately act upon?

    Your IT alerting tool needs the ability to correlate a bunch of alerts into a single event for faster acknowledgment and troubleshooting. Alert consolidation and correlation call for intelligence that can extract signal from the noise and compress alert volumes with the right inferences. Artificial intelligence for IT operations (AIOps) helps you do just that, by applying big data and machine learning techniques to event management data. With AIOps tools, you can handle events and minimize alert noise by delivering timely and actionable insights for incident support. This agility and insight, coupled with intelligent correlation to stay on top of major outages, helps NOC teams by focusing their attention on the incidents that truly matter.

    AIOps + Alert Management = Smarter Incident Management

    Without the ability to apply machine learning algorithms to alert floods, alert management tools act as “dumb forwarders” of IT alerts, inducing alert fatigue and adding to the overall noise. It’s time for alert management to get smarter and contextual with machine learning insights.

    Splunk’s acquisition of VictorOps is a clear sign that alert management tools as a standalone category can’t truly scale without a solid AIOps foundation. With artificial intelligence, IT teams can stop wasting valuable time figuring out incident triage and root cause analysis and ensure faster recovery from crippling outages with the right event analytics.

    — Deepak Jannu

  • Eggplant Extends Scope of AI Applied to Application Testing

    Eggplant Extends Scope of AI Applied to Application Testing

    Reliance on machine learning algorithms and other forms of artificial intelligence (AI) to not just run application tests at scale  but actually construct them may be about to increase.

    The latest release of a Digital Automation Intelligence (DAI) Suite from Eggplant enhances the AI capabilities baked into the testing tool to include the capture and analysis of runtime performance data in a way that enables a testing process to “learn” where potential bottlenecks are hidden. Eggplant CTO Antony Edwards said DAI Suite will then suggest a series of tests designed to make it easier for developers to identify the root cause of the problem.

    The goal is to reduce reliance on humans to construct formulaic tests, which Edwards said often limits the rate at which applications can be deployed and updated.

    Eggplant’s DAI Suite

    Other new capabilities being added to DAI Suite include enhancements to Eggplant Functional, which now takes advantage of AI to discover the elements of a graphical user interface (GUI) to automatically populate the automation logic in an Eggplant AI application model. Eggplant Performance, a load and performance testing product, has been integrated with JMeter, an open source performance testing framework, to enable developers and testers to reuse JMeter assets as well as creating load test scripts. Additionally, new real-time key performance indicators (KPIs) can be employed to shorten the feedback loop between testing and analysis.

    Both Eggplant Manager and Eggplant Automation Cloud are now 10 times faster and provide higher levels of testing scalability, according to the company.

    Edwards noted that, in general, application testing is too formulaic. The end goal should be on identifying the best way to delight an end user rather than merely trying to check a compliance box. That requires being able to test more application use cases at scale without slowing down the overall application development life cycle. In fact, he said the biggest hindrance to DevOps today is a reliance on manual testing processes that are driving a $32 billion testing services sector.

    It’s now only a matter of time before AI is applied more broadly to application testing. As the number of applications being developed increases, the more challenging testing becomes. The longer it takes to conduct those tests the more tempted developers are to short-shrift the testing process altogether, believing whatever issues that might arise can be addressed quickly using agile development methodologies. However, not only are there more dependencies than ever between applications, but also end users are less forgiving. Many of them will not, for example, ever give a mobile application that initially disappoints them a second look. Compounding that pressure is increased reliance on digital business processes, where the quality of the underlying application experience directly correlates to the perception of the value of the corporate brand.

    Developers may not always have the highest regard for application testing. But as IT continues to evolve, chances are high there soon will be many more developers perfectly happy to take advantage of all the AI help they can get.

    — Mike Vizard