Creating Value Delivering Solutions Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study Chris Zajac, NJDOT Bud Luo, Ph.D., Michael Baker Jr., Inc.
Overview of the Presentation Perceived Benefits of Cloud Services Do you need the Cloud Services? Hosting Service Options Design to Deploy in Cloud: Technology Considerations EC2 Deployment Process Cost: A Closer Look Conclusions Q&A
Perceived Benefits of Cloud Services Scalability and performance: Scale up fast Reliability: Reliable equipment and infrastructure Bandwidth: Fast network and broadband Internet service Complete control of your own environment Flexibility in technology selections: Choose your technology stack, pre-packaged or build your own Security control (ports, firewalls, access ) Cost may be lower: Compared to build up and maintain your own local environment
Do you need the Cloud Services? Forward looking Do you have sufficient infrastructure support? Is my application fine with the current environment? Do you have adequate financial and human resources to build up and support your own infrastructure? Do you anticipate significant and unpredictable application hit spike and have the method to address it? Can I scale up and down swiftly? Do you share the infrastructure and are limited or restricted by the local IT governance?
Hosting Service Options Own environment (your own or shared), governed by local IT policies. Typical government agency service option Commercial ISPs (shared or dedicated). Need IT policy changes such as allowing external IP/domain Commercial Cloud Services such as EC2 and Rackspace. This is a step further than the traditional commercial ISPs.
Design to Deploy in Cloud: Technology Considerations The technology stack should consider Free or lower software licensing cost Leverage on pre-packaged software stacks as much as possible, especially the low cost or free Open Source ones. You have options now. For commercial software, check with your vendors on the licensing approach and cost. Easy installation and maintenance Less support effort. Stable and mature Amazon Machine Image (AMI) needs to be stable.
NJDOT Traffic Monitoring Systems Web Reporting Tool Technology Stack NJDOT TMS Web Reporting Tool publishes the location and count information(http://www.state.nj.us/transportation/refdata/roadway/t raffic_counts/ ) Stable and proven technologies Glassfish version 3 PostgreSQL version 8.1 With PostGIS extension Customized JEE application Google Maps APIs File storages Currently hosted on an commercial ISP Web Server and Application Server Database Server No commercial software licenses Software licensing cost: $0.00
EC2 Deployment Process http://aws.amazon.com/ec2/ Create Amazon Web Services (AWS) account Sign up services Simple Storage Service (S3) Elastic Compute Cloud (EC2) Accounting concern Credit card is the easiest and fastest, but many government agencies may have issues with this approach Additional work needed if official PO is involved
Set up EC2 for Deployment Select AMIs to use. Many options (Linux, Windows) Web Server AMI Operating System: Ubuntu 10.10 Glassfish is included Database Server AMI Operating System: Ubuntu 10.10 We selected two Instances (servers) Web Server Database Server Check on the instance details for hardware configurations Cost impact
Set up EC2 for Deployment - Continued Find a Ubuntu AMI to choose We chose from the ones that are created by Ubuntu community
Set up EC2 Assign Key pair (Access/Authentication) to each of the selected AMI Security key for your EC2 services Set Firewall configuration Port/IP configurations. You are on your own. Review selection and Launch the instances of the selected AMIs Start being charged by Amazon
Set up EC2 - Continued
Set up EC2 Continued 2 Connect to your instances (virtual machines) via provided SSH using key pair and provided public DNS for system administration (additional software installation, configuration and maintenance) Install and Configure your Instances to fit your need (Now they are live instances) Glassfish (Configuration needed) PostgreSQL PostGIS (installation and configuration) Customized JEE application (installation and configuration) You do need to perform installations and configurations yourselves
Set Up EC2 Continued 3 Postgres DB Server after configuration as shown in local terminal window
Set up EC2 Continued 4 Load TMS Data In Postgres/Postgis instance
Set Up EC2 Continued 5 Deploy TMS WEB Application in Glassfish Web Server Instance
Set Up EC2 Continued 6 Deployed TMS Application on EC2
Scale up in EC2 Register for Elastic IP and associate to Glassfish Web Server instance You can register the Elastic IP to a domain (some IT departments do not allow framing numeric IPs)
Scale up or down in EC2 We did not go through the following since our instances were sufficient for the needs Launch multiple copies of the same Instance Create Load Balancers to distribute loads Change Instance type to user higher CPU, more cores, more storage etc Cost impact
Monitoring the EC2 EC2 Tools for monitoring services You are on your own to maintain and monitor the system and cost
Monitoring the EC2 - Continued Resource Usage
Cost: A Closer Look Cost structure Instance (next slide) OS choice does matter in pricing (>50%) Any commercial software cost (in most cases you pay the same as the physical machines ) Storage (if you choose S3) Live instance does cost money You can stop and/or scale down the instance any time Need to compare the cost with local hosting service option or commercial ISPs (they also claim to be in Cloud Service) EC2 is >30% cheaper than the commercial ISP we currently use.
Cost: A Closer Look - Continued http://aws.amazon.com/ec2/instance-types/ We chose M1 large, two instances for the case study 7.5 GB memory 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each*) 850 GB instance storage 64-bit platform I/O Performance: High API name: m1.large Cost: $5956.8 per year If we go Small (T1) $744.6 for one instance (this is comparable to what we have now on commercial ISP) $1489.2 for two instances *One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor. Source by Amazon
Cost: A Closer Look Continued 2
Cost: A Closer Look Continued 3
Conclusions Choose a technology stack that can reduce the software cost and support effort Start with low cost EC2 instances and monitor the usage. Ideally your application runs well on one instance so that scaling is less expensive. You own the instances, and you own the support responsibility Moving/Expanding to cloud has impacts on business practices and IT policies
Questions? Chris Zajac, NJDOT Email: Chris.Zajac@dot.state.nj.us Phone: 609-530-4548 Bud Luo, Baker Email: yluo@mbakercorp.com Phone: 215-442-5347