best practices in porting & developing enterprise applications to the cloud using dynamic...

36
Best Practices in Porting and Developing Enterprise Applications to the Cloud using Dynamic Languages May 12,2010 May 12

Upload: activestate

Post on 19-May-2015

2.525 views

Category:

Technology


0 download

DESCRIPTION

With businesses demanding fast development of applications, IT groups need to answer with rapid development and deployment that drives businesses forward. So with lower upfront costs, ease of deployment and advantages in scalability, cloud computing is enabling IT groups to meet these demands. But while considering cloud services, IT directors must consider factors such as application portability, security, avoiding vendor-lock in, risk management and regulatory compliance. Whether you're migrating to a public, private, or hybrid cloud, this webinar will help IT groups understand best practices in porting and developing enterprise applications to the cloud. Join Stephen O’Grady, Principal Analyst with RedMonk and Jeff Hobbs, Director of Engineering at ActiveState, to learn how to: * Use a standards-based approach to minimize costs and reduce risks * Leverage dynamic languages such as Python for rapid development * Create portable and consistent web applications to the cloud * Understand enterprise solutions to create standards and ensure indemnification * Create a business case and plan for standards with a dynamic languages approach

TRANSCRIPT

Page 1: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Best Practices in Porting and Developing Enterprise Applications to the Cloud using Dynamic Languages

May 12,2010May 12

Page 2: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Agenda

• The Cloud world

• Understanding your choices

• Using Python and dynamic languages in the Cloud

• ActivePython and the Cloud

• Enterprise solutions for deploying portable apps in the Cloud

Page 3: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages
Page 4: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

What is the Cloud?

Page 5: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

The Landscape

• IaaS - Amazon EC2, S3, etc.

• PaaS - Force.com, Microsoft Azure, IPP, Heroku

• SaaS: SalesForce, Zoho, Google Apps, Paglo (Citrix), Service-now.com

Page 6: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

The Burger Model: a Mapping

•IaaS: Servers & Storage

•PaaS: Middleware

•SaaS: Applications

Page 7: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages
Page 8: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Why Cloud?

Page 9: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

ElasticPay As You Go Multi-tenancy

Page 10: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Cap-Ex Op-Ex

An Opportunity

Page 11: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Cloud Traditional

Accessibility Minutes Days

Capex Pay As You Go Fixed, Upfront Cost

Economies of Scale Yes No

Geography Distributed Local/Offsite

Multi-tenant Yes No

Scalability Elastic Manual

Virtualized Yes Both

Page 12: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Economies of ScalePay As You Go Time to Market

Tools, Languages and Runtimes

Page 13: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages
Page 14: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

What's the catch?

Page 15: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages
Page 16: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

How can I avoid lock-in?

Page 17: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Understand your choices

Page 18: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

CO

NTR

OL O

F E

NV

IRO

NM

EN

T

EFFORT TO SCALE

IaaS

PaaS

SaaS

Page 19: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Proprietary Openor

Page 20: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Example: Proprietary Language or Python

Page 21: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages
Page 22: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

“In addition, we are proposing to require, along with the prospectus filing, the filing of a computer program of the contractual cash flow provisions expressed as downloadable source code in Python, a commonly used open source interpretive programming language.”

- SEC

Source: SECURITIES AND EXCHANGE COMMISSION

17 CFR Parts 200, 229, 230, 232, 239, 240, 243 and 249

Release Nos. 33-9117; 34-61858; File No. S7-08-10

RIN 3235-AK37

Page 23: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Why Python?

Page 24: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Application PortabilityDevelopment SpeedLanguage VersatilityResource Availability

Tool and Environment Choice

Page 25: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

What should I be asking about?

Page 26: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Application LatencyCompliance and Security

Data LoadFreedom to Leave

Service Levels/Availability

Page 27: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages
Page 28: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Drivers & Trends For Dynamic Languages in the Cloud

Faster time to market

Lower development & maintenance costs

Pressure to increase development staff

productivity

Increased use in mainstream IT

Uptime of criticalapplications

Development

Paradigm shift, dynamic language adoption in the enterprise

Compliance with corporate policy for commercial support

of open source

Legal risk mitigation

Intellectual property security

IT investment protection

Enterprise

Page 29: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

ActivePython: ProvidingDynamic Language Support for Cloud

Cloud OS support– Linux(es), Windows

Web frameworks – Django, Pylons, web2Py

Data Stores – OSS DB– Proprietary– Cloud DBs

Page 30: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Benefits of using ActivePython for Cloud Apps Speed Access to web

frameworks Security Scalability Compliance Quality-Assurance SLAs

OraclePostgres

Web

NoSql

SciPy

MySql

NumPy

Libxml SSL

ActivePython and PyPM

Django

Page 31: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

ActivePython in your Cloud Application

Cloud Application

OS Libraries

WebDatabases

XML

ActivePython and PyPM

Django

Page 32: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Success through Abstraction

Data Connectors

ActivePython and PyPM

OS Platform

WindowsLinux

Linux Cloud OS Distributions

Ubuntu RedHat

Gentoo

Fedora

openSUSE

NoSQL(Cassandra)

MySQL Enterprise

Oracle 11g

PostgreSQL

SQLServer

BigData (Hadoop)

Page 33: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

ActiveState Solutions

Page 34: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Customers & PartnersSoftware & Hardware

Finance

Aerospace & Defense

Page 35: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Founded 1997 2 million developers 97% of Fortune 1000 Core Languages: Perl, Python,Tcl Secondary Languages: PHP, Ruby,

Javascript

About ActiveState

Page 36: Best Practices in Porting & Developing Enterprise Applications to the Cloud using Dynamic Languages

Thank You! Contact Us:

Steve O’[email protected]

Twitter: @sogradywww.redmonk.com

Jeff [email protected]

[email protected]: @activestate

1-866-510-2914www.activestate.com