Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Teowaki Architecture

Teowaki Architecture

Presented at Ironhack Web Development Bootcamp Madrid

Diego Rodriguez

March 27, 2014
Tweet

More Decks by Diego Rodriguez

Other Decks in Technology

Transcript

  1. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 posgres misc redis web

    FrontEnd Webserver API Webserver Admin Webserver Redis api01 API Backend MC* Redis Slave PostgreSQL Replica Admin Backend Workers api02 API Backend MC* postgreSQL bq Amazon S3 / Glacier Google BigQuery rollbar BitBucket Pivotal Tracker Wordpress Pingdom monit munin Mandrill New Relic Stripe *MC: Memcached Trello ansible Digital Ocean goDaddy NameCheap rollbar MaxMind Google Apps Mailchimp Google Analytics
  2. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 API Backend • Hypermedia

    Restful API • Built on RoR • Our Frontend is an API client
  3. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Frontend • AngularJS web

    as API Client • Directives and Data Binding • Yeoman: – Yo: Scaffolding – Bower: JS dependency manager – Grunt: JS task runner
  4. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 • Data types (arrays,

    geometry) • Full-text search • JSONB Interested? http://www.meetup.com/PostgreSQL-Espana/
  5. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 • Advanced key-value store

    (NoSQL) • Fast! • Always in memory • Disk persistance • Atomic Interested? http://www.slideshare.net/supercoco9/fosdem-how-you-can-benefit-fromusingredis http://vimeo.com/85642729
  6. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Memcached • key-value store

    (NoSQL) • Always in memory • Evictions • Out-of-the-box support in Rails
  7. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Background Tasks • Any

    project task that can be delayed • Based on Sidekiq – Background jobs queue (Redis) – Background workers (RoR)
  8. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Google Bigquery • Big

    Data analysis as a service • Used for API analytics Interested? http://www.slideshare.net/supercoco9/api-analytics-redis-bigquery-lrug https://skillsmatter.com/skillscasts/4954-pi-analytics-with-redis-and-bigquery
  9. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Amazon S3 / Glacier

    • Backups – PostgreSQL – Redis – API analytics • File storage • Backups moved to Glacier after 1 month
  10. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 posgres misc redis web

    FrontEnd Webserver API Webserver Redis api01 API Backend MC* Redis Slave PostgreSQL Replica Workers api02 API Backend MC* postgreSQL bq Amazon S3 / Glacier Google BigQuery *MC: Memcached Digital Ocean
  11. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 DevOps DevOps (a portmanteau

    of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services https://en.wikipedia.org/wiki/DevOps Interested? http://www.meetup.com/madrid-devops/
  12. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Provisioning • Server installation

    automation • SSH connection from client • Based on yaml configuration files
  13. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Deployment • Automating the

    execution of commands across multiple remote machines • Integrated with RoR (migrations) and libraries (sidekiq, whenever, …) • Rollback
  14. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Other Services • GoDaddy

    - DNS • NameCheap – SSL Certificate • MaxMind – IP Geolocation • Wordpress – Blog hosting • Google Analytics • Google Apps
  15. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 posgres misc redis web

    FrontEnd Webserver API Webserver Admin Webserver Redis api01 API Backend MC* Redis Slave PostgreSQL Replica Admin Backend Workers api02 API Backend MC* postgreSQL bq Amazon S3 / Glacier Google BigQuery rollbar BitBucket Pivotal Tracker Wordpress Pingdom monit munin Mandrill New Relic Stripe *MC: Memcached Trello ansible Digital Ocean goDaddy NameCheap rollbar MaxMind Google Apps Mailchimp Google Analytics
  16. Diego Rodríguez @diec123 https://teowaki.com Ironhack mar2014 Pricing • Hosting 7

    servers 55$ per month (40€) • Total operational cost 100€ per month
  17. Thanks! Diego Rodr guez í @diec123 IronHack mar2014 Presentation links

    https://teowaki.com/teams/ironhack-community/link-categories/teowaki-talk