SMDS - Technology Decision
| Status | AGREED |
|---|---|
| Impact | HIGH |
| Driver | Rahul Singh |
| Approver | Ajit Vijay Daware User e8ff2 Rahul Singh Naveen Varma Roda |
| Contributors | |
| Informed | |
| Due date | |
| Resources |
Technology Stack
Core Technology
| Technology | Decision | Outcome/Status |
|---|---|---|
| Java | Version -> 11 ,17 LTS Backward Compatability Java 21 LTS is available | APPROVED Java 21 - UNDER OBSERVATION |
| Spring Boot | Version -> 2.x.x, 3.x.x Most adapted fraework within Maersk for java Community Support Integration with Azure Cloud | APPROVED 3.x.x - UNDER OBSERVATION |
| Spring Boot Reactive | Version -> 2.x.x, 3.x.x Multi request per thread Improved performance for read calls due to asynchronous behaviour Implemeted only for few projects difficult to monitor logs | APPROVED 3.x.x - UNDER OBSERVATION |
| Postgres | Version -> 11.x, 15.x Azure Postgres flexible server Read replica available with minimal configuration relational and non-sql data storage Inbuilt pgBouncer | APPROVED 11.x - DEPRECATED |
| Confluent Kafka/ Apache Kafka (RETINA) | Distributed event processing Used as producer/consumer to process enity transaction Spring framework support for kafka | APPROVED Confluent Kafka - DEPRECATED |
| Hazlecast/Caffeine | Distributed caching In-memory lightweight | APPROVED |
| Maven/Gradle | dependency and project management | APPROVED |
| React Js | Easier developement for dynamic web applications Reusable components Larger community support | APPROVED UI Framework Decision |
DevOps
| Technology | Decision | Status |
|---|---|---|
| Terraform | Version → 2.x , 3.x Infrastrcuture as a Code Maersk stack and modules available for terraform resource creation | APPROVED |
| Github Actions | Manage IAC lifecycle Build for maven and node modules CI/CD | APPROVED |
| Azure PAAS | Provides serverless environmnet for maven and node web projects | APPROVED |
| APIGEE/Forgerock | API Traffic management Authemtication/Authorization RateLimiter/Spike Arrest | APPROVED |
| Grafana/Application Insights | Observability | APPROVED |
| Kubernetes | Portable across cloud providers Scalability High Availability Improved resource utilization | UNDER DISCUSSION |
Quality Gates
| Technology | Decision | Status |
|---|---|---|
| Sonarqube | duplicate code scanning code coverage, unit testing, code complexity historical data , security analysis | APPROVED |
| Blackduck | Map components to known vulnerabilities and license requirements Continuously monitor and alert for new open source vulnerabilities Assist teams in remediation with orchestration and policy enforcement | APPROVED |
| JaCoCo | saves the developer's time by pinpointing the exact location where the code coverage is low, providing a more specific area to focus on | APPROVED |
| Polaris | Static Analysis on source code which highlights vulnerabilities. Admiral Security beacon compliance tool. | APPROVED |
Automation Testing
| Technology | Decision | Status |
|---|---|---|
| Junit/Mockito | Allows testing first approach | APPROVED |
| Cypress | UI Automation | APPROVED |
| Cypress/Karate/Rest Assured | API Automation | APPROVED |
| Performance Testing | Akamai Cloud Test Apache Jmeter | APPROVED |
Third-Party Tools
| Technology | Decision | |
|---|---|---|
| Elastic Search | NoSql Database Faster response for search and match APIs | |
| Camunda | REST based API to automate workflow Integration support with Spring Framework | APPROVED |
Was this page helpful?