Top Banner
Cloud Computing Python Based Scalable Cloud Application Development (GAE/ Amazon EC2/ Windows Azure) By Chathuranga Bandara Software Engineer 99X Technology 1 Thursday, May 23, 13
43

Introduction to Cloud Computing

Dec 06, 2014

Download

Technology

chathurangaB

Introduction to Cloud Computing, Amazon EC2, Windows Azure and Google App Engine
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Cloud Computing

Cloud ComputingPython Based Scalable Cloud Application Development (GAE/ Amazon EC2/ Windows Azure)

By Chathuranga BandaraSoftware Engineer99X Technology

1Thursday, May 23, 13

Page 2: Introduction to Cloud Computing

2Thursday, May 23, 13

Page 3: Introduction to Cloud Computing

Introduction to Cloud Computing

“ Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction“ - NIST

3Thursday, May 23, 13

Page 4: Introduction to Cloud Computing

> on-demand network

> shared pool of configurable computing resources

> rapidly provisioned and released with minimal management

4Thursday, May 23, 13

Page 5: Introduction to Cloud Computing

Myths & Facts

Myths

> Cloud Computing will eliminate the need for IT Infrastructure personnel

> Cloud Computing will eliminate IT expense

5Thursday, May 23, 13

Page 6: Introduction to Cloud Computing

Myths & Facts (cont..)

Facts

> This technology should not be ignored

> Cloud technology is real

> This presentation will assist you in understanding “The Cloud” :P

6Thursday, May 23, 13

Page 7: Introduction to Cloud Computing

Real Facts

> It is not Network Computing – > Application and Data are not confined to any specific

Company’s Server> Encompasses multiple companies, multiple servers and

multiple networks

> It is not Traditional Outsourcing> Not a contract to host data by 3rdparty Hosting Business

7Thursday, May 23, 13

Page 8: Introduction to Cloud Computing

Features?

> Scalability> Performance> Reliability> Uptime> Security> Maintenance > Service Based Model

8Thursday, May 23, 13

Page 9: Introduction to Cloud Computing

9Thursday, May 23, 13

Page 10: Introduction to Cloud Computing

10Thursday, May 23, 13

Page 11: Introduction to Cloud Computing

Three Types?

> IaaS – (Infrastructure as a Service) – the consumer uses "fundamental resources" such as processing power, storage, networking components or middleware. The consumer can control the operating system, storage, applications and possibly networking

> PaaS – (Platform as a Service) - the consumer uses a hosting environment for their applications and has control over the applications (and some control over the hosting environment), but does not control the infrastructure on which they are running

> SaaS – (Software as a Service) - the consumer uses an application, but does not control the infrastructure on which it's running (OS, hardware)

11Thursday, May 23, 13

Page 12: Introduction to Cloud Computing

Different Providers for each?

> IaaS –

> PaaS –

> SaaS -

12Thursday, May 23, 13

Page 13: Introduction to Cloud Computing

Other Type Definitions?

> Public Cloud: a public cloud consists of a service or set of services that are purchased by a business or organization and delivered via the Internet by a third-party provider. These services use storage capacity and processor power that is not owned by the business itself. Instead, this capacity (in the form of servers and datacenters) can be owned either by the primary vendor (e.g. an online storage/backup company) or by a cloud infrastructure vendor.

> Private Cloud: A private cloud is essentially an extension of an enterprise's traditional datacenter that is optimized to provide storage capacity and processor power for a variety of functions. “Private” refers more to the fact that this type of platform is a non-shared resource than to any security advantage

13Thursday, May 23, 13

Page 14: Introduction to Cloud Computing

Benefit Public PrivateIllusion of infinite resources on-demand Yes Unlikely

Elimination of up-front commitment by users Yes No

True pay-as-you-go on short-term basis Yes No

Economy of scale Yes No

Better utilization & simplified operations through virtualization

Yes Yes

14Thursday, May 23, 13

Page 15: Introduction to Cloud Computing

Private + Public = Hybrid

> A hybrid cloud is a composition of at least one private cloud and at least one public cloud. A hybrid cloud is typically offered in one of two ways: a vendor has a private cloud and forms a partnership with a public cloud provider, or a public cloud provider forms a partnership with a vendor that provides private cloud platforms.

Ex: For example, an organization might use a public cloud service, such as Amazon Simple Storage Service (Amazon S3) for archived data but continue to maintain in-house storage for operational customer data.

Ideally, the hybrid approach allows a business to take advantage of the scalability and cost-effectiveness that a public cloud computing environment offers without exposing mission-critical applications and data to third-party vulnerabilities.

15Thursday, May 23, 13

Page 16: Introduction to Cloud Computing

16Thursday, May 23, 13

Page 17: Introduction to Cloud Computing

When to Use Cloud Computing?

> On-demand

> Scalability

> Performance

> High multi tenancy

> Vendor Specific Features

17Thursday, May 23, 13

Page 18: Introduction to Cloud Computing

Examples

> Provide data management and analytical capabilities to public

> Provision on-demand IT infrastructure for new projects

> Provide agile high capacity computing

> Provide on-demand online productivity tools

> Provide secure and precertified software deployment platforms

18Thursday, May 23, 13

Page 19: Introduction to Cloud Computing

Things to keep in mind when Cloud Computing

> Always try to give all most all the client side doable stuff to be done in the client side

> Do your database design very well. Make sure to eliminate data redundancy

> Always use Open Standards (REST)

> Always keep up-to date and try to take advantage of technologies like NoSQL /MapReduce

> Think of Backup plans (Multi Region Instances, Regular Backups, Vendor specific backup solutions)

> Think Like an Engineer/ Software Architect or at least hire one!!

19Thursday, May 23, 13

Page 20: Introduction to Cloud Computing

Concerns in Cloud Computing

20Thursday, May 23, 13

Page 21: Introduction to Cloud Computing

Security, Security and Security!

> Why Security an Issue?> Shared Resources > Your data at their premises > Not everyone is ethical

> What we can do?> Read the cloud vendor’s Privacy Policy and Terms &

Conditions> Go for IaaS when ever its possible

There will be a Risk in Cloud Computing anyways.

21Thursday, May 23, 13

Page 22: Introduction to Cloud Computing

Windows Azure

PaaS

22Thursday, May 23, 13

Page 23: Introduction to Cloud Computing

23Thursday, May 23, 13

Page 24: Introduction to Cloud Computing

24Thursday, May 23, 13

Page 25: Introduction to Cloud Computing

Amazon Web Services

IaaS

25Thursday, May 23, 13

Page 26: Introduction to Cloud Computing

26Thursday, May 23, 13

Page 27: Introduction to Cloud Computing

Amazon EC2 Features

> Amazon Elastic Block store> Multiple Locations> Amazon Cloud Watch> Auto scaling> Elastic Load Balancing

27Thursday, May 23, 13

Page 28: Introduction to Cloud Computing

Amazon EC2 Usage

> Create Machine Image> Build application on top of the EC2 instance> Create multiple instances

28Thursday, May 23, 13

Page 29: Introduction to Cloud Computing

29Thursday, May 23, 13

Page 30: Introduction to Cloud Computing

Google Apps

SaaS

30Thursday, May 23, 13

Page 31: Introduction to Cloud Computing

31

31Thursday, May 23, 13

Page 32: Introduction to Cloud Computing

Different APIs available

> Application APIs> Calendar API, Gmail API, Drive API, Sites API, Spreadsheets

API

> Auth APIs> OpenID API

> Domain Admin APIs> Audit APIs> Email Settings API> Reporting API

32

32Thursday, May 23, 13

Page 33: Introduction to Cloud Computing

Google App Engine

PaaS

33Thursday, May 23, 13

Page 34: Introduction to Cloud Computing

34

34Thursday, May 23, 13

Page 35: Introduction to Cloud Computing

Development Google App Engine

> Write your web program in Python or VM based technologies including JAVA/ PHP and GO and submit to Google. It will take care of the rest (is that good or bad?)

How to use?

> Download App Engine SDK> Develop your program locally

> A set of python programs, input = requested url, output = return message

> Debug locally> Register for an application id> Submit your application to Google

35Thursday, May 23, 13

Page 36: Introduction to Cloud Computing

Datastore

> Based  on  BigTable,  distributed  column-­‐store• En$$es  and  mul$-­‐valued  proper$es  

• En$$es  have  unique key &  a  type  (kind)  

• Flexible  schema  

• Queries  by  GQL  

36

36Thursday, May 23, 13

Page 37: Introduction to Cloud Computing

AppScale

> Platform that allows users to host their own Google App Engine application in their own hot (ex: Amazon EC2)

> Supports Python, Java, Go (no PHP support yet)

> https://github.com/AppScale/appscale

37

37Thursday, May 23, 13

Page 38: Introduction to Cloud Computing

Demo – Python/ Google App Engine

Using Linux based machine (Windows is easier)

38Thursday, May 23, 13

Page 39: Introduction to Cloud Computing

Demo Agenda

> Part One - “Hello World” in GAE

> Part Two - Application development in GAE

39Thursday, May 23, 13

Page 40: Introduction to Cloud Computing

Which App you think Most Suitable for the Cloud?

> Engine where any List (integers/ strings) will be given by the client and the server (cloud application) will compute and send back the sorted List

> Guestbook which millions of people going to use and will grow, where it will keep the comments of each guest, either as Anonymous or Email Verified user

> Web based system which will display the list of Items/ Inventory to the client computer. This will only server one or two clients in the business.

40Thursday, May 23, 13

Page 41: Introduction to Cloud Computing

Lets do some coding..

41Thursday, May 23, 13

Page 42: Introduction to Cloud Computing

Q & A*

* Refer Google for any Question I fail to answer!

42Thursday, May 23, 13

Page 43: Introduction to Cloud Computing

www.99xtechnology.com

Thank You!

43Thursday, May 23, 13