Scalability Articles
AWS CloudWatch Metrics
AWS CloudWatch metrics are an extremely beneficial tool for monitoring both application code as well as AWS infrastructure. AWS offers many metrics for all of their services, as well as the ability to both push custom metrics and to parse CloudWatch logs to build custom metric filters. These metrics can be used to build dashboards, […]
AWS CodePipeline Continuous Deployment
AWS CodePipeline offers a continuous deployment pipeline which integrates well with serverless architectures. It offers infrastructure creation via AWS CloudFormation, code integration with GitHub (or other) code repositories, building and testing with AWS CodeBuild, and deployment with AWS CloudFormation (or AWS CodeDeploy). CodePipeline allows for various stages in the pipeline which correlate to steps such […]
Serverless ReactJS with AWS S3
Serverless computing compliments the microservice architecture very well. Instead of provisioning and monitoring a fleet of servers for all the various services, simply use the serverless architecture, only pay for what is used, and don’t spend dev time on maintaining and monitoring infrastructure. Also, by serverless’s cloud based nature and consumption use pricing, serverless architectures […]
AWS S3 Web Hosting
Amazon’s Simple Storage Service (S3) is a simple, cheap way to store data. It’s not the lowest latency storage option available, but it is a great tool for scalable, durable storage, making it a perfect candidate for hosting a website. To get a site hosted, first create a bucket and enable Static Web Hosting under […]
Docker Container Stacks
Docker is a great tool for defining application environments (containers) and deploying the various containers as a single project. Custom Docker images can be created by writing a DockerFile, which contains all the container boot up instructions. Multiple Docker images can be managed with Docker Compose allowing for comlplex container stacks to easily be managed […]
Using Collectd With InfluxDB
Collectd is a Linux daemon used to collect system stats for performance analysis and capacity planning. With a variety of different plugins, collectd can easily be configured to collect data from a variety of different services i.e. MySQL, Apache, etc. This is an overview of how to store collectd data in InfluxDB, which is an […]
Docker LAMP Stack
Docker is a tool used for shipping, or deploying, web applications along with their environment. Using Docker allows for easy sharing and recreating of application environments. This is extremely useful for developers as the stack and application can be built as a compilation of containers and easily deployed or modified. In this tutorial I will […]
RabbitMQ Cluster
RabbitMQ is a robust message broker for handling distributed message queues. In high availability applications, having a single server may not be sufficient enough for handling availability needs of the application’s data. RabbitMQ offers various clustering options and configurations to ensure messages will be persisted through failures and available when needed. Setup Although a RabbitMQ […]
MySQL Master-Slave Replication
MySQL replication is the act of actively cloning all changes made on one server (master) to another server(s) (slaves). This is commonly done to create backups of data as well as to add multiple servers in which applications can query against. This becomes advantageous in high read environments where there is concern for bogging down […]