# Heroku and CI/CD
## Heroku Overview
* Founded ~10 years ago with support for Rails
* Purchased by SalesForce in 2010
* Heroku [Platform as a Service](https://en.wikipedia.org/wiki/Platform_as_a_service) (PaaS) vs AWS [Infrastructure as a Service](https://en.wikipedia.org/wiki/Cloud_computing#Infrastructure_as_a_service_.28IaaS.29) (IaaS)
* Fully managed app deployment and hosting
* Developers focus on building apps not maintaining servers
* Easy horizontal scaling (options for automation)
* Large add-on ecosystem (databases, logging etc)
* Increase database size with click of a button
## Key Heroku Features
* Releases
* Automated deployments - Integrate with GitHub and CircleCI
* Preboot (zero downtime deployments)
* Painless rollback
* Review apps
* Built in metrics
* Scaling - Web interface, CLI, Automatically via metrics
* Logging - support for writing to remote sys/http logs, allows for log aggregation
* Add-on ecosystem
* SSL - by default and FREE (Server Name Indication - SNI)
* Container Registry and Runtime (Docker - beta)
### The Journey of a Feature (CI/CD)
* Implementation by developer with Docker containers
* Pull Request
* Continuous Integration
* [GitHub](https://github.com/marketplace/category/continuous-integration)
* [CircleCI](https://circleci.com)
* [CodeClimate](https://codeclimate.com/)
* [Peer Review and Feedback Loop](https://github.com/technekes/documentation/blob/master/development/peer_review.md)
* QA Testing (Review App)
* Merge and Continuous Delivery to Staging
* [GitHub](https://github.com/marketplace/category/continuous-integration)
* [CircleCI](https://circleci.com)
* [Heroku](https://www.heroku.com/platform/runtime)
* Release Request