Way to Cloud
Andrew
Why, Cloud?
• Application with seasonal traffic requirement
• Disaster recovery
• Test environments
• Fast provisioning
Why Cloud, Really?
• Application with seasonal traffic requirement
• if you can predict it, you can take other arrangements
• Disaster recovery
• AWS can help, but AWS doesn’t provide all
• Test environments
• more important thing is stitching with production
• Fast provisioning
• tens of server can be propared in a few hours too.
• provision is one thing, operation is others.
Before change
• Simplify
• Standardize
• Automate
• Abstract
After that
•You’re ready for the cloud
Dreams.
Development staging production
Resources Resources Resources
central configuration pipeline
More Dreams.
Development staging production
Resources Resources Resources
central configuration pipeline
Auto
Test
Auto
Acceptance
Test
Simplify & Standalize
• Simplification mostly means simple process
• Your resources should be provided in same way
• Using Central Configuration system
• Using Central logging/monitoring system
• Using standard/common API
Automate
• Try to avoid manual setup or intervention.
• Every process should be programmed. ( need code
and developer)
• need event based processing ( need central
coordination )
Setup your app in
Simple, Standardazied, Automated Way
configuration
Repo
(Cookbooks,
Custom App.
Repo
(tested)
PHP Server (VM)
MySQL Server (VM)
Develop Env.
Setup Dev
• Create Cookbooks for PHP and MySQL
"recipe[opsworks_initial_setup]",
"recipe[ssh_host_keys]",
"recipe[ssh_users]",
"recipe[mysql::client]",
"recipe[dependencies]",
"recipe[ebs]",
"recipe[opsworks_ganglia::client]",
"recipe[mod_php5_apache2]",
"recipe[deploy::default]",
"recipe[deploy::php]",
"recipe[phpapp::appsetup]",
"recipe[agent_version]",
"recipe[php::configure]"
"recipe[opsworks_initial_setup]",
"recipe[ssh_host_keys]",
"recipe[ssh_users]",
"recipe[mysql::client]",
"recipe[dependencies]",
"recipe[ebs]",
"recipe[opsworks_ganglia::client]",
"recipe[mysql::server]",
"recipe[deploy::mysql]",
"recipe[phpapp::dbsetup]",
"recipe[agent_version]"
Abstraction
• Use identical tool for the bringing up the server
• Chef API , and tools
• To inintiate Server
• vagrant up
Setup Dev.
Time for the production
AWS Provides Chef server:
* You can use the same
configuration tool
* You can use the same
management tool
* from this, you can have
identical but little bit different
experience
Bringing up the Production
AWS Opsworks
Again Same tool
• Remember the command line?
• vagrant up
Bring up the Prod.
61.22.23.56
things to know
• Cloud should be a tool that your express your long &
deep experience.
• AWS has lots of way to help you.
• EC2, RDS, S3 for basic operation.
• SQS, SWF, ELB, Route53 and other services for
comprehesive use.

Way to cloud

  • 1.
  • 2.
    Why, Cloud? • Applicationwith seasonal traffic requirement • Disaster recovery • Test environments • Fast provisioning
  • 3.
    Why Cloud, Really? •Application with seasonal traffic requirement • if you can predict it, you can take other arrangements • Disaster recovery • AWS can help, but AWS doesn’t provide all • Test environments • more important thing is stitching with production • Fast provisioning • tens of server can be propared in a few hours too. • provision is one thing, operation is others.
  • 4.
    Before change • Simplify •Standardize • Automate • Abstract
  • 5.
  • 6.
    Dreams. Development staging production ResourcesResources Resources central configuration pipeline
  • 7.
    More Dreams. Development stagingproduction Resources Resources Resources central configuration pipeline Auto Test Auto Acceptance Test
  • 8.
    Simplify & Standalize •Simplification mostly means simple process • Your resources should be provided in same way • Using Central Configuration system • Using Central logging/monitoring system • Using standard/common API
  • 9.
    Automate • Try toavoid manual setup or intervention. • Every process should be programmed. ( need code and developer) • need event based processing ( need central coordination )
  • 10.
    Setup your appin Simple, Standardazied, Automated Way configuration Repo (Cookbooks, Custom App. Repo (tested) PHP Server (VM) MySQL Server (VM) Develop Env.
  • 11.
    Setup Dev • CreateCookbooks for PHP and MySQL "recipe[opsworks_initial_setup]", "recipe[ssh_host_keys]", "recipe[ssh_users]", "recipe[mysql::client]", "recipe[dependencies]", "recipe[ebs]", "recipe[opsworks_ganglia::client]", "recipe[mod_php5_apache2]", "recipe[deploy::default]", "recipe[deploy::php]", "recipe[phpapp::appsetup]", "recipe[agent_version]", "recipe[php::configure]" "recipe[opsworks_initial_setup]", "recipe[ssh_host_keys]", "recipe[ssh_users]", "recipe[mysql::client]", "recipe[dependencies]", "recipe[ebs]", "recipe[opsworks_ganglia::client]", "recipe[mysql::server]", "recipe[deploy::mysql]", "recipe[phpapp::dbsetup]", "recipe[agent_version]"
  • 12.
    Abstraction • Use identicaltool for the bringing up the server • Chef API , and tools • To inintiate Server • vagrant up
  • 13.
  • 14.
    Time for theproduction AWS Provides Chef server: * You can use the same configuration tool * You can use the same management tool * from this, you can have identical but little bit different experience
  • 15.
    Bringing up theProduction AWS Opsworks
  • 16.
    Again Same tool •Remember the command line? • vagrant up
  • 17.
    Bring up theProd. 61.22.23.56
  • 18.
    things to know •Cloud should be a tool that your express your long & deep experience. • AWS has lots of way to help you. • EC2, RDS, S3 for basic operation. • SQS, SWF, ELB, Route53 and other services for comprehesive use.