How we re-architected cloud structure for SaaS
Cloud migration of an enterprise-level project requires an engineering approach and specific expertise. Below we'll trace the process of adopting cloud infrastructure and evaluate the results.
Challenge
Our client, a major marketing SaaS provider, faced a problem of insufficient capacity and high costs on their IBM platform. Working with 3,500+ brands in 70+ countries, they help marketing teams manage campaigns, promote products, generate leads, support sales, and extend overall brand awareness. Their customer base and user expectations are constantly growing. Also, a highly competitive environment requires that their software be regularly updated in response to evolving technologies and trends.
At some point, the client realized the existing infrastructure could not cover the business needs. Given the high cost of IT resources, a partnership with the current cloud provider had lost its viability. After conducting deep business analysis and studying market trends, the client decided to change the cloud space. They asked us to advise on a scalable and cost-effective IT infrastructure. Also, they wanted us to implement a cloud migration with no downtime and data loss.
Pre-development
We started by allocating an experienced business analyst (BA) who studied the client's business and the cloud technology market. Given the marketing software multitasking, we looked for a company to provide advanced tools on-demand. Data security guarantee was another factor influencing our choice.
After thorough research, we opted for Amazon Web Services (AWS). They have long proved to be the most experienced and enterprise-ready provider available. Also, their dominant market position and extensive offerings create a favorable environment to serve every business need.
After agreeing on the AWS cloud with the client, we assigned five people to implement migration:
- project manager
- solutions architect
- system administrator
- cloud security manager
- compliance specialist.
Having studied the AWS and client documentation, we got to work.
Development
We implemented migration from IBM to AWS in three stages: data migration, replication, security. Here is what we did at each stage:
Data migration
Data profiling. We removed inconsistencies, duplicate values, and incorrect information in the current database.
Database schema conversion. We used the AWS Schema Conversion Tool (AWS SCT) to conduct heterogeneous database migration.
Migration build testing. This helped us ensure that all mappings, transformations, and data quality rules work as intended.
Migration execution. We performed a data migration over the weekend not to interrupt the work of software users.
Replication
We created several database instances: one of them was acting as a "master" and others as "slaves." We configured the "slaves" to look at the "master" and take the "difference" from there once a minute. Thus, we ensured that all instances were regularly updated with the latest data.
If something happened to the "master," one of the "slaves" took its role. Also, we redirected all other instances to look at the new "master" and update data accordingly. Thus, even in the worst circumstances, losses were minimized to one minute.
Security
In the cloud environment, we carried out all the necessary tasks to establish data security:
- defined user permissions and identities
- set logging and monitoring services
- configured the event management system
- set testing and auditing tools
- automated incident response and recovery
Tech stack
- AWS
- EC2
- Postgres
- Java
- Spring
- Spring Cloud
- Big Data
- Hadoop
- Kafka
- Apache Flink
- RDS
- IBM DB2
The Results
We completed app migration to AWS Cloud within six months. The client highly appreciated our dedicated work and ability to meet all deadlines. Additionally, they confirmed multiple benefits obtained on the AWS platform:
Scalability. The client can now increase or decrease software resources on-demand.
Security. AWS security tools provide reliable protection from malware, DOS, SQL injections, and other cyber attacks.
Flexibility. The technology resources can be easily scaled at peak loads and returned to the previous level afterward.
Reliability. The cloud has a high redundancy level to back up and restore data on-demand.
Automation. Cloud resource management software automatically distributes the requested amount of resources to the user, reducing the number of daily activities of corporate IT staff.
Do you want to migrate to the cloud?
Cloud migration is the first step towards digital transformation. It is urgently needed for any business that wants to remain competitive, launch new IT projects, and enhance existing ones.
Renting a cloud infrastructure helps increase overall business productivity. The company gets the opportunity to use computing power, data storage, and communication channels on-demand. And the right choice of a service provider enables cost reduction and uninterrupted app work.
If you want to migrate to the cloud or change your cloud provider, contact us. Our experts will study your project and advise a solution that 100% meets your business needs.