CI/CD pipelines for deploying multiple projects: Best ways to automate build and deployment

CI/CD pipelines for deploying multiple projects: Best ways to automate build and deployment

Automation plays a vital role in successful Continuous Integration (CI) and Continuous Delivery (CD). The scripts, plugins, and other automation tools help systemize the deployment processes and reduce software delivery errors. As a result, applications are maintained and delivered securely and quickly than ever.

Automation should cover a complete CICD life cycle to include the deployment and post-deployment phases of software delivery. Also, Security plays a significant role in CI/CD. Automation is needed to verify the security controls, monitoring, and remediation during the complete process, from initial code uploads to the applications’ deployment and distribution.  Automation is also needed for relying on CI/CD to simplify the user experience when applications are deployed.

Build better products using CI/CD pipelines

CICD is not restricted to just automation of tasks to reduce human error; it’s beyond the automation. It makes you deliver new solutions into users’ hands as rapidly and cost-effectively as possible. Sun Technologies CICD DevOps pipelines aims at removing manual errors and provide regular feedbacks that allows fast iterations focusing product release and build better.

Advantages of CICD at enterprise level:

CI/CD pipelines streamlines release processes over projects and minimize the chances of introducing bugs.

A CICD pipeline can monitor complete process from commit to production in one screen. One can navigate across various phases and identify inefficiencies.

CICD helps product management to improve user impact. Developers deploy new code that results in a faster development and better products.

CI/CD helps product management to improve user impact. Developers deploy new code that results in a better development team and better products.

Challenges enterprises face while deploying multiple projects

Each project requires different deployment pipelines

Each project requires an individual deployment pipeline since the deployment of multiple projects happens in the same prod environment. This leads to numerous deployment pipelines.

Manual effort required to change the configurations for multiple environments

Each project has its own configurations applied to various environments (DEV, UAT, PRE-PROD, PROD). This requires manual effort to change the configurations for each environment. For example, Configurations value such as endpoint URL for third party application, certificate files, or account credentials for each environment is different. 

Sun Technologies help you overcome these challenges by taking efficient actions in the DevOps pipeline with our DevOps Services.

Tools to simplify your development Process

While developers enjoy writing and managing codes, dependencies can quickly become complicated when you’re focusing on the continuous growth of your codebase and features. At Sun Technologies, we help reduce the developer’s work using continuous integration tools.

Sun Technologies has deep expertise on below toolsets to strengthen a DevOps Pipeline:

Tools to simplify your CICD Process

How Sun Technologies automates build and deployment for multiple applications effectively?

Sun Technologies deployed multiple projects using a single deploy pipeline. With our ideal workflow, teams get faster builds, shorter feedback cycles, and simplified pipeline maintenance. We also provide end-to-end solutions for CICD ranging in a variety of complexity.

Our Custom Automation workflow involves collecting various modules from different dependant teams and deploy them in a single environment. With Containerization being an automated step within the DevOps pipeline, these images are managed in Nexus or JFrog artifactor. Sun Technologies has a customized home-grown tool, “Sun Vault,” which helps store passwords / Keys in an encrypted format. This helps in avoiding hard coding of passwords within the DevOps pipeline, thereby ensuring security.

Conclusion

To summarize, most of the CICD complexities are related to poor implementation and inadequate practices. Proper evaluation of CICD requirements, selecting the right tools, and trained experts will lead to a successful CICD implementation. As an enterprise, the organization could concentrate more on shipping features than managing operations and engaging in repetitive tasks. Hence, CICD pipelines help in building and enhancing the applications with a shorter time-to-market, improved customer satisfaction, and better user experience. Automation in DevOps pipeline simplifies the processes and helps in building better products.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

How enterprises can accelerate legacy modernization?

How enterprises can accelerate legacy modernization?

Reasons To Consider Legacy Modernization

Many CIOs acknowledge the need for legacy transformation and a move towards an agile, modern system. Outdated software slows down the business to respond to changing market needs and puts them behind their competition. A lengthy update or an upgrade approach would become a bottleneck and risk to the company’s day to day operations. Today enterprises are looking for an agile and quick digital transformation approach that makes the process simple to modify and quick to adapt. They also have to address the training needs within the organization during such modernization efforts.

Few other factors include

  • Better user experience
  • Digitization of an offline process
  • Out of support software or infrastructure systems
  • Limitations in their current technology stack/product
  • Enhanced features with better performance
  • Data Monetization
  • Innovative products/Services
  • Ease of integration with other systems

Choosing the right Modernization Approach

There are many ways to transform legacy systems. Enterprises use their own strategies to achieve legacy modernization. Fully automated migration is an efficient option that uses migration guides, checklist, migration tools and code generators to convert legacy data and code to modernize platforms. It also allows enterprises to tackle legacy modernization without distracting business operations. Refactoring a legacy application reduces the potential risks and enhance IT efficiencies.

Sun Technologies’ unique agile framework enables enterprises to enhance their legacy systems and drive legacy transformation. Our experts build smart workflows for your business processes, make strategic insights, and accelerate your legacy transformation. Our agile framework comprises of a checklist, guide, tools, and framework. The checklist and guide help identify the right approach and provide proper paths to achieve the goal.

Checklist before getting started with legacy modernization

  • What is our primary objective in modernizing the legacy systems?
  • Are we choosing the right modernization approach?
  • Impact Analysis chart
  • What are the best practices to follow to accomplish the modernization process?
  • What are our next steps for legacy modernization?
  • Are there any processes or workflows to be digitized?
  • How would the switch over happen?

How does Sun Technologies accelerate legacy modernization?

There are several approaches towards accelerating modernization; however, at Sun Technologies, we follow an iterative process to accelerate the legacy transformation that reduces risks while providing the agility to meet the dynamic requirements of the business. We start with the evaluation and assessment of the current state of the legacy systems. Our team of solution architects start with impact analysis of various interdependent systems and prioritize the application stack. We decide and prioritize applications that are important and have low impact and risks for modernization. Our code generator reduces the development time significantly, helping businesses to see quick wins and benefits of legacy transformation efforts. We also have a properly layered tech stack where multiple teams can work together.

Post modernization, we have DevOps tools to guarantee there is no data or functionality loss. Our experts ensure that all dependent upstream and downstream systems work seamlessly through detailed data distribution & validation across multiple integration points. From upgrading platform, database, tech stack, Sun Technologies’ solution experts can make it simple and deliver the desired output. We also ensure we develop a roadmap that reduces the complexities while maximizing the benefits of digital transformation, agile development, UI/UX, and quality assurance.

Resulting System Benefits Include:

  • Competitive advantage
  • Better user experience
  • Future ready business
  • Ability to make quick changes
  • Faster time to market
  • Secure systems
  • Better user experiences
  • Integrates with a third-party system

Conclusion

Software modernization is dynamic, requires highly skilled resources, and is risky, irrespective of the chosen method and technique. Yet, the findings are valuable to the risk and gives competitive edge to your business.

“Gartner predicts more than half the global economy turns digital by 2023.”

Our legacy modernization solutions streamline business processes from planning to implementation and provide more value by improving operational efficiency, business agility, and ROI. Sun Technologies helps enterprises accelerate legacy modernization through fast, secure, and state of the art modern technologies and code generators. Get in touch with us today!

Tahir Imran

Tahir Imran

With over 18+ years of experience in Software design and development, Tahir's expertise lies in designing and developing high-quality products and solutions spanning multiple domains. He is versatile and always eager to tackle new problems by constantly researching and deploying emerging techniques, technologies, and applications.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Recent Posts

 

Interested in Legacy Mordernization?

  We deliver result-driven solutions to boost the competency level and productivity.

Agile Testing Trends to Watch Out in 2021

Agile Testing Trends to Watch Out in 2021

Technology is continually changing. What was ultra-modern a few years back might be obsolete now. Presently, the software development and testing industry is innovating ways to include evolving technologies like artificial intelligence, machine learning, big data, etc.

Be it browser compatibility testing, selenium test automation, or any other kind of testing process, each of these testing processes is consistently transforming with the vision to bring better products. Presently enterprises concentrate more on agility to align better testing methodology based on agile principles.

The contribution of DevOps, Continuous Testing and other factors are expected to elevate agile testing soon. This article analyses some of the crucial agile testing trends expected to impact organizations wishing for quality software testing in 2021.

 AI & ML in Agile Methodologies

The coherent usage of artificial intelligence (AI) and machine learning (ML) in agile methodologies creates an ideal data analysis method. Such collaboration allows software teams to achieve better productivity and efficiency associated with testers and developers. AI & ML together delivers real-time information. Ans also offers a precise prediction of the expected time of the release phase of the project. The inclusion of innovative technologies such as robotics, IoT, quantum computing, etc., is much possible with AI & ML in the software development process.

Sun Technologies’ agile approach with AI & ML provides a good understanding of the best methods for creating testing code. Our experts evaluate code and associated tests to remove bugs. We use innovative technologies for accelerating software development & time-to-market.

Software Quality Engineering 

When you manage testing tasks in an agile environment, the dependency on quality engineering is more. What is the dissimilarity between quality engineering and quality assurance? Quality engineering deploys continuous testing of the related product with the extensive implication of automation. It ensures that the product is placed under efficient testing to make it error-free.

Benefits:

  • Provides faster feedback on the software product because continuous testing is done across various platforms and operating systems
  • Minimizes software failures and availability of early feedback

Shift-Left Testing Approach

The shift-left process emphasizes various types of testing performed simultaneously with software development— testers collaborate with developers to frame test cases. The method also includes what-if scenarios, and the tests are used for streamlined development.

In the usual software development process, the incorporation of testing is seen as a blockage to the release process. Testers operate on less time due to tight schedules, thereby hindering testing efforts and identify errors. However, by the shift-left process, testers get a sufficient amount of time to test the software’s usability by comfortably teaming up with UI & API developers.

Benefits:

  • Faster time-to-market for early release
  • More rapid identification of bottlenecks to avoid software failures
  • Provides high performing software under minimal time

Agile Test Management

For any software testing services, the collaboration of testers and developers is a must. Such cooperation includes the structure, execution, and report of testing once the results are out.

The agile test management’s involvement helps determine the processes and tools that allow the overall team to maintain testing progress. The process brings together everyone on the same path. For experts working in distributed environments, a cloud-based test management tool’s availability confirms easy access to testing information anytime and anywhere.

Benefits:

  • Allows team members to trace testing efforts and increase collaboration
  • Minimizes the bugs and accelerates the release of high-quality software
  • Ensures real-time feedback

DevOps Process 

The concept of DevOps is based on lean management. It concentrates on combining development and operations to create a suitable environment. A DevOps approach refines the software development lifecycle and eliminates junk, and accelerates software delivery. The combination of Agile and DevOps can fine-tune team relationships and communication, thereby minimizing software failures. Moreover, DevOps skillfully combines continuous testing into the development process to ensure code quality.

Benefits:

  • Set up a proper collaborative culture
  • Integrates development and testing processes 
  • Combines operations within the team to reduce downstream testing concerns

Continuous Testing 

The process of Continuous Testing includes redundant executing tests that deploy testers into cross-functional teams. This arrangement helps refine testing functionalities and offers rapid feedback. Continuous testing supports early testing along with shift-left, agile test management, and quality engineering.

Benefits:

  • Reduces software failure by early detection
  • Enhances software quality through ongoing reviews and reports
  • Improve test suites to identify business risks

Lean Portfolio Management 

Lean portfolio management follows a different methodology that focuses on streamlining operations to measure outcomes based on organizational goals and planning. It mainly follows a continuous process used to assign tasks within teams based on the priority and well-organized strategy.

As per Lean portfolio management, the paramount importance is on the collaboration running from top to bottom, covering factors connected with goal measurement, planning, and work transparency.

 Benefits:

  • Enhances the relationship between organizational strategy and individual projects
  • Fine-tune business value to get clarity about the software 

Businesses cannot ignore the impact of agile testing in today’s progressive testing environment. Therefore, technological upgrades to enhance agile testing is the main motto for most software companies. At Sun Technologies, we deliver world class QA services. Get in touch with one of our solution consultants today to understand your business requirements and find suitable solutions. Discover more about the various attributes of agile testing with us

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Data Security with Data Classification

Ensure data security with data classification to protect your organization’s sensitive data

Data protection is at risk during this pandemic and likely a target of malicious behavior or intrusive cybercriminals. Data classification offers one of the best ways for enterprises to define and assign relative values to their data and ensures data security The process of data classification enables you to categorize your stored data by sensitivity and business effect, so you realize the risks connected with the data. Instead of handling all data the same way, you can manage your data in ways that reflect its value to your business.

Data exists in three primary states, i.e., at rest, in process, and transit. All three states need distinctive technical solutions for data classification. Also, you should apply the same standards of data classification for each. The confidential data needs to stay confidential when at rest, in process, and transit.

Data can be Structured or Unstructured

General classification processes for structured data found in spreadsheets and databases are less complicated and time-consuming to manage.  Unstructured data that include documents, source code, and email are more complex than structured data. Usually, companies have more unstructured data than structured data.

At Sun Technologies, we believe that one of the best data protection aspects is the right data classification. If you know what and where your critical data is, you would secure it reasonably and save your company from possible heavy penalties and compliance breaches. A little while back, we have seen the GDPR compliance violation at H&M with the largest financial penalty following illegal employee surveillance. The company could have avoided the threat if it had followed privacy compliance policies and addressed the data within data classification plans.

Process of Data Classification

  1. Establish a data classification strategy, including goals, workflows, data classification scheme, data owners, and managing data
  2. Figure out the critical information you store
  3. Apply tags by labeling data
  4. Use results to enhance security and compliance
  5. Data is vigorous, and classification is an ongoing process
Data classification process

Guidelines to Classify the Data

Enterprises can achieve data discovery through various automated tools that are available in the industry. But most importantly, your enterprise should define the classification scheme and criteria initially. At Sun Technologies, we follow the reliable and demonstrated framework to classify, declassify, and secure sensitive data. The following are some of the steps from our extensive framework.

1. Define the business objective

The initial step is to understand the business objectives and evaluate your enterprise’s risk and compliance needs. Then categorize the ranking of risks and a list of initiatives to reduce the risk. 

2. Understand the requirements and classify data accordingly

At times, it is challenging to meet the compliance needs to meet the critical business requirements. Thus, a reliable data classification program needs to be developed to classify the data according to its risk and value. We have established a dedicated and demonstrated extensive framework by complying with SOX, NIST, CERT, PCI, PII, HIPAA, and many other regulatory requirements. The scheme is a combination of people, process, innovation, and technology, which will find new data elements, shadow IT, structured and unstructured data. And also, it discovers sensitive data in areas you usually never expect. It will identify the broken process, bad actors, data drift, and declassify the data. With that information, We would suggest implementing a sufficient number of DLP tools to secure data-at-rest, data-in-process, and data-in-transit across the IT industry to deliver comprehensive data security. 

3. Categorize, Monitor, Track, and Response

Including a proper incident life cycle management to data classification is vital. It reports the incident occurrences and recommends how to respond to that incident, perform the root cause analysis, etc. Sun Technologies has a fully managed SIEM and SOAR capability, which will get the logs and events from your DLP solutions and associate them with external threat intelligence feeds to give environmental and functional alerts through a dashboard. This enables our SOC team to efficiently detect and resolve attacks of all types by providing compliance status, risk profile and categorized incidents that produce the biggest threat to data.

Benefits of Data Classification

Classifying data helps enterprises ensure regulatory compliance and enhance data security.

Data Security

Classification is an efficient way to safeguard your valuable data. Identify the types of data you store and discover the location of sensitive data, and this makes you to:

  • Prioritize your security measures, revamping your security controls based on data sensitivity
  • Recognize who can access, change or delete data
  • Evaluate risks, such as breaches that impact business, ransomware attack or other threat

Regulatory Compliance

Compliance regulations need enterprises to secure data, such as cardholder information (PCI DSS) or EU residents’ data (GDPR). Classifying data allows you to find the data subject to specific regulations so you can apply them for the required controls and pass audits.

The following defines how data classification can help you meet general compliance standards

  • GDPR— Data classification helps you endorse the rights of data subjects, including satisfying data subject access request by restoring the set of documents with information about a given individual.
  • HIPAA— Knowing where all health records are stored helps you implement security controls for the right data protection.
  • ISO 27001 — Classifying data based on value and sensitivity helps you meet requirements for preventing unauthorized disclosure or modification.
  • NIST SP 800-53— Categorizing data helps federal agencies suitably plan and control their IT systems.
  • PCI DSS— Data classification allows you to find and protect consumer financial information used in payment card
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Security solutions to a leading Pharmaceutical Company

Case Study

Security solutions to a leading Pharmaceutical Company

Whom we worked with

The leading pharmacy is a nationwide member-owned cooperative comprised of over 2,000 independent pharmacies. All independent pharmacies have bonded together and formed this Pharmacy.

Our Solution

  • Analyze the application and create the Threat Modeling and AppSec plan
  • Following Best practices of OWASP Top 10 and SANS25
  • Building security into the software development lifecycle, so that we are finding and fixing vulnerabilities early
  • We have introduced standalone security flaws of scanning methods before they upload source code or binaries to cloud repositories like GitHub, BitBucket
  • Identification of Application Input, Output e.g. Files, Environment variables, parameters in URL, through form submission, config files, Database Source, and registry, etc
  • Logical tests Authentication, login, Email confirmation, business workflow securities, data encryption, etc
  • A report with all severity 1, 2, 3 vulnerabilities and the corresponding suggestions to fix, was created

Challenges

  • No proper documentation of applications and business processes and lack of IT security knowledge
  • Lack of resources with understanding of internal implementation details, web Interface internals (Application)
  • High priority is to find Vulnerabilities on Source Code by using SAST Tools like SonarQube, Checkmarx, and PumaScan & Veracode
  • Perform SQL injection vulnerability, Cross-site scripting, Business workflow securities, Authentication security, Brute force authentication breach testing, Web server files security, etc., through SQLI, BurpSuite, and ZAP PROXY
  • Perform the evaluation of security risks for the business-critical web applications
  • Provide detailed recommendations on the improvement of information systems’ security level and Protect application from willful damage
  • Informing the client management team on the existing information security risks
  • Educate developers on security vulnerabilities and how to write the secure coding

Impact

  • Reduces risks of downtime, data theft, and website defacement
  • Protects against web attacks such as SQL injection, XSS and RFI
  • Using DAST tools to monitor and test the third party interfaces and API on application
  • Code Vulnerabilities and malicious activities solutions provided with Veracode, SonarQube, Accunetix and OWASP ZAP

How we helped

  • Cost reduction is achieved by detecting & fixing security issues by Early Identification of Vulnerability in Code and we save a lot of time.
  • To perform Black Box and White Box penetration testing, Identify all Vulnerabilities and Exposures by using SAST & DAST tools
  • Greater speed & Agility for security Teams.
  • An ability to respond to a change and needs rapidly.
  • Using Software Composition Analysis and ready-to-implement code fixes, whenever possible
  • Scanning binary files for certain languages, as needed
  • Crawl modern frameworks and APIs in seconds with support for OpenAPI (Swagger) and use WebInspect’s Postman integration to support unique workflows, complicated authentication, and custom parameter requirements
  • Apply rate controls to API requests, as well as inspect JSON and XML API calls to ensure the webserver remains available and the data on it is secure
  • Threat hunting can avoid bad publicity.
  • Immutable infrastructure improves overall security by reducing vulnerabilities, reduces insecure defaults, and increasing code coverage and automation.
  • We ensure the “secure by design” principle

Performance Testing & Analysis for a Leading Financial Institution in US

Case Study

Performance Testing & Analysis for a Leading Financial Institution in US

Whom we worked with

A Leading Financial Institution in New York State. It is a Federally-chartered wholesale bank providing a reliable source of liquidity to financial institutions.

Our Solution

  • We went through end to end business transactions to understand different scenarios of the Application and segregated those scenarios
  • We prepared performance test script using an open-source cloud-based tool
  • We executed benchmark values and then proceeded with the load test of 1000 users
  • Our performance engineers analyzed the bottlenecks and performed root cause analysis and suggested solutions
  • A consolidated report on server, DB, and Page-Level testing was provided to the client for different performed test cases

Challenges

  • The client lacks expertise in Performance Testing and Analysis
  • They wanted an on-demand, low-cost performance test tool that can test these web applications from a Cloud
  • They wanted to be ensured that the application meets the desired load of 1000 concurrent users and performance benchmark
  • They wanted to check for the scalability and reliability of the application along with finding out any bottlenecks

Impact

  • Our cloud-based open-source platform helped the client saving in millions from licensing costs
  • The application performance got improved after our test, analysis, and recommendation
  • We also made sure that the application was scalable and reliable in extreme conditions

How we helped

  • We incorporated a cloud-based open-source framework to check the load time and to improve the performance of the application
  • Our on-demand performance testing solution helped the client to easily test the application under stress conditions and different user loads identifying the bottlenecks
  • Many application & DB layer bottlenecks were identified & root cause analysis was done resulting in better performance of these applications
  • Achieved 100% success in testing the applications with the new framework on all web application load tests
  • The client saved millions in licensing fees, improved their SLAs, and transformed their architecture into a scalable model
  • We provided round the clock support to the client in meeting their requirement
  • We are engaged with the customer for ongoing maintenance and load test on a regular basis

Test Automation services to a leading Pharmaceutical Company using Sun Technologies’ SWAUT framework

Case Study

Test Automation services to a leading Pharmaceutical Company using Sun Technologies' SWAUT framework

Whom we worked with

The customer is a nationwide member-owned cooperative comprised of over 2,000 independent pharmacies.The leading pharmacy is a nationwide member-owned cooperative comprised of over 2,000 independent pharmacies. All independent pharmacies have bonded together and formed this Pharmacy.

Our Solution

  • We conducted a workshop to understand the client’s goals and performed an orientation for cultural alignment
  • Sun Technologies’ and our customer worked hand-in-hand to facilitate continuous integration and continuous deployment in the client’s organization by implementing an enterprise-level framework that was integrated with AWS for parallel and distributed test execution
  • The Automation team at Sun Technologies helped customize & integrate SWAUT and SUN TRACKER to meet the defined processes and achieve end-to-end traceability. They also provided seamless integration between Sun tracker and SWAUT to analyze smoke test results of each build
  • Sun Technologies’ and our customer teams worked together to build regression suites for each product line and implemented an automation-ready regression suite as a backlog for test automation
  • Integration of test automation with Jenkins to maintain and schedule test automation
  • Flexible approach to tackle frequently changing requirements

Challenges

  • The client did not have any formal measures in place for testing the quality of a product.
  • No dedicated QA team in place
  • As the company was associated with multiple member pharmacies, it had more than 3000 reports to be validated
  • The absence of a formal reporting mechanism, SLAs, and a strategic planning & review mechanism posed even greater challenges in streamlining the testing practices with the organization
  • Additionally, the client lacked in terms of requirements traceability and archived history of test execution results. They were dependent on a checklist-based test execution due to the minimal regression coverage

Impact

  • Quick and progressive testing
  • Rapid feedback
  • Due to frequent changes in the UI application, data maintenance became a difficult task.
  • As there were more than 3000 rebate reports with huge data, manual verification and validation were time-consuming

How we helped

  • With a clear understanding of their needs and their application, we proposed a hybrid automation framework SWAUT owned by Sun technologies to carry out Test Automation
  • We have implemented a thorough QA process
  • By automating the 3000 plus reports comparison, we reduced 80% of the efforts in the UAT phase and efforts for business, saving a total of 500+ hours against the previous 100+ hours
  • The Reports in the application were automated to save reports for multiple pharmacies/year in an excel sheet for further validation which in turn saved huge manual effort with good accuracy
  • Test results were reported in HTML files which could, in turn, be emailed to automatically after test execution
  • We conducted Requirement Ambiguity Testing to uncover the gaps in the requirements. With automation and regression suites, defect detection efficiency was improved by 90% and the overall regression cycle time was reduced by 50%
  • Continuous testing, continuous integration, and continuous delivery using Jenkins Integration
  • The approach used by Sun technologies ensured 100% tracking of the daily progress through KT dashboards, and provided the following key benefits to the Client:
  • 80% reduction in test execution efforts
  • 40% improvement in automation coverage
  • 42% reduction in the automation script development effort
  • 18% reduction in rework through improved process standardization
  • 15% improvement in application quality
  • 22% reduction in the overall testing effort
  • 35% improvement in test design productivity
  • 90% accuracy in test documentation
  • Reduced the manual regression effort by running the automation scripts in multiple languages, and also reduced 3 days of manual effort

The above benefits helped us provide 100% customer satisfaction