Sunday, August 21, 2016

NewRelic








  1. Integrated Newrelic on tech stack 










Tuesday, August 9, 2016

Wednesday, August 3, 2016

Magento Cloud





Reference


  1. install 2 vm ubuntu 14 LTS (https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-magento-on-ubuntu-14-04)
    1. web open port 80 & 22
    2. db : open port 22 & 3306
  2. web :  (reference https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04)
    1. sudo apt-get update
    2. sudo apt-get install apache2 (apache/2.4.7)
    3. sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
    4. sudo nano /etc/apache2/mods-enabled/dir.conf
    5. sudo service apache2 restart
    6. sudo apt-get install php5-cli
    7. sudo nano /etc/apache2/sites-available/magento.conf
    8. sudo a2ensite magento.conf
    9. sudo a2dissite 000-default.conf
    10. sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt
    11. sudo a2enmod rewrite
    12. sudo php5enmod mcrypt
    13. cd ~ && wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz
    14. tar xzvf magento-1.9.0.1.tar.gz
    15. sudo rsync -avP ~/magento/. /var/www/html/
    16. sudo chown -R www-data:www-data /var/www/html/
    17. sudo apt-get install mysql-client
    18. apt-get install php5-mysql


  1. db :
    1. sudo apt-get update
    2. sudo apt-get install mysql-server
    3. sudo mysql_install_db
    4. mysql -u root -p
      1. CREATE DATABASE magento;
      2. CREATE USER 'mangento2'@'localhost' IDENTIFIED BY 'password';
      3. GRANT ALL PRIVILEGES ON *.* TO 'mangento2'@'localhost' WITH GRANT OPTION;
      4. CREATE USER 'mangento2'@'%' IDENTIFIED BY 'password';
      5. GRANT ALL PRIVILEGES ON *.* TO 'mangento2'@'%' WITH GRANT OPTION;
      6. FLUSH PRIVILEGES;
      7. exit;
    5. sudo nano /etc/mysql/my.cnf (Bind address 0.0.0.0)
    6. mysqld --help --verbose




  1. Install ubuntu 14.04 LTS
  2. Install apache2
  3. install php
  4. seed the mysql DB :
  5. unzip the shopping in web root
  6. Change the config file





Chef :


CloudFormation Template:





  1. install aws command line tools
    1. $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
      $ unzip awscli-bundle.zip
      $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
    2. aws cloudformation create-stack --stack-name myteststack2 --template-body file://///Projects/cc/cf/shop.json
    3. aws cloudformation delete-stack --stack-name myteststack2





Chef + cloudformation






Setting up chef




Vagrant:





Mac Setup

$ brew tap caskroom/cask
$ brew install brew-cask
$ brew cask install google-chrome
$ brew update && brew upgrade brew-cask && brew cleanup

  1. brew cask install virtualbox
  2. brew cask install vagrant
  3. brew cask install vagrant-manager
  4. vagrant box add precise64 http://files.vagrantup.com/precise64.box
  5. vagrant init precise64
  6. vagrant up
  7. vagrant ssh
    1. vagrant halt

  1. mkdir -p ~/chef/cookbooks/helloworld/recipes
    $ echo '
    file "/tmp/helloworld.txt" do
     owner "ubuntu"
     group "ubuntu"
     mode 00544
     action :create
     content "Hello, Implementor!"
    end' > ~/chef/cookbooks/helloworld/recipes/default.rb
  2. echo '
    {
     "run_list": [ "recipe[helloworld]" ]
    }' > ~/chef/node.json
  3. echo '
     file_cache_path "/home/vagrant/chef"
     cookbook_path "/home/vagrant/chef/cookbooks"
     json_attribs "/home/vagrant/chef/node.json"
    ' > ~/chef/solo.rb






RUBY




//setting up chefdk for Ruby



  1. brew install chruby
  2. brew install ruby-install
  3. ruby-install ruby 2.2


Chef DK

install chef & Ruby


  • brew cask install virtualbox
  • brew cask install vagrant
  • brew cask install vagrant-manager
  • brew cask install chefdk
  • vagrant plugin install vagrant-berkshelf
  • vagrant plugin install vagrant-omnibus
  • vagrant plugin install vagrant-chef-zero
  • vagrant plugin install vagrant-vbguest



Good one

VBoxManage dhcpserver remove --netname HostInterfaceNetworking-vboxnet0

brew cask install sublime-text







Test app:














good one

















Performance & Scalability:








Tools





  1. FastCGI



Screen Shot 2015-05-11 at 12.25.31 PM.png



 Screen Shot 2015-05-09 at 7.47.54 AM.png


Screen Shot 2015-05-17 at 6.24.20 PM.png



VPC:
AWS re:Invent 2014 | (SDD422) Amazon VPC Deep Dive



Screen Shot 2015-06-20 at 3.18.21 AM.png






Screen Shot 2015-06-21 at 5.10.27 AM.png




VPC Security


Network ACL : Stateless lives on network level, outbound and inbound rules need to be specified
Security Group : Stateful default outbound rules are allowed

3 Security Groups

DB security groups,
VPC security groups, and
EC2 security groups



cd /etc/apache2/site-enabled



NAT Instance


DB Subnet Groups

RDS Essentials












Magento Install


sudo apt-get install -y ssh
sudo apt-get install -y apache2
sudo apt-get install -y php5 libapache2-mod-php5
sudo apt-get install -y php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imap php5-mcrypt php5-ming
sudo apt-get install -y php5-ps php5-pspell php5-snmp php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-soap






VPC:


Building A Non-Default VPC






Database:


Load test on DB



Screen Shot 2015-05-21 at 6.07.54 AM.png


Screen Shot 2015-05-21 at 6.08.46 AM.png




Best Practice

  1. Have a subnet block that does not overlap with local network
  2. VPC for Dev,Stage,Prod (VPC peering)
  3. Security
    1. Firewall Virtual appliance
    2. VM encryption






DNS





Deployment


BOTO



Reference: