Skip to content

DevOps Articles

Apr 17

AWS Serverless Application Model

AWS Serverless Application Model (AWS SAM) is an abstraction of AWS CloudFormation for templating serverless AWS applications. Using a templating tool to define serverless infrastructure can be extremely helpful as applications grow in size. Codifying infrastructure allows for more visibility and replicability of services. I am going to highlight to some of the benefits of […]

Apr 10

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, […]

Apr 04

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 […]

Aug 11

Process Monitoring with SupervisorD

The ability to monitor services on a web server is crucial for helping to ensure high availability. Another common process is to have daemon scripts which are designed to continually run for things such as a monitoring job queue. Being able to help prevent failure for such processes is extremely important. SupervisorD SupervisorD is a […]

Jul 21

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 […]

Jun 09

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 […]

Jan 12

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 […]

Jan 09

AWS OpWorks

Amazon’s OpWorks allows for easy EC2 provisioning with Chef. Chef allows instances to configure all services, users, setting, dir/files, etc. as the instance is spun up. This allows for rapid infrastructure expansion and a consistent application stack. Before beginning, be sure there is a key pair associated with the account, which will allow access to […]

May 26

Vagrant Puppet VM Clusters

As outlined in previous posts Vagrant is a powerful tool for rapidly setting up development environments. However, after setting up numerous different environments for testing and developing in, some of the server set up tasks become repetitive. Puppet is a software solution for managing numerous servers from a single source. Puppet provisioning is a common […]

May 20

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 […]

Blog Powered By Wordpress