Israeli/US-based startup StructShare offers a digital construction procurement and inventory platform that helps specialty contractors streamline and improve their businesses. Launched in 2021, StructShare addresses inefficiencies in the supply chain using digital tools and data analysis. With a rapidly expanding customer base and growing operations, StructShare sought to optimize its cloud infrastructure to provide the best customer experience, ensure the best security, and support greater scalability and operational efficiency.
StructShare faced several challenges within its Google Cloud Platform (GCP) infrastructure, including manual configurations, and suboptimal CI/CD processes. To overcome these issues, StructShare cooperated with Profisea, an AWS DevOps Services Competency Partner, to migrate its infrastructure to Amazon Web Services (AWS).
In its cloud migration, StructShare aimed to achieve:
- Infrastructure Modernization. Migration from GCP to AWS would enable leverage of a broader list of managed services, improved CI/CD processes, and enhanced database deployment strategies via Amazon Aurora PostgreSQL.
- Operational Excellence. Implement Infrastructure as Code (IaC) practices to automate deployment and management processes, minimize manual tasks, and reduce downtime.
- Enterprise-level Security and Compliance. Enhance security measures and implement AWS security features and best practices.
- Scalability and Reliability. Leverage AWS services such as Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS), and Amazon Kubernetes (Amazon EKS) to elevate scalability and reliability for application and database workloads.
- Real-time Cost Optimization through implementation of cost optimization strategies by selecting appropriate EC2 instances, leveraging AWS’s spot instances, and fine-tuning storage solutions.
Why Amazon Web Services?
AWS offers a wide range of cloud services, from computing and storage to databases, analytics, and Artificial Intelligence (AI)/Machine Learning (ML) in order to build a complete infrastructure stack, optimize costs, and automate IaC implementation. AWS cloud services are highly configurable, providing an extensive set of APIs, SDKs, and tools to create a scalable and flexible infrastructure. Also, AWS delivers a wide range of security features and services so you can define your security policies, access controls, and network configurations.
Amazon Web Services used in the project: AWS Identity and Access Management (IAM), AWS Command Line Interface (AWS CLI), AWS Certificate Manager, AWS Key Management Service (AWS KMS), Amazon Virtual Private Cloud (VPC), Amazon Route 53, Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Block Store (AWS EBS), AWS CloudFormation, Amazon Simple Storage Service (Amazon S3), AWS CloudTrail, AWS CloudWatch, AWS Pricing Calculator, AWS Lambda, Amazon Simple Queue Service (SQS), Amazon Relational Database Service (Amazon RDS), Amazon Aurora PostgreSQL, AWS Database Migration Service (DMS), Amazon Kubernetes (Amazon EKS), Amazon Elastic Container Registry (Amazon ECR).
Cloud Migration Approach
The migration process was executed in several phases, each addressing specific aspects.
Infrastructure as Code (IaC). The Profisea DevOps team utilized HashiCorp Terraform to automate infrastructure deployment and management. Different environments (production and non-production) were created using separate Terraform modules and stored in a version-controlled repository. Infrastructure components such as Amazon VPC, subnets, security groups, and Amazon RDS were defined using Terraform configuration files. Each environment was isolated, ensuring consistent and reproducible infrastructure provisioning.
2. Application Migration. The application was containerized using Docker, and Kubernetes was employed for orchestration. The migration focused on a GitOps approach using ArgoCD, automating application deployment and rollback.
- Containerization. Application components were containerized using Docker, allowing consistent deployment across different environments.
- Kubernetes Orchestration. The application was deployed on Amazon EKS clusters. Kubernetes provided automatic scaling, self-healing, and efficient resource utilization.
- GitOps Workflow. ArgoCD was integrated to enable GitOps-based deployments. Changes to the Git repository triggered automatic updates to the application in the Amazon EKS cluster.
3. CI/CD Configuration. CircleCI was chosen to build and push Docker images to Amazon ECR and trigger deployments in the EKS cluster. The CI/CD pipeline ensured consistent and reliable deployments.
- CircleCI Integration. CircleCI pipelines were set up to monitor the Git repository for changes. Where code changes were detected, CircleCI built Docker images and pushed them to Amazon ECR.
- EKS Deployment. CircleCI pipelines triggered deployments in the EKS cluster using ArgoCD. This automated process reduced manual intervention and ensured consistency.
4. Data Migration. A backup and restore procedure was used for migrating the database. AWS DMS and Amazon RDS Performance Insights were utilized to streamline the database migration process.
- Database Migration Service. Data was migrated from the GCP database to Amazon RDS using AWS DMS, ensuring minimal downtime during the migration process.
- Performance Insights. Amazon RDS Performance Insights was enabled to analyze database performance, identify bottlenecks, and optimize query performance.
5. Transition and Support. A smooth migration was executed with the client’s engineering team, followed by post-migration support to ensure seamless operation.
The AWS cloud migration conducted by Profisea’s DevOps experts has given StructShare several mission-critical outcomes:
- Enterprise-level Security. AWS security features, such as Identity and Access Management (IAM), encryption, and network security layers are now effectively in place.
- Operational Efficiency. The transition to IaC reduced manual configuration efforts and streamlined deployment processes, allowing StructShare’s development specialists to focus on new features.
- Scalability and Reliability. By utilizing AWS services such as Amazon EKS and Amazon RDS, Profisea’s DevOps engineers improved application and database workload scalability and reliability for StructShare going forward.
- Cost Optimization. The migration project achieved better cost estimation accuracy, and ongoing cost optimization is now ensured using the all-in-one Uniskai FinOps platform for recommendations and lifecycle policies for storage.
6. GitOps Adoption. StructShare embraced a GitOps approach for infrastructure and application management, promoting consistent practices and better collaboration between development and operations teams.
7. Operational Continuity. The team established a robust rollback strategy, ensuring that any issues in the new environment could be quickly addressed by switching DNS records back to the original environment.
Through the implementation of Infrastructure as Code, enhanced security measures, and the adoption of AWS-managed services, StructShare’s construction procurement and inventory platform now operates with improved reliability and performance.
Profisea: Your Trusted Partner for AWS DevOps Services and Cloud Migration
Profisea is an Israeli boutique DevOps and cloud company providing a full spectrum of cloud management services, from smart customization of existing cloud infrastructures to end-to-end cloud infrastructure designing and optimization that meets unique business requirements.
Since 2015, Profisea’s DevOps engineers have been implementing top practices in GitOps, DevSecOps, and FinOps, and providing Kubernetes-based infrastructure services to help businesses of all sizes – SMB, SME, or large enterprises transform their organizational mindsets, increase productivity, and boost performance.
If you are looking for optimized infrastructure and enhanced delivery processes, check out our DevOps as a service page to get more information about how we can transform your cloud journey.