Chainlink is a decentralized oracle network that enables smart contracts on various blockchain platforms to access real-world data and off-chain computation. As the demand for smart contract applications continues to grow, so does the need for reliable and secure oracle solutions like Chainlink. In this regard, deploying Chainlink on AWS can offer several benefits such as scalability, flexibility, and high availability. 

TrackIt has recently published a whitepaper detailing the process of deploying a secure, reliable, and scalable Chainlink environment on AWS. The following blog post provides readers with a list of the various AWS services used to build the Chainlink environment along with a high-level overview of the solution workflow.

Chainlink on AWS Solution Architecture

chainlink on aws
Solution Architecture for Chainlink on AWS

The following AWS services were used:

  • Internal Load Balancer: Network traffic distribution service to distribute traffic between Chainlink, Prometheus, and Grafana
  • AWS Client VPN: Fully-managed VPN service for  connecting with Chainlink, Prometheus, and Grafana UIs via VPC
  • Amazon EKS: Managed Kubernetes service to deploy a Kubernetes Cluster containing:
  • Amazon EFS: Network file system for storing Prometheus metrics
  • Amazon RDS: Database service to deploy a fully-managed PostgreSQL database
  • AWS Secrets Manager: Store and manage secrets such as API Keys
  • Amazon Route53: DNS service for managing Hosted Zoned containing Chainlink, Prometheus, and Grafana DNS records (i.e.: chainlink.example.com)
  • AWS KMS: Used for encryption (secrets, data from db…)

image
Kubernetes Cluster Architecture

Workflow Overview

  1. The following pods are configured within the Kubernetes cluster:
    1. Chainlink node 
    2. Chainlink adapters
    3. Prometheus
    4. Grafana

The cluster also contains the Load Balancer Controller pod and the External DNS pod.

  1. The Load Balancer Controller pod creates the Load Balancer in AWS depending on Kubernetes Ingress resources
  2. The External DNS pod creates the DNS records in Route53 based on the Kubernetes Ingress resources
  3. The Chainlink node communicates with the database and adapters to fetch and update data
  4. The Prometheus pod retrieves metrics from the Chainlink node and Chainlink adapters 
  5. The Grafana pod retrieves data from Prometheus and facilitates the visualization of data using Grafana Dashboards

Conclusion

Deploying Chainlink applications on AWS offers several benefits such as scalability, availability, and cost-effectiveness. However, implementing Chainlink on AWS does require a deep technical expertise in AWS. Clients interested in implementing secure and reliable Chainlink solutions on the AWS cloud should consider working with an AWS-recognized partner like TrackIt to ensure that the implementation is carried out effectively and efficiently, with minimal risk of errors or security vulnerabilities.

By partnering with TrackIt, clients can confidently deploy Chainlink on AWS.

About TrackIt

TrackIt is an international AWS cloud consulting, systems integration, and software development firm headquartered in Marina del Rey, CA.

We have built our reputation on helping media companies architect and implement cost-effective, reliable, and scalable Media & Entertainment workflows in the cloud. These include streaming and on-demand video solutions, media asset management, and archiving, incorporating the latest AI technology to build bespoke media solutions tailored to customer requirements.

Cloud-native software development is at the foundation of what we do. We specialize in Application Modernization, Containerization, Infrastructure as Code and event-driven serverless architectures by leveraging the latest AWS services. Along with our Managed Services offerings which provide 24/7 cloud infrastructure maintenance and support, we are able to provide complete solutions for the media industry.