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

Teowaki Architecture

Teowaki Architecture

Presented at Ironhack Web Development Bootcamp Madrid

Avatar for Diego Rodriguez

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