Étude de cas SoftwareOne

Norwegian Fish Auction

norwegian-fish-auction-nfa-adobe-1180131524-square

Norwegian Fish Auction (NFA) is an internet auction where buyers can buy fresh whitefish from producers in Norway.

Users need to register to take part in the auction. NFA arranges the whole export process and delivers the fish where you want.

A buyer will see the fish available for sale, and also what it was sold for.

Client
Norwegian Fish Auction (NFA)
Industrie
Agriculture
Plateforme
Azure Cloud
Services
Fish Auction
Pays
Norvège

Executive Summary

The Norwegian Fish Auction (NFA) application is developed in Java and is running on AWS. The application is an auction platform developed in Java that offers a place for buyers and sellers to trade whitefish.

NFA has a web app hosted in S3, backend deployed to AWS Elastic Beanstalk, and RDS database.

The Challenge

Together with SoftwareOne, NFA did an AWS well-architected review on their AWS workload. The review revealed some high-risk issues especially around DevOps routines and monitoring and alerting for operational incidents. The deployment and rollout process had to be improved.

NFA needed a solution where new and improved features could be rolled out to the test and production environment in a controlled manner. Features rolled out in production should be small and reversible.

Here are the focus areas and identified items that needed improvement;

  • CICD Pipeline
    • Manual build on local machine
    • Manual uploaded to AWS in Test and Production for deployment which means no CICD pipeline
    • No unit test checkpoint in build
  • Code Improvement
    • Static code analysis
    • Version control branching model
    • Peer Code review and pull request process
  • Monitoring and alarms
    • Logging and monitoring
    • Alarms for operational issue in test/production
  • Infrastructure as Code
    • Infrastructure as code implementation
Abstract teal gradient background with vertical lines fading into darkness at the top

The Solution

As part of the Well-Architected remediation plan, SoftwareOne proposed to implement automated DevOps routines and infrastructure as code (IaC).

The NFA application is a SpringBoot application and to leverage AWS managed services it was deployed to Elastic Beanstalk by using AWS CodeBuild and AWS CodeDeploy.

Infrastructure as Code was implemented using Cloud Formation for the NFA Elastic Beanstalk environment.

  • Implement AWS Code Pipeline to ensure automated deployment;
    • AWS CodeBuild
    • AWS CodeDeploy
  • Integration with Slack for build alerts.
  • Define and implement Bitbucket branching model.
  • Define contribution model with a pull-request approval process.
  • Separate Dev and Prod AWS CodePipeline.
  • Approval process for deployment to production.
  • Integrate a “test” stage in the pipeline.
  • Health Dashboard in CloudWatch and Alerts (email/SMS) by using AWS Simple Notification Queue when application health is red.

The third-party tool SonarQube is designed for continuously analyzing and measuring code technical quality. It is now implemented as part of NFA’s CICD pipeline.

A pull-request process is implemented to make sure that the quality of the code is as expected. Each pull-request requires at least one peer approval before it can be merged into the master branch.

Bitbucket is currently used as a source control system but it is suggested to move to AWS CodeCommit. This migration will be done at a later stage.

IntelliJ IDEA is used by developers as development IDE and Atlassian JIRA for change management workflow.

DevOps Culture Shift

Moving away from a manual process to an automated process is a culture shift for both the technical team and management. Such changes give more power and autonomy to the development team to release features fearlessly and quickly.

Introducing DevOps is a culture shift for NFA and it demonstrates how development and IT operations can work together to reduce time to market.

Results and benefits

The Norwegian Fish Auction’s transformation from a manual process to a fully automated DevOps CICD pipeline was not only a big benefit for the technical team but the management as well.

.

Speed to market

The improvements in an organization can never be measured without having a business standard and well-defined processes.

Norwegian Fish Auction has reduced time to market due to an improved software development and release process and time to market is at a minimum.

A release process that took 1-2 hours is reduced to 5-10 minutes which is a huge improvement. The integration of the test stage into CICD-pipeline makes it even quicker and removes the need for manual testing for minor changes.

NFA can have daily deployments to production rather than once a week or once a month as before.


Better service for customers

With DevOps, Norwegian Fish Auction can innovate faster and deliver more value and better services with higher quality and better security features to its customers.

Norwegian Fish Auction has strengthened its market position and can quickly expand into more regions when needed which ultimately will drive more revenue.


Increased quality assurance

Implementing security checkpoints in the CICD pipeline and a proper code review process ensures good code quality. Here are some of the benefits;

  • Track and eliminate bugs and errors in the early stages.
  • Improve security by implementing static code analysis.
  • Less cost of ownership by using managed services.
  • Meet the industry standards and compliance regulations in an automated way.
  • This automation saves 90% of development team time used on manual testing and quality checks for minor changes Partager
A blurry image of a city at night.

Prenez contact avec nos experts

Partagez quelques informations sur vos enjeux métier, et nous reviendrons rapidement vers vous.

Prenez contact avec nos experts

Partagez quelques informations sur vos enjeux métier, et nous reviendrons rapidement vers vous.