way to cloud

18
Way to Cloud Andrew

Upload: -

Post on 14-Jul-2015

199 views

Category:

Engineering


0 download

TRANSCRIPT

Way to CloudAndrew

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 productionAWS 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 ProductionAWS 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.