Tag Archives: ansible

Ansible Configuration Management: Book Review

Ansible Configuration Management Book

The book provides very good grasp of how to get started and working with Ansible for your small and large setup.

The first few chapters will walk through installation and setting up overlord machine. Creating simple playbooks were systematic as it moves on in using advance techniques of using looping, conditional execution, and task delegation in playbooks.

While the last chapters details how to work with large projects and creating custom modules and external inventories.

Good to have one here!

Moving web application to use Amazon Web Services

Basic setup technologies and for launching your web application.

1. Servers
These are machines that runs our websites and web applications or services.

Before moving to AWS, always check your application server requirements.
Complex web application need to run programs or web services to work.
For a simple website I think cheaper to go for monthly smaller VPS.

Amazon EC2 offers on demand instance payable per hour.
If you need to scale your site up and down to meet load demands, Amazon EC2 really excels.
Amazon EC2 servers and its pricing

The nice thing about Amazon Web Services is that there are a lots of excellent technologies available and they all play nicely together. And most probably your web application needs one or more of these technologies.

2. SMTP Service
SMTP Mail service handles sending and routing emails.
Depending on the pricing, features and amount of emails to send, a good comparison is here:

SMTP services I have used: Amazon SES,Critsend, AuthSMTP

3. Email Inbox
To open and receive emails we need inbox.
Except for Mailbox service, what’s good with GoogleApp is that it includes most app you need to run your business. Calendar, Notes, spreadsheets that allows sharing with teams.

4. DNS Service
Domain Name Service translates human readable names like www.example.com into the numeric IP addresses like that computers use to connect to each other.

Some of these available services are:
Amazon Route53
DNS Exit

5. Monitoring
For basic monitoring Pingdom.com works great for http/https checks.
Having multiple servers with different services running requires more checks.
Opensource are Nagios for alerting, Graphite or Munin for graphing CPU utilization,memory usage, and the like.

In addition, here are some tools that can help too:

6. Code repository
Keeping development and production codes is a good practice.
Contributing back to opensource community also makes development fun.

www.github.com is a nice tool for these kind of stuff.

7. Communication for both developers and teams.

www.HipChat.com offers a cool team messaging system.
Although group messaging in Skype or Yahoo are applicable, but checkout HipChat for more nice features.

8. Easy Deployment/Configuration Management
Deployment and configuration process should be made easy and repeatable.

Ansible is radical push based configuration, orchestration, and deployment tool.

I hope in some ways these list helps you in your current or future projects. 🙂