Bitzone AWS DevOps Transformation

Tolgahan Demirbaş
bestcloudforme
Published in
6 min readMay 23, 2023

About the Customer

At Bitzone, a brand new type of digital good known as a non-fungible token, or NFT, has sparked our enthusiasm at Bitzone. These NFTs possess unique and provably scarce properties, making them tradeable and usable across multiple applications. Similar to physical goods, NFTs offer the freedom to be utilized in various ways, whether it’s discarding them, gifting them to friends worldwide, or selling them on an open marketplace. However, unlike physical goods, NFTs possess the programmability inherent in digital goods. Our vision revolves around the belief that open protocols like Ethereum, along with interoperable standards such as ERC-721 and ERC-1155, will foster dynamic new economies. We are actively developing tools that empower consumers to freely trade their items, enable creators to launch digital works, and facilitate the creation of comprehensive, integrated marketplaces for digital goods by developers.

Customer Challenge

Bitzone aims to migrate its resources to AWS in order to leverage enhanced scalability, reliability, and performance. To achieve this, we have chosen to utilize various AWS managed services that cater to different aspects of their infrastructure.

For networking needs, we will implement the AWS Virtual Private Cloud (VPC), which provides a secure and isolated environment. This will allow us to design a custom network topology that aligns with Bitzone’s requirements.

To fulfill their virtual server needs, we will employ Elastic Compute Cloud (EC2) instances. These instances offer flexible and scalable compute capacity, ensuring that Bitzone can adjust resources as needed to meet their workload demands.

Container orchestration will be facilitated through Elastic Kubernetes Service (EKS), a fully managed service that simplifies the deployment and management of containerized applications. EKS will provide high availability with the necessary tools for efficient scaling and deployment of their containers.

For database management, we have selected RDS Aurora PostgreSQL, an AWS managed database service that offers high performance, reliability, and compatibility with PostgreSQL. This choice will enable to store and manage their data with ease.

Object storage requirements will be fulfilled by Simple Storage Service (S3), a scalable and durable storage solution that allows Bitzone to securely store and retrieve any amount of data. S3 provides high availability and data redundancy to ensure data integrity.

To improve content delivery and provide faster access to services, we will utilize CloudFront, a global content delivery network (CDN). CloudFront caches content at edge locations worldwide, reducing latency and improving the overall user experience.

Messaging requirements will be addressed using RabbitMQ Cluster, which provides a scalable and reliable messaging platform. This will enable Bitzone to efficiently exchange messages between their applications and services.

For caching purposes, we will implement Redis Sentinel Cluster, which offers high availability and fault tolerance. This will enhance performance by storing frequently accessed data in-memory, reducing the load on the underlying systems.

Throughout the migration process, our focus will be on ensuring a seamless transition without disrupting ongoing operations. We will implement robust security measures to protect sensitive data, including encryption, access controls, and monitoring.

Furthermore, we will design the architecture to accommodate future growth, enabling auto scaling to scale their resources as their business expands. High availability and fault tolerance will be prioritized to minimize downtime and ensure uninterrupted access to their services.

By leveraging these AWS managed services, we are confident that migration to AWS will result in improved scalability, reliability, and performance, while meeting their key requirements seamlessly.

Partner Solution

At Bestcloudfor.me, we worked closely with Bitzone to thoroughly understand their needs and provide them with precise solutions using the latest technologies.

Our initial focus was on recreating the VPC structure. We strategically divided the subnets into private and public based on zones. To establish connectivity between the private subnets and external services, we implemented a NAT gateway with an elastic IP address. To efficiently direct network traffic, we meticulously defined routes and made necessary adjustments to the route tables. Emphasizing security in the cloud environment, we followed the principle of least privilege by granting only the required permissions. We also implemented security groups and configured inbound traffic rules for better control over instances.

On the application side, considering the transformation to containers, Bitzone determined that EKS (Elastic Kubernetes Service) was the most suitable service given the conditions and requirements. We built an EKS cluster along with two Node Groups within the newly created VPC. One of these groups utilized an EC2 on-demand instance, while the other utilized a Spot EC2 instance. This selection was made to optimize costs, ensuring that the interruption-prone application containers were assigned to the On-Demand node group, while the others were assigned to the Spot capacity type.

To deploy on Private EKS, we installed necessary components on EC2 instances, utilized IAM roles for authorizations, and configured Security Group settings for access control. We performed tuning operations on the EC2 instances and prepared an AMI (Amazon Machine Image) with CloudWatch agent installations for monitoring purposes, as well as Fluentbit tool installations for logging.

To enhance security, we implemented WAF (Web Application Firewall) and utilized Certificate Manager as the first line of defense. Considering the need for private access to applications running on the EKS cluster, we activated ALB-ingress and ELB (Elastic Load Balancer) for external access.

In order to ensure continuous and uninterrupted deployment of applications on the EKS cluster, we integrated CI/CD (Continuous Integration/Continuous Deployment) processes. We configured CI/CD pipelines using third-party CI tools, which could be triggered either manually with a single click or automatically when a commit is made to the relevant branch. By utilizing a third-party tool for CI/CD process editing, we designed a secure and traceable structure. We incorporated the GIT Checkout step and employed Docker build to create a container image. Subsequently, we defined CI steps to push each application to its respective ECR (Elastic Container Registry) repository. Alongside the CI steps, we established CD stages that deploy the application to Helm (a package manager for Kubernetes) and the EKS cluster.

Results and Benefits

Through the collaboration between Bestcloudfor.me and Bitzone, the migration of Bitzone’s resources to AWS has been successfully accomplished, delivering a range of significant outcomes:

Enhanced Scalability, Reliability, and Performance: By leveraging various AWS managed services, Bitzone has gained improved scalability to meet future growth demands. The utilization of Elastic Compute Cloud (EC2) instances and Elastic Kubernetes Service (EKS) allows for flexible resource allocation and efficient container orchestration. The deployment of AWS managed databases, such as RDS Aurora PostgreSQL, ensures high performance and reliability, while Simple Storage Service (S3) provides scalable and durable object storage. These services collectively enhance the overall scalability, reliability, and performance of Bitzone’s infrastructure.

Seamless Migration and Ongoing Operations: The migration process was executed seamlessly, ensuring minimal disruption to Bitzone’s ongoing operations. Meticulous planning and implementation of the AWS Virtual Private Cloud (VPC) structure, network connectivity, and security measures allowed for a smooth transition. The focus on maintaining security, including encryption, access controls, and monitoring, safeguarded sensitive data throughout the migration process.

High Availability and Fault Tolerance: The architecture design prioritized high availability and fault tolerance, minimizing downtime and ensuring uninterrupted access to Bitzone’s services. By implementing AWS services like CloudFront, a global content delivery network (CDN), and Redis Sentinel Cluster for caching, the system’s performance and availability have been optimized.

Efficient Messaging and Caching: The integration of RabbitMQ Cluster for messaging and Redis Sentinel Cluster for caching has significantly improved the efficiency of Bitzone’s applications and services. The scalable and reliable messaging platform provided by RabbitMQ Cluster enables seamless communication between applications. Redis Sentinel Cluster, with its high availability and fault tolerance capabilities, enhances performance by storing frequently accessed data in-memory, reducing the load on the underlying systems.

Future Growth and Adaptability: The architecture and infrastructure design have been tailored to accommodate Bitzone’s future growth. The use of AWS managed services and the emphasis on scalability and flexibility allow for easy resource adjustments as the business expands. This adaptability ensures that Bitzone can continue to meet evolving demands and scale their resources accordingly.

By leveraging these AWS managed services and implementing the recommended solutions, Bitzone’s all resources has successfully migrated its resources to AWS, resulting in improved scalability, reliability, and performance. The collaboration with Bestcloudfor.me has provided Bitzone with a robust and efficient infrastructure that aligns with their key requirements.

--

--