CLIENT SUCCESS |
About the Company
The Vision and Challenge
After engaging with Ohlone’s IT team, our DevOps team created three Elastic Beanstalk environments for the client: Production, Staging, and Development. We chose the AWS Elastic Beanstalk service to lower the administrative burden on the Ohlone staff, since Elastic Beanstalk is a self-managed Platform as a Service architecture that implements the application release process into AWS architecture. Each Elastic Beanstalk environment was connected to the corresponding branch (Master, Staging, and Dev) in Amazon CodeCommit via Amazon CodePipeline. When the IT team pushes changes to a specific branch, Amazon CodePipeline identifies the change and updates the Elastic Beanstalk environment. It is a leading-edge example of using automation tools to follow DevOps best practices and will help to ensure that Ohlone’s web servers are highly available, secure and automatically updated with the latest application code following Continuous Integration/Continuous Deployment (CI/CD) techniques.
The database for each environment was stored in Amazon RDS, another managed service from AWS that ensures databases are updated and maintained while sustaining a secure connection to the web servers. Daily backups of the databases also allowed for point-in-time restore if needed. RDS eliminated the need for Ohlone to perform many database administrative tasks (e.g. implementing patches). The public and private file system for each environment was stored in Amazon EFS, where a mount script would automatically attach a filesystem to all images and documents. In the event of autoscaling, failure or termination to the instance, a new web server would automatically boot with EFS attached, linked to the files folder to serve web images. Images are saved in the same EFS for each environment – however, they would not appear in Drupal until an administrator initiated a database import from the environment.
InterVision also provisioned an SSL certificate with Amazon’s Certificate Manager and implemented ELB on each environment to create a secure connection. Each Elastic Beanstalk configuration has a secure listener and HTTPS so that rewrites are pushed to the web servers via .htaccess in the CodeCommit repository. Amazon Route 53 manages their DNS. Each environment has an alias record that points the top-level domain or subdomain.
In the end, InterVision delivered and AWS solution that included a sophisticated multi-AZ, multiple account, multiple VPC architecture including auto-scaling and load balancers. With a fully automated CI/CD pipeline for multiple applications within AWS using AWS native services, Ohlone has gone from having slow, manual application deployments to zero-downtime deployments. Ohlone’s website has also become much more robust and scalable now that it’s deployed in AWS, going from no scaling to auto scaling capabilities.
AWS Services Utilized:
- Active Directory
- Cloud Watch
- Elastic Beanstalk