Cloud Computing for the Enterprise November 18th, 2011. This work is licensed under a Creative Commons.

Slides:



Advertisements
Similar presentations
A Ridiculously Easy & Seriously Powerful SQL Cloud Database Itamar Haber AVP Ops & Solutions.
Advertisements

Tableau Software Australia
Distributed Data Processing
Ivan Pleština Amazon Simple Storage Service (S3) Amazon Elastic Block Storage (EBS) Amazon Elastic Compute Cloud (EC2)
1 Cloud Computing with Amazon and Oracle Lewis Cunningham TUSC, Sr Datawarehouse Consultant
Intro to SharePoint 2013 Architecture Liam Cleary.
Infrastructure as a Service (IaaS) Amazon EC2
An Approach to Secure Cloud Computing Architectures By Y. Serge Joseph FAU security Group February 24th, 2011.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
CLOUD COMPUTING AN OVERVIEW & QUALITY OF SERVICE Hamzeh Khazaei University of Manitoba Department of Computer Science Jan 28, 2010.
What is Cloud Computing? o Cloud computing:- is a style of computing in which dynamically scalable and often virtualized resources are provided as a service.
© 2009 IBM Corporation ® IBM Software Group Introduction to Cloud Computing Vivek C Agarwal IBM India Software Labs.
Cloud Computing (101).
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
SaaS, PaaS & TaaS By: Raza Usmani
Cloud computing Tahani aljehani.
An Introduction to Cloud Computing. The challenge Add new services for your users quickly and cost effectively.
Platform as a Service (PaaS)
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
What is Cloud Computing? Cloud computing is the delivery of computing capabilities as a service, making access to IT resources like compute power, networking.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Cloud Computing Saneel Bidaye uni-slb2181. What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Cloud Computing A set of Internet-based application.
1 © 2009 Cisco Systems, Inc. All rights reserved.Cisco Confidential Cloud Computing – The Value Proposition Wayne Clark Architect, Intelligent Network.
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
INTRODUCTION TO CLOUD COMPUTING ggg UNDERSTANDING CLOUD COMPUTING UNDERSTANDING CLOUD COMPUTING DEFINITION CLOUD COMPUTING.
Licensed under Creative Commons Attribution-Share Alike 3.0 Unported License Cloud Hosting Practices Lessons DuraSpace has learned Bill Branan Open Repositories.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
Chapter 8 – Cloud Computing
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-2.
Cloud Computing Shannon McManus Michael Weihert. What is Cloud Computing?
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
Submitted to :- Neeraj Raheja Submitted by :- Ghelib A. Shuaib (Asst. Professor) Roll No : Class :- M.Tech(CSE) 2 nd Year.
CLOUD COMPUTING When it's smarter to rent than to buy.. Presented by D.Datta Sai Babu 4 th Information Technology Tenali Engineering College.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Sausalito: An Application Server for RESTful Services in the Cloud Matthias Brantner & Donald Kossmann 28msec Inc.
SEMINAR ON.  OVERVIEW -  What is Cloud Computing???  Amazon Elastic Cloud Computing (Amazon EC2)  Amazon EC2 Core Concept  How to use Amazon EC2.
Lecture 1 Book: Hadoop in Action by Chuck Lam Online course – “Cloud Computing Concepts” lecture notes by Indranil Gupta.
Agenda  What is Cloud Computing?  Milestone of Cloud Computing  Common Attributes of Cloud Computing  Cloud Service Layers  Cloud Implementation.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Unit 3 Virtualization.
CLOUD ARCHITECTURE Many organizations and researchers have defined the architecture for cloud computing. Basically the whole system can be divided into.
AWS Simple Icons v AWS Simple Icons: Usage Guidelines
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Prepared by: Assistant prof. Aslamzai
StratusLab Final Periodic Review
An Introduction to Cloud Computing
StratusLab Final Periodic Review
Platform as a Service.
Introduction to Cloud Computing
AWS Administrator overview  SV Trainings AWS Training –provides real time and placement oriented Amazon Web Services (AWS) Online Training. Our AWS Course.
Cloud Computing BY: Udit Jain.
Outline Virtualization Cloud Computing Microsoft Azure Platform
Lecture 1: Multi-tier Architecture Overview
Internet and Web Simple client-server model
Cloud Computing: Concepts
Client/Server Computing and Web Technologies
Presentation transcript:

Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons Attribution 3.0 Unported License. Building Applications for the Cloud Kamal Wickramanayake Enterprise/Software Architect and Trainer - Software View

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?

Enterprise software architecture evolution Jacquard loom

Enterprise software architecture evolution Everything Standalone application

Enterprise software architecture evolution Thick client Presentation + Business Logic Data Client – server (2 tier)

Enterprise software architecture evolution Thin client Presentatio n Data 3 tier Business Logic

Enterprise software architecture evolution PresentationData Clustered Business Logic

Data Enterprise software architecture evolution Presentation Data Clustered + partitioned (data) Business Logic

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

Enterprise software architecture evolution Grid computing – distributed supercomputing

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!

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

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

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)

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)

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)

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?

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 , storage, database,...) Authentication/authorization and other security tasks Internal load balancing (as the infrastructure scales up/down)

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.

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

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

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

Support services Amazon Web Services (Categories only) Content delivery Deployment and management E-commerce Messaging Monitoring Networking

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

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

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!

Thank you