Page View Counter:
The Page View Counter on this website serves as a tangible demonstration of its successful functionality, seamlessly connecting a front-end to a back-end. Each time this page is accessed or refreshed, the counter updates.
Twitter Bot Project on Azure Kubernetes with VPN
Unfortunately, due to a change in how many tweets can be made via the X API free tier, the Twitter bot is now disabled. All tweets (5,566 tweets) made during the lifetime of the bot can still be viewed on its profile.
I've finished the dynamic development of a Python Twitter bot hosted on Azure, This bot functions akin to an RSS Reader. It generates tweets upon new article postings and article title updates from the U.S. section of the New York Times. It operates in 5-minute intervals which contributes to a low cost solution and timely updates. Additionally, the project incorporates Azure AI-generated summaries for enhanced engagement and understanding.
https://twitter.com/NYTimesXBot
Since being logged into Twitter is required to view tweets, below is a sample image showcasing the appearance of posted tweets. The tweet contains the date, title, URL, and an AI-generated summary of the posted article.
This project has evolved through three different implementations. While each version has its own nuances, they all ultimately achieve the same core functionality.
In the AKS implementation, the project is backed by a comprehensive CI/CD pipeline, driven by GitHub Actions, it automates image building, tagging with commit SHAs, and semantic versioning of Helm charts.
Some notable modifications in the AKS implementation from the original Azure Function Apps implementation are as follows::
- Changes the project to fully work on Azure Kubernetes.
- Changes some of the logic of the bot to accomodate an API implementation.
- Implements a Linux VM running a Wireguard VPN server for added complexity.
- Build artifacts are now neccesary, they are stored across an Azure Storage Container, Azure Key Vault, and Azure Container Registry.
- Semantically versioned Helm charts now serve as the deployment mechanism for the application.
- A more comprehensive list of features specific to the AKS deployment can be found at: https://github.com/AllenShap/Az-k8s-Twitter_Bot-CICD_Pipeline/blob/main/Features_Of_Project.md
The Azure Kubernetes implementation of the Twitter bot can be found at: https://github.com/AllenShap/Az-k8s-Twitter_Bot-CICD_Pipeline
The second Twitter bot implementation using Azure Function Apps can be found at: https://github.com/AllenShap/AzPythonTweetBot
The third Twitter bot implementation based around Docker can be found at: https://github.com/AllenShap/Dockerized-AzPythonTweetBot
Below is the final state of the Azure environment upon successful implementation of the AKS Twitter bot.
The simple diagram below is the final network flow in AKS upon successful implementation of this project.
Technologies used to create the Azure Kubernetes Twitter bot
- Terraform, Kubernetes, Docker, Helm, SQL, Python, YAML, JSON, XML, Selenium(JS,CSS,HTML), Bash, Git, GitHub, GitHub Actions
- Microsoft Azure, Azure Cosmos DB, Microsoft Cognitive Services, Azure Container Registry, Azure Kubernetes Service, Azure Key Vault, Wireguard
- NoSQL, Infrastructure as code(IaC), Continuous Integration and Continuous Delivery/Deployment(CI/CD), Application Programming Interface(API), Containerization
Azure infrastructure supporting this website
Technologies which are involved to create this website
- Terraform, SQL, Python, YAML, JSON, HTML, JS, CSS, Git, GitHub, GitHub Actions, Bash
- Microsoft Azure, Azure Cosmos DB, Azure DNS
- Cloudflare
- NoSQL, Content Distribution Networks(CDN), Infrastructure as code(IaC), Domain Name System (DNS), Continuous Integration and Continuous Delivery/Deployment(CI/CD), Application Programming Interface(API), Containerization