cloud computing for the enterprise // [email protected] november 18th, 2011. this work is licensed under...
TRANSCRIPT
![Page 1: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/1.jpg)
Cloud Computing for the Enterprise
http://www.isaca.lk/ [email protected] 18th, 2011. This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Building Applications for the Cloud
Kamal WickramanayakeEnterprise/Software Architect and Trainer - Software View
http://www.training.lk/ http://www.itgovernance.lk/[email protected]
![Page 2: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/2.jpg)
Agenda
Enterprise software architecture evolution Architecture of an application on IaS Architecture of an application on PaaS Cloud application development guidelines Storage options Database options Support services Influence on architecture due to hybrid deployment Why Service Oriented Architecture (SOA) is a
must for enterprise computing?
![Page 3: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/3.jpg)
Enterprise software architecture evolution
Jacquard loom - 1801
![Page 4: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/4.jpg)
Enterprise software architecture evolution
Everything
Standalone application
![Page 5: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/5.jpg)
Enterprise software architecture evolution
Thick client
Presentation+
Business Logic
Data
Client – server (2 tier)
![Page 6: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/6.jpg)
Enterprise software architecture evolution
Thin client
Presentation
Data
3 tier
BusinessLogic
![Page 7: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/7.jpg)
Enterprise software architecture evolution
Presentation Data
Clustered
BusinessLogic
![Page 8: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/8.jpg)
Data
Enterprise software architecture evolution
Presentation
Data
Clustered + partitioned (data)
BusinessLogic
![Page 9: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/9.jpg)
Enterprise software architecture evolution
What can be partitioned? Data Business logic Presentation
Beyond clustering and partitioning We need to share resources We need to select (from shared pool) Then aggregate resources
![Page 10: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/10.jpg)
Enterprise software architecture evolution
Grid computing – distributed supercomputing
![Page 11: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/11.jpg)
Enterprise software architecture evolution
Grid computing We need to share resources We need to select (from shared pool) Then aggregate resources
We need A grid master (public interface for job accepting,...) Administration interface A code repository Partition manager (data loading, directing requests to nodes) Messaging cluster Grid nodes!
![Page 12: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/12.jpg)
Enterprise software architecture evolution
How to cook the cloud soup? Get a pint of grid computing Add several more pints of virtualization (cpu, memory,
storage, network – don't worry about from where they come)
Let the virtualization settle in whatever the way Add utility computing as needed This is sufficient to serve the world now
![Page 13: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/13.jpg)
Technical view of the cloud
A network of computer arranged in an unknown topology
You don't have to know about this unknown topology
You need to know how to talk to machines though The whole arrangement should be able to
reconfigure itself For example, network latency will be handled by the
cloud
![Page 14: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/14.jpg)
Architecture of an IaS application
Virtualized IP – not load balancing - Provides fail over without an IP change - You may need to monitor and request the switching from the network management service
Primary “instance”
Backup “instance”(May or may not be running)
![Page 15: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/15.jpg)
Architecture of an IaS application
“instance 1”
Load balancer“instance 2”
“instance 3 (not running)”
Instance pool that auto scales (Infrastructure
provider may request the policy)
Monitoring + adapting(Not your business)
![Page 16: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/16.jpg)
Architecture of an IaS application
“instance 1”
“instance 2”
“instance 3 (not running)”
Instance pool that auto scales (Infrastructure
provider may request the policy)
“instance 1”
“instance 2”
“instance 3 (not running)”
Instance pool that auto scales (Infrastructure
provider may request the policy)
Aspect 1 (Web servers) Aspect 2 (Business logic)
![Page 17: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/17.jpg)
Architecture of an IaS application
“instance 1”
“instance 2”
“instance 3 (not running)”
Instance pool that auto scales (Infrastructure
provider may request the policy)
Aspect 2 (Business logic) External storage will allow arbitrary size storage
External database will allow arbitrary size data
You may have select the exact external storage option and database option
Where's the application?
![Page 18: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/18.jpg)
Architecture of an IaS application
IaS provides a auto scaling infrastructure Your application needs to do everything else
Use other virtualized service APIs (e.g. Access to email, storage, database, ...)
Authentication/authorization and other security tasks Internal load balancing (as the infrastructure scales
up/down)
![Page 19: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/19.jpg)
Architecture of a PaaS application
You don't know in which machine your application is running.
You rent a virtual application server (not managed by you)
Use the service provider's APIs to access services. Beyond what's in the APIs, you cannot do much.
Restricted form of the application Can SSL be used? May be not in the way you want. Can you backup? May be not in the way you want.
![Page 20: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/20.jpg)
Cloud application development guidelines
Determine the model Can you simply use the PaaS model? It's easier. But
less flexible. Do you want to use the IaaS model? It's not easy, but
flexible. Look at the other services offered by the provider
Complementary services may already be available
![Page 21: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/21.jpg)
Storage options
Amazon Web Services (AWS) Local instance storage of EC2 instances
Typical file system Amazon Simple Storage Service (S3)
External 'object' store that can be accessed from any Internet connected system.
Amazon Elastic Block Store (EBS) External file system
Google App Engine Blobstore
Store very large objects that cannot easily be handled via database calls
![Page 22: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/22.jpg)
Database options
Amazon Web Services (AWS) Amazon SimpleDB
A non-relational data store optimized by Amazon Amazon Relational Database Service
MySQL or Oracle DB instances with simplified manageability options (auto backup, durability, snapshot recovery, scale up/down via API calls).
Amazon ElastiCache In-memory cache
Google App Engine JDO JPA No SQL
![Page 23: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/23.jpg)
Support services
Amazon Web Services (Categories only) Content delivery Deployment and management E-commerce Messaging Monitoring Networking
![Page 24: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/24.jpg)
Support services
Google Data pushing to browser service (than polling) Image manipulation Mail Multitenecy Background task execution Oauth – Lets your application users to use Google
services like spreadsheet Users – Lets users login to your app via Google login
page
![Page 25: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/25.jpg)
Influence due to hybrid deployments
Application needs to support what's available in both ends. Clear boundaries are demanded
Can the cloud end load the non-cloud end than it can handle? Throttling, job queuing needs go up.
Distributed authentication/authorization requirement
Increased need to use middleware
![Page 26: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/26.jpg)
Why SOA is a must (for enterprise computing)?
It is surely possible to build applications without SOA.
From a technical perspective, combining flexible middleware enabled by SOA with flexible infrastructure is brining down a lot of hazel. e.g. AWS, Google already uses web services and
related middleware models a lot From a business perspective, service orientation of
an organization demands 'scalable' infrastructure. Cloud computing is an ideal supply source. Win-win!
![Page 27: Cloud Computing for the Enterprise // info@isaca.lk November 18th, 2011. This work is licensed under a Creative Commons](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e0d5503460f94af6cc7/html5/thumbnails/27.jpg)
Thank you