Tag

DevOps

Browsing

Thank you to everyone who participated in the Selenium Testing your Kubernetes apps with Machine Learning and Testim webinar hosted by Codefresh. We had a fantastic turnout with lots of solid questions from the audience. If you missed the live event, don’t worry…

You can watch the recorded session anytime and for code examples, please see Codefresh’s recap post here.

Dan Garfield, VP of Marketing at Codefresh and Oren Rubin, CEO of Testim discussed how machine learning, Kubernetes pipelines, and Testim can make test creation painless and easy to accomplish.

They covered how to:

  • add UI testing to your software delivery pipeline
  • stand up an environment
  • create tests that scale
  • Overcome the challenges of UI/E2E testing

Some of the audience questions they answered during the live event:

  • Why I should prefer Codefresh over Spinnaker?
  • Could you please talk a little bit more about snapshotting production data and bring it into test?
  • How did the AI assign relevance to different parameters from a single run?

DevOps is a term that refers to the evolving professional movement that supports a collaborative relationship between IT Operations and development, leading to the fast flow of planned work that has high deploy rates, and at the same time increasing the stability, resilience, security, and reliability of the production environment. DevOps came into view in 2009 when a squad of Belgian developers hosted DevOps Days, which supported collaboration between developers and operational staff.  As the cloud is in buzz these days, most developers have readily accepted it that ultimately impacts Ops. DevOps and cloud are closely connected to each other that this post maps out in detail.

DevOps is great as a concept, but it is difficult to execute in reality. As DevOps has grown widespread and differentiated, it has become critical to know how to reach the next level of advancement and truly develops a DevOps driven organization. On this note, have a look at IDC’s recently published DevOps 2.0 MaturityScape.

There is no doubt in saying that DevOps builds a closer working relationship between dev and ops teams, but more significantly it necessitates collaboration with groups spanning QA & testing, security and architecture. To sum up ,  this recommends, DevOps is likely to become everything – which according to my view is right –  DevOps is way better when it integrates cross-functional teams with the aim to deliver high-touch customer experiences quickly.

Implementing and accelerating DevOps are an important topics of discussion; and within this automation, the role of QA & testing, and how to align with security driven DevOps are key considerations. There is a rise in experimentation and utilization of containers and microservices; and more investments in hybrid cloud management, consistent integration/continuous delivery, automated code testing, application performance management have become important to promote the development of a DevOps driven organization. The idea, of course, is to know what investments will support fastening of your organization’s DevOps journey.

As per a recent stats, by the end of 2018, 90% of IT Projects will depend on the principles of experimentation, speed, and quality.

Though operational models and technology investment strategies are still progressing, we begin to observe a widening gap between those businesses in experimentation mode contrary to those that know the benefits and quickly deploying DevOps to speed up a business change.

IDC’s DevOps Conference will make you understand how to accelerate and navigate the DevOps journey and is the right opportunity to know more about this.

How DevOps dictates a new approach to the cloud.

1. Cloud is not always a great solution for systems

DevOps and Cloud offer various potential benefits for companies, but many of them have larger investments in infrastructure, for instance, a mainframe. In the 1990s, the “Death of the Mainframe” has been touted, but the general fact is there is no business case to change many of the systems they host with Cloud-based solutions. The value of these systems can be increased with the help of DevOps techniques and future-proofed to make sure they do not turn into a bottleneck in difficult end-to-end customer journeys.

2. Cloud Native is not many organizations’ first-term goal

Most of our clients are planning to migrate to Cloud, and plan to do so over a two year period, but few have made a move now. Cloud migration is a continuous process, and the decision to do so should depend on business requirements. This involves whether the enterprise shifts entirely to Cloud or selects a hybrid, whichever option they pick, they have to deliver high business value from their current systems up to the point they are replaced or migrated.

3. DevOps tools are interchangeable

DevOps allows businesses to centralize their working practices and culture to gain transformational speed along with the quality of delivery. The tools that support this are interchangeable throughout system types, providing long-lasting benefits no matter how business systems are operated. While simply migrating to Cloud can allow enterprises to scale, it does not increase delivery speed or quality by itself.

4. To maximize the benefits of Cloud in the future

To make the most out of Cloud, businesses need to accept new ways of working. Different services available from main Cloud providers are “DevOps” tools in their right, for instance, AWS CodePipeline. But as mentioned in the previous point “tools support working practices and culture”. With the right working practices and culture in place, you can make the optimum use of tools.

5. Can the Cloud run without DevOps?

As mentioned above, cloud computing offers various benefits. These benefits are particularly useful when strengthened by the DevOps approach, but does the cloud have much to provide if we take out DevOps?

Undoubtedly, “yes”—but not much. You can still use machines in a flexible and scalable manner without DevOps. You can also take advantage of the pay-per-use business model, in which you have the authority to turn off unused resources to stop unnecessary spending.

Though both the cloud and DevOps functions well separately, they are stronger when they are used jointly. You will need to use the cloud model for DevOps to achieve its full potential for flexibility and agility. Similarly, when using the cloud, knowingly or not, you will automate processes and store configuration in version control before you experience that you are really following DevOps practices.

Netflix’s Simian Army is a great example to know about the success that can result from the integration of cloud and DevOps. You might consider this is not right for your company as it follows “on-premises only deployment policy.” Nevertheless, there is a way to get benefited from the cloud approach.

Bottom Line

DevOps and the cloud help businesses to transform user interaction with software delivery strategically. Enterprises no longer struggle adaptation but instead improve adaptability. Consider the cloud as an instrument, then take DevOps as the facilitator. If DevOps is a means, then the driver is the cloud. DevOps and the cloud together foster the development and IT leaps from ‘wait for the right time’ to ‘active frequency’. If you want to learn more about their relation then you can take DevOps training from experts to master its concepts.

Danish Wadhwa


Author bio:

Danish Wadhwa is a strategic thinker and an IT Pro. With more than six years of experience in the  digital marketing industry, he is more than a results-driven individual. He is well-versed in providing high-end technical support, optimizing sales and automating tools to stimulate productivity for businesses.

This is the third and final part of our series of interviews with Jake Kaldenbaugh, Strategic Exit (M&A) Advisor at GrowthPoint Technology Partners. In the first part of our video series Jake answered questions around players in the DevOps space, the constant evolution of software and the vast growth in mobile. In the second interview, Jake shared his perspective on the DevOps strategies of enterprise giants CA’s, IBM, Amazon, Microsoft and Atlassian. He also touched on what the sale of HPs impact will mean to the industry as well as testing’s role in continuous delivery. 

In this interview Jake covers:

  • Next generation platforms; containers, APIs and microservices
  • Testing’s role in the next generation of platforms
  • Digital transformations challenges
  • Up and coming startups in testing

Checkout the two previous interviews:

About GrowthPoint Technology Partners

GrowthPoint Technology Partners is an emerging growth investment banking boutique that helps growing technology firms with great technology create strategic value. Our team identifies leading companies in the areas of data, analytics, infrastructure, virtualization, security and systems management and helps lead them through successful value realization strategies that enable entrepreneurs and investors to achieve their best results.

Last week we released the first video in our three part series with Jake Kaldenbaugh, Strategic Exit (M&A) Advisor at GrowthPoint Technology Partners. In the first video Jake answered questions around players in the DevOps space, the constant evolution of software and the vast growth in mobile. Checkout the first video in the series.

In the second part of the interview Jake covers:

  • CA’s, IBM, Amazon, Microsoft and Atlassian DevOps strategies
  • The sale of HPs impact on the industry
  • Testing’s role in continuous delivery

About GrowthPoint Technology Partners

GrowthPoint Technology Partners is an emerging growth investment banking boutique that helps growing technology firms with great technology create strategic value. Our team identifies leading companies in the areas of data, analytics, infrastructure, virtualization, security and systems management and helps lead them through successful value realization strategies that enable entrepreneurs and investors to achieve their best results.

Today I had the pleasure of sitting down with Jake Kaldenbaugh, Strategic Exit (M&A) Advisor at GrowthPoint Technology Partners to discuss the state of the software development industry. As a senior banking leader Jake helps growing technology companies with great technology create strategic value.

In this interview Jake covers:

About GrowthPoint Technology Partners

GrowthPoint Technology Partners is an emerging growth investment banking boutique that helps growing technology firms with great technology create strategic value. Our team identifies leading companies in the areas of data, analytics, infrastructure, virtualization, security and systems management and helps lead them through successful value realization strategies that enable entrepreneurs and investors to achieve their best results.

Thank you to everyone who participated in our round table discussion on Choosing the Right DevOps Strategy: How far left should I shift? We had a solid turnout with lots of great questions from the audience. If you missed the live event, don’t worry…

You can watch the recorded session any time:

Tanya Kravtsov, Director of QA at Audible, and Bob Crews, President of Checkpoint Technologies shared their lessons learned from four different types of enterprise DevOps transformations.

They covered:

  • Practical suggestions for assessing your operational reality
  • Major pitfalls in DevOps transformations and how to avoid them
  • How to organize your team to increase productivity
  • Impact on development processes, ownership, tool stack and KPIs

Some of the audience questions they answered:

  • How do you ensure that security requirements are always considered in DevOps?
  • Which KPIs are important to track to ensure successful DevOps transformation?
  • What is an acceptable amount of technical debt? How do we know when it becomes a problem?
  • What are some metrics for measuring risk?

There were several questions that we were not able to address during the live event so I followed up with the panelist afterwards to get their answers.

Q: Why was continuous deployment listed twice on the diagrams?

Francis: Great catch. That was actually a typo, a marketing design bug slipped through to production… The “Continuous Deployment” label shown to the upper left, within the square encompassing the “Build” and “Test” phases in both the upper (Continuous Delivery) and bottom (Continuous Deployment) cycles, should have been labeled “Continuous Integration.”

Q: In reference to CD /CI what are the main benefits of doing smoke testing after production deployment? And, what could be an example of smoke testing?  

Tanya: Smoke test validating the most critical functionality of the product should be executed after every deployment to test the staging and production environments. This will help you uncover any deployment related issues and rollback the release if necessary without impacting the customer.  

Bob: Examples of “smoke testing” would be quick test to check for and validate successful login with valid data, login error message with invalid data, checking for broken links, tests to quickly validate the number and state of objects on a webpage, etc. These are very simple, but important tests. Typically they are run in production as one last check since many, perhaps most, organizations do not have a test environment that is an EXACT duplicate of production.

Q: Are automated tests the entire QA solution across all these organizations? Do the panelists see any value in manual, exploratory QA testers?

Tanya: Automated tests are an important component of the Continuous Delivery solution. It enables exploratory QA testers to focus on what they do best and actually test the new features of the product  by eliminating the need for manually running the same regression tests every time new code is committed.  

Bob: Absolutely. I believe it’s critical to carve out an approach to perform some quick manual, exploratory tests. These can be done as a separate initiative, apart from the validation taking place during these phases.

Q: What approach we should follow to test DevOps solutions?

Tanya: Any scripted DevOps solutions should be treated just like any code,  accompanied by unit and integration tests which run continuously in a test environment before the changes get promoted to the mainline.  In addition,  closely tracking KPIs discussed in the Webinar will alert us to any issues with the current solutions such as build up of technical debt or reduction in quality,  which should be acted upon immediately.   

Bob: I would need a little more information in order to provide a good answer. Knowing the current state of the organization’s testing approach, their objectives, the tools already in place, the skill set of current team members, etc. are just a few questions I would have before being able to provide any insight. If starting from scratch I would say start with becoming entrenched in an Agile approach. If you are already Agile then the next step would be to look at tackling Continuous Integration. Please feel free to connect with me Linkedin and I would be happy to chat more about your question.

About Tanya Kravtsov
Tanya Kravtsov is the Director of QA at Audible. She is building a new QA organization to support innovative web product development at scale. Previously, as head of automation and continuous delivery at ROKITT, senior QA manager at Syncsort, and VP at Morgan Stanley, Tanya focused on quality, automation, and DevOps practices, working with internal and external customers to transform development and testing processes. Tanya is passionate about process automation, continuous integration, and continuous delivery. She is a founder of the DevOpsQA NJ Meetup group and a frequent speaker at STAREAST, QUEST, and other conferences and events. Follow her on Twitter @DevOpsQA.

About Bob Crews
Bob Crews is the President of Checkpoint Technologies. He is a consultant and trainer with almost three decades of I.T. experience including full life-cycle development involving development, requirements management and software testing. He is also the President of the Tampa Bay Quality Assurance Association. He has consulted and trained for over 200 different organizations in areas such as effectively using automated testing solutions, test planning, implementing automated frameworks and developing practices which ensure the maximum return-on-investment with automated solutions.

Should the goals and principles of DevOps be the same for every company? Is it possible for every company to reach CI/CD? 

Software delivery teams come in all different shapes and sizes. Each team has its own DNA that has organically evolved through generations of diverse experiences, skill sets, tools, technologies and sets of processes.

So, if every project team looks entirely different than the next, where do you start?

RESERVE YOUR SEAT for  this roundtable discussion where we will cover different types of organizational situations and the common as well as unique challenges each situation may face in their DevOps transition. We will review ways to address specific inefficiencies in each situations development process as well as how to plan accordingly and minimize risk along the way.

Date: Wednesday, November 15
Time: 9:00am PT

We will cover:

  • How to transition to DevOps and align your development, testing and release processes
  • How to plan for your DevOps transition based on your current operational reality
  • A breakdown of common as well as unique DevOps obstacles
  • A method for systematically resolving your development issues to enable test automation

 RESERVE YOUR SEAT and bring your questions for the panelists:

  • Tanya Kravtsov is the Director of QA at Audible. She is building a new QA organization to support innovative web product development at scale. Previously, as head of automation and continuous delivery at ROKITT, senior QA manager at Syncsort, and VP at Morgan Stanley, Tanya focused on quality, automation, and DevOps practices, working with internal and external customers to transform development and testing processes. Tanya is passionate about process automation, continuous integration, and continuous delivery. She is a founder of the DevOpsQA NJ Meetup group and a frequent speaker at STAREAST, QUEST, and other conferences and events. Follow her on Twitter @DevOpsQA.
  • Bob Crews is the President of Checkpoint Technologies. He is a consultant and trainer with almost three decades of I.T. experience including full life-cycle development involving development, requirements management and software testing. He is also the President of the Tampa Bay Quality Assurance Association. He has consulted and trained for over 200 different organizations in areas such as effectively using automated testing solutions, test planning, implementing automated frameworks and developing practices which ensure the maximum return-on-investment with automated solutions.

Testing has been in the spotlight of software development, as organizations continually seek to optimize development cycles. Continuous Delivery and its promises of frequent releases, even as often as hourly, is a big factor driving executives  to find ways  to shave time off of any eligible technical processes. As enterprises embark  on their DevOps transformational journeys, delivering at lightning speed without compromising on quality takes more than cultural changes and process improvements. Test automation is key in helping project teams write and manage the smallest number of test conditions, but get the maximum coverage.

The case for automation: If the scenario is highly quantitative, technology is superior to humans. That’s clearly the case in the current technology landscape, where according to the 2015 OpenSignal report, massive fragmentation has resulted in over 24,000 distinct Android devices that all run on different versions of the Android OS, plus the several variations of iOS devices currently in use. Web is no different. It’s impossible to test every scenario manually, so automation must be leveraged. But therein lies the main point, that automated testing is a tool to be leveraged as needed instead of relied upon to dictate an entire testing strategy.Although logic would deem that if automating a few test scenarios yield fast results, that automating any and every eligible scenario will shorten the test cycle even more; but alas,  that’s usually not how it goes. Automation endeavors take a good deal of planning and forethought in order to add value at the anticipated level. More often than not the overhead of maintenance, especially in CI/CD environments where tests are automatically triggered and one needs to analyze the reports and fix locators, a task that , could  take hours.  This won’t work for organizations who are truly DevOps.  If full stack developers are going to be fully responsible to take the code to production, then they will need tools to automate the process through infrastructure, testing, deployment and monitoring.  This continuous framework enables  weekly , daily and hourly releases.  Leading DevOps organizations like Netflix and Amazon are said to deploy hundreds to thousands times per day.

What’s more, studies reveal that a high percentage of projects utilizing automated testing fall short of the anticipated ROI or fail altogether. These transformations fall short due to their duration, ramp up time, skill-set gap and maintenance overhead.  If the benefits of automated testing aren’t significant enough to mitigate risk then speedy releases could become more of a liability than an asset.

There are varying levels of automation just as there are companies of all different shapes and sizes. Instead of one or the other, it’s more fitting that automated and manual testing are looked at as complementary. Agile and DevOps have created new testing challenges for QA professionals who must meet the requirements for rapid delivery cycles and automated delivery pipelines.

DEMANDS OF CONTINUOUS TESTING

Testing used to have the luxury of having its own phase or at least a set timeframe to stabilize new code prior to pushing to production. No longer. In the era of DevOps, QA must adopt a truly agile mindset and continually be prepared to shift focus to testing new features and functionality as they become available – that could be weekly, daily, or hourly.

From web, mobile and connected devices to IoT, a quick inventory of current technology will reveal a multitude of different devices and literally thousands of potential ways that these technologies can be combined. Across networks, apps, operating systems, browsers and API libraries, the number of  combinations with each requiring its own verification and testing support.  As the push towards Devops continues, the upward trend towards continuous testing is inevitable. As a result, testers and/or developers will need to deliver in brief and rapid iterations.

Beyond automation, what does this look like? QA, Engineering, or whomever is responsible for testing will need to shift left and engage in rounding out user story acceptance criteria to ensure accuracy and completion. In addition, active participation in sprint plannings will help to ensure that user stories are truly decoupled and independent. Or if dependencies are necessary, confirming that story precursors and relationships are in-place. Partnership with Product Owners to confirm that the scope for a given sprint or iteration is realistic.

And finally in support of shifting left, collaboration among Dev and Ops to ensure the necessary support in the event that a code check-in causes a bunch of automated tests to fail. The culprit for these tests will need to be checked manually so it’s important that QA is prepared so as not to pose a blocker for the release. All of these activities is largely what comprises testing outside of automation. It’s a broader role than the traditional QA Specialist that requires initiative and the willingness to embrace an always-on mentality that’s necessary to support DevOps efforts.

SUMMARY

Software development practices have changed and the change brings with it new challenges for the testing arena. The growing need for test automation in addition to the profusion of new testing scenarios will constantly evolve the role of testing and QA.  Yes, the world is changing for testers—in a good way. The days of exhaustive manual testing are certainly numbered, and automated testing is an essential part of the delivery pipeline. But testing has never been more important.

SOURCES

  1. IT Revoloution DevOps Guide
  2. World Quality Report 2016-17
  3. Open Signal: Android Fragmentation

 

Be smart & save time...
Simply automate.

Get Started Free