Upload
christopher-curtin
View
1.627
Download
0
Embed Size (px)
DESCRIPTION
Presentation to IASA Atlanta about cloud computing topics and advice for architects on how to incorporate these new technologies and approaches into their systems
Citation preview
An Overview of Cloud Computing
Christopher Curtin
About Me
• 19+ years in Technology• Background in Factory Automation,
Warehouse Management and Food Safety system development before Silverpop
• CTO of Silverpop• Silverpop is a leading marketing
automation and email marketing company
Cloud Computing
• What exactly is ‘cloud computing’?• Beats me• Most overused term since ‘dot com’• Ask 10 people, get 11 answers
Topics• Types of Clouds
– Infrastructure as a Service (IaaS)– Platform as a Service (PaaS)– Software as a Service (SaaS)– Private– Hybrid
• Google Docs• Privacy and security• Return of the ISV?• Map Reduce/Hadoop• Thoughts for Architects
Infrastructure as a Service (IaaS)• Provides ‘raw iron’ VM for you to use• Pretty much a root login and total
control• ‘pay as you go’ – charged by hour
running and bandwidth/storage used• Amazon’s EC2 • Rackspace Cloud• Probably every co-lo provider
IaaS Benefits and Risks• Benefits– Do whatever you want on the machine– Build it however you want– ‘pay as you go’– Can deploy one server or 1000
• Risks– Same as benefits– Mostly credit card today– Not something you’d give to a business group– Authentication is not provided
IaaS – EC2
• Offers prebuild machine images ‘AMI’• Can build your own as well• Provides some infrastructure services
such as load balancing, basic monitoring, queuing, disk storage
• Biggest design challenge - storage
Platform as a Service (PaaS)
• Platforms provide you a container and set of services
• You code to the API, worrying about business logic, not infrastructure
• Microsoft’s Azure• Google’s AppEngine• SalesForce.com’s Force.com• EngineYard for Ruby
PaaS
• Very well defined ‘boxes’ to work in• Even when .net and Java containers
are provided, not all APIs and libraries are available
• No local disk• Hard (impossible?) to know how
many instances are running
PaaS Benefits and Risks
• Benefits– No need to worry about networking, load
balancers, Apache/IIS etc– Auto scaling is part of the application
• Risks– Same as Benefits– Authentication is not robust– Constraints – Credit Card payments
PaaS – Azure and AppEngine
• Basically provide Servlet/MVC containers
• Azure provides SQL Server• AppEngine provides JDO access to
BigTable-like database• Long running tasks not supported
(how to do reporting?)• No third party libraries, applications
etc to integrate into your solution
Software as a Service (SaaS)
• Traditional Web applications?• Business applications hosted by
others• Silverpop• SalesForce.com• Google Docs• Microsoft Live
SaaS Benefits and Risks
• Benefits– No IT costs– Department Level management– Support by Vendor
• Risks– Possibly no IT knowledge– Privacy, Security, data outside firewall– Integration challenges
SaaS Example: Silverpop
• Provide Lead Management and Marketing applications
• Marketing Departments lead RFP process, rarely see IT
• However, security is critical• Integrations are often ‘build and
forget’
Private Clouds
• Another really abused term• NOT the same as virtualization• Allows IaaS and PaaS inside your
firewall or in a controlled, dedicated third party
• Eucalyptus• 3Tera• IBM, Unisys, Sun, HP etc• Expect VMWare (SpringSource)
Private Clouds Benefits and Risks• Benefits– Total control– Provisioning– Reuse of existing capital systems– Easier integrations
• Risks– Not adopting ‘services’ part of solution– Capital costs over time
Private Clouds – 3Tera
• Tool to let you define machines as resources
• Build ‘applications’ drag and drop • Cloud can be internal, remote or both
3Tera Screenshot
Hybrids
• Amazon Virtual Private Cloud• 3Tera• Cloud Bursting– Build internal system for ‘normal’ load– Call up cloud resources for extreme
cases– Design architectures where some parts
are in the cloud and some local by default
Cloud Bursting Examples• IBM DB2 Workgroup for $3/hour– What could you do with 100 DB2 instances?
• Billing– Day to day use local apps– Spin up 100 EC2 instances to do a monthly
billing run
• Financial– Spin up 100 EC2 instances to close the books
monthly
• Development– Large unit test suites– Spin up 10 EC2 instances, parallel tests nightly
Google Docs
• Microsoft Live too (eventually)• Can be PaaS or SaaS• Online collaboration • Can also build simple applications
(forms)
Privacy and Security
• IaaS– Almost none by default– You must build it/manage it
• PaaS– Some by platform but often tied to Live
ID, Gmail login etc– SOME support integration with
LDAP/Active Directory– Critical to get this under control!
Privacy and Security 2
• SaaS– Audit the vendors– Penetration tests– IP restrictions
• Define rules for use of all 3• Amazon Virtual Private Cloud– “on your network”– Can use your infrastructure– Supposedly 100% VLAN’d
Return of the ISV?
• Remember the late 80’s and early 90’s?
• The guy from church or neighbor build dBase 3 apps for everyone?
• Corporate IT killed that by taking control of the desktop
• PaaS and SaaS will bring them back
ISV Continued
• If IT is seen as the bottleneck, users will go around you
• Access/Excel apps• A department manager could pay
someone to build an app and host it on Azure for a few thousand
• Paid monthly on a credit card, no capital, no IT traceability
Map Reduce/Hadoop
• Ever wonder how Google indexes the web?
• Map/Reduce is a framework for diving jobs into manageable pieces
• Then implementing the logic across many machines
Map/Reduce 2
• First step is to define the key for the data
• For example, words in a document• Or customer identifiers• Next step is to run logic on the rows
that match each key (Reduce)• Output is then combined into results
directory
Runtime Distribution © Concurrent 2009
Map/Reduce 3
• Don’t think about threading, scheduling, memory utilization
• Think about business logic• VERY different way of thinking about
solving a problem• A whole presentation by itself …
Product Architects
• How would I build my solution if I had lots of hardware on demand?
• What are the things we do infrequently but have dedicated hardware for?
• Learn about map/reduce for reporting, billing etc.
Product Company Architect (SaaS)• What things are we doing in ‘back
office’ that we only need once a week/month?
• What quick/dirty things are the non-production teams doing to do their jobs?
• Do I have the volume to support building my own infrastructure?
Enterprise Architects
• Know that your departments are going to the cloud with or without you
• Look at applicable use of all types of ‘cloud’ solutions: PaaS, IaaS, SaaS all have their place
• Think about internal/private clouds to make resource management easier
• Provide resources to answer/direct departments about PaaS/SaaS
AWSome Atlanta
• Meets Second Tuesday of the month at ATDC
• Started about Amazon’s services, but more general now
• http://www.meetup.com/awsomeatlanta/
Thank you
• Chris Curtin [email protected]• Twitter: @ChrisCurtin• SlideShare:
www.slideshare.com/chriscurtin• Silverpop:
http://www.silverpop.com/marketing-company/careers/index.html