Since 2016, ScienceSoft offers all-around microservices consulting services – from pure advisory to implementation and support – for mid-sized and large enterprises, startups and mature ISVs.
Microservices consulting helps introduce reliable and cost-effective microservices that are easy to maintain and scale.
Microservices-based software design deliverables
- A detailed software requirements specification.
- Non-functional software requirements.
- Microservices-based solution architecture design.
- App infrastructure design and configuration guides.
Project planning documentation for microservices implementation
- A feasibility study and a business case for microservices implementation.
- An implementation project plan with schedules.
- A RACI matrix for a microservices implementation project.
- A risk management plan for the implementation project.
- Business KPIs and technical KPIs to measure value from microservices implementation.
- A strategy for implementation costs optimization.
Deliverables for the microservices development process
- Documented microservices code with unit tests.
- Microservices API descriptions.
- Cloud infrastructure configuration, integration with the on-premises infrastructure (if any).
- CI/CD configuration in the cloud.
- (for modernization projects) Data migration scripts.
Microservices QA documentation
- A QA strategy, a test plan with the testing scope, types and levels of tests, reporting procedures, etc.
- Test cases and checklists.
- Test automation architecture design, configuration of optimal testing tools and frameworks, automated tests scripts (API and UI tests).
- Test reports.
Owing to ScienceSoft’s experience in distributed modular systems, we cooperated with them on the evolution of our Azure-based product for accounts payable management. ScienceSoft was to cover end-to-end development of an intelligent paperless invoice processing module for the product.
ScienceSoft’s developers used the microservices approach to ensure the system’s scalability, which is critical for us as our user base is growing. They selected and implemented techs that ensured the system’s availability and fault-tolerance in the future. We were particularly pleased with neat alignment of the developed module with our requirements.
The new software module performs stably even under heavy load, which helps provide high-quality user experience for our customers.
Wadih Pazos, Chief Operating Officer, Paramount WorkPlace
Frameworks and libraries for building microservices
Containerization and orchestration
Logging, monitoring and alerting tools
Infrastructure as code
Development of an Azure-Based Software Product for Intelligent Invoice Data Capture
- A cross-functional team of a BA, web developers, QA engineers from ScienceSoft.
- Microservices to enable easy scaling and targeted improvements of the software product.
- Streamlined service communication, discovery, monitoring, provision, and update and facilitated local testing with Azure Service Fabric.
Development of an Azure-Based Software Product for vCIO Services Management
- Microservices-based SaaS.
- Azure services for a service mesh layer, load balancing, and automated container deployment and management.
- A monitoring component to ensure stable work of large distributed software.
- Automated functional regression, integration and cross-browser testing.
Java Back-end Development for an Innovative Hotel Self-service App
- Microservices to ensure quick ongoing Agile development and simplify app scaling processes.
- Spring 5 WebFlux stack of reactive technologies for communication between microservices.
- Reliable, secure, and reusable APIs for microservices to reduce time and efforts for future integrations.
L2, L3 Support of a Marketing Campaign Management Solution
- Ongoing configuration of solution infrastructure elements to allow the seamless introduction of new microservices and modules.
- Troubleshooting, bug fixing, introduction of changes upon request.
- Introduction of a monitoring system to immediately detect and prevent the expansion of dangerous issues. The system consists of queue message count, online database logs analysis, data consistency monitoring, etc.
Team Augmentation for Marketplace Development
- Gradual re-architecting of a monolithic application into microservices for easier scaling.
- Back-end development on Golang.
- Analyze the high-level business needs and microservices implementation drivers.
- Assess microservices feasibility.
- Create a business case for microservices implementation, TCO, expected ROI, NPV.
- Prepare a microservices implementation project plan.
- Identify risks of microservices implementation and prepare their mitigation plan.
- Design a microservices app architecture.
- Iterative development of microservices.
- Configuration of the microservices infrastructure.
- Integration of microservices.
- Microservices testing.
- Microservices-based app deployment to production.
- (on demand) Continuous KPI-based maintenance and improvement of the microservices ecosystem.
Microservices review and optimization
- Review functional and non-functional microservices app requirements.
- Review the granularity, architecture, communication and APIs of microservices and make recommendations for areas that need improvement.
- Design a new microservices architecture.
- Identify potential improvements in development and deployment processes, e.g., including continuous deployment pipeline, automated testing.
Rebuilding legacy apps into microservices
- Review the as-is monolithic application architecture.
- App modernization feasibility study.
- (optional) Review your software development and delivery practices and suggest improvements.
- Plan a new microservices-based architecture.
- Create a detailed roadmap for refactoring the monolith to microservices.
- Refactor the legacy app/help the in-house team to refactor the legacy app.
- Test and deploy the modernized app.
Enterprise-wide microservices adoption
- Analyze high-level business needs and microservices implementation drivers.
- Review microservices adoption readiness.
- (if needed) Introduce/improve infrastructure automation, cloud services usage, containerization, CI/CD, monitoring and management practices, etc.
- Provide a microservices cost optimization plan (optional).
- Define KPIs and tools to measure business value from microservices implementation.
- Select and prioritize applications to migrate to the microservices architecture.
- Develop microservices.
- Develop an effective API program.
- QA strategy, microservices test plan, test automation architecture design.
- Configuration of optimal testing tools and frameworks.
- Test environment setup and automated test data generation.
- Test automation script development and maintenance.
Microservices test artifacts are compliant with ISO/IEC/IEEE 29119-3:2013, including regular detailed reports on defects and test closure.
How Enterprises Benefit From the Right Microservices
higher user satisfaction due to stable and fast app performance, quicker updates
faster software delivery due to separating large applications into smaller, more manageable functional components
better security of data due to more security levels, atomic containerization, smaller attack surface, lower likelihood of cascading vulnerability, etc.
improved application performance due to targeted load balancing, async queuing, etc.
Source: IBM’s research ‘Microservices in the enterprise, 2021: Real benefits, worth the challenges’.
Shift to Microservices Efficiently
Don’t spend time and money experimenting with microservices implementation! We employ established best practices to design and implement microservices-based software and guide your microservices adoption for tangible results.