Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Cloud connect - Delivering Enterprise Scale Applications on Cloud
1. MAY 24 - 25, 2012 | NIMHANS CONVENTION CENTRE, BENGALURU
Delivering Enterprise Scale
Applications on Cloud
Aravind Ajad Yarra
Lead Architect & Practice Lead,
Architecture Services for Emerging
Technologies,
Wipro Technologies
1
2. Outline of My Talk
What are Enterprise Applications?
Enterprise
Applications What makes them stand apart?
on Cloud
What is missing in Cloud discussions?
Delivering Architecture Qualities
Enterprise Scale
Applications on
Cloud Key Concerns Integration Challenges
Variety of Enterprise Workloads
Addressing Approach to address the Concerns
the Concerns
3
3. Enterprise Applications & Cloud
Business Critical
• Accounting
• Order Management
• ERP
• Online Commerce
• HCM
• Trading Systems
• CRM
Differentiating Commoditized
• Group workflows • Pay roll processing
• Knowledge Supports Business • Invoice Processing
Management • Document Services
4
4. What makes Enterprise Applications Special?
• Highly Demanding Quality Complex Portfolio
of Service of Applications
• Regulatory Requirements
• Heavy-lifting done in
Infrastructure
• Walls between Enterprise
Apps
Development &
Operations Teams
• Volume of Business Logic Lots of Legacy
Demanding Application Application Applications Application Application
Enterprise Class
Applications
& Rules QoS Middleware Middleware
Software
Platform
Middleware Middleware Highly Reliable Software
Infrastructure
• Lots of Legacy
OS OS OS OS
Virtualization
Hypervisor
Infrastructure
Storage Compute
Network
Highly Reliable Physical
• Continuity & Repeatability
Hardware
Heavy-lifting in
• Risk Aversion Infrastructure
5
5. What is missing in Cloud Discussions?
General Discussions on Cloud Adoption Is Missing The
Focus on Enterprise Applications
• No Discussion on
Applications and
Workloads
Open
• Very little discussion on Stack
Non-Functional
Qualities
• Re-branding
Virtualization as Cloud
6
6. Key Concerns of Enterprise Applications
Rethinking Enterprise Applications for Cloud
7
8. Scalability
How it is done traditionally?
• Vertical Scaling : Better CPUs, more
memory and Bigger Boxes
• Heavy-lifting in Software Infrastructure:
Replication, Clustering
How it can be done in Cloud?
• Horizontal Scaling : Many VMs with limited
resources
• Smart Design of Applications:
Stateless – Choose the right layer to manage state
Distribute Components & Partitioning – Intelligent
routing
Message Queues
9
9. Performance
How it is done traditionally?
• High performance hardware:
• Best in class Processors
• High performance & Low Latency Interconnects
• Control: Precise Control on
• Application Deployment
• Connectivity
How it can be done in Cloud?
• Cache: Reduce I/O by pre-fetching and locating the
data close to process
• Location Proximity: Host the application closer to the
end user. Choose the right location for cloud server
• Optimize Layers: Don’t physically separate layers, be
flexible on deployment.
• Parallelization
10
10. Resiliency
How it is done traditionally?
• Avoid Failures:
Reliable Hardware
Redundant resources (avoid SPOF)
• Circuit Breakers:
Don’t load beyond what it was tested for
How it can be done in Cloud?
• Graceful Recovery:
Discover Roles, Discover Environment
• Log Analysis:
Use logs effectively
Proactively identify failures
• Auto scale, detect & route
Multi-cloud service provider deployment
11
11. Security
How it is done traditionally?
• Don’t host applications outside the network
Host in internal data centers
• Layers of protection
Multiple layers of firewall devices
Network partitions
How it can be done in Cloud?
• Defensive Development
Write defensive software, Strong Access Control and
Authentication
• Encrypt Data on the wire & at rest
Secure key management, virtual private networks
• Compliance & Governance
Hardened Images, Pinning to Location
Logging, Auditing & monitoring
12
13. Integration in Enterprises
• Primitive Integration Methods
• Direct Db integration, file based
integration etc.,
• Ad-hoc Integration
• Lot of Legacy
• Message based integration
• Proprietary Integration Methods
• Security
• Very little regard to Interface
Security
• Perception of Security by Network
Isolation
• Diversified Stacks for Integration
• Data Integration
• Application Integration
• Message based Integration
Applications in Cloud make the Enterprise Integration
Landscape very Complex
14
14. Cloud Application Integration
• Service Orientation
• Design for consumption not for
UI
• Secure Service Design
• Secure Authentication &
Access
• Trust based Security
Authentication
• Integration close to
Applications
• Lightweight Integration Stacks
embedded into Application
• Unified Integration Methods
• Loose Coupling
• Offline Application Experience
• Multiple paths for Integration
• Cloud Integration Brokers
• Evolving space
15
16. Batch Applications
• Best Suited for Cloud Deployment
– Shrinking Batch Windows
– Under Utilization of Infrastructure
– Unable to handle peaks
• Limitations in Cloud
– Runs Close to the Data Stores
– Data Integration Mechanisms Don’t Scale
• Plan for Data Transfer Efficiency
• Use Parallel Data Transfers
• Compressed Data Transfers
• Transfer only Summarized Data
• Optimize the Time Window
• Parallelize Workload
• Incremental Uploads
• Pre-upload
• Use Cloud Direct Connectivity
17
17. Analytics Applications
• Proprietary Applications
• Use of Proprietary Appliances
• Use of Closed Commercial
Applications
• Large scale Data warehouses
• High volumes of Data
• Virtual Appliances
• Adoption of Virtual Analytical
Appliances
• Leverage Cloud Scalability
• Analytics that suit Cloud
• Real time Analytics – Capture
events for analytics
• Big Data Analytics – Use
Hadoop on Cloud
18
18. Manageability
• Manageability in Mind
• Monitoring Hooks
• Well designed logging strategy
• Strong Monitoring & Management Infrastructure
• Automation
• Distributed Monitoring
• Monitoring across Layers
• Proactive Analysis
• Integrated View
• View of the Applications, Services and VMs
• Dashboards
• Integrated Operations Center
• Competency
• Centre of Excellence
• Establish best practices, guidelines and references
19
19. Key Takeaways
• Move beyond the talk on Cloud
• Don’t be risk averse, design for handling the risk
• Most Enterprise Applications are suited to run on Cloud
• Adoption Strategy – Application Refactoring
• Design Applications with Cloud in Mind
• Move beyond traditional methods to meet Quality needs
• Design for failure, design for unreliability, design for security
• Gear up for cloud
• Competency
• Best Practices
20
21. Thank You
@aravindajad
Aravind Ajad Yarra
http://www.techspot.co.in/
22
Notes de l'éditeur
Topic title &My intro
My talk today is to how do we look at delivering enterprise scale applications on cloud – specifically public clouds
There are many varieties of applications - Two axisAxis 1 – Critical to businessAxis 2 – Differentiation in CompetitivenessNames for QudrantsLower Y axis - rename
Here is where you talk about Enterprise Applications & Customer’s reluctance to move to Cloud.There is lot of discussion on migrating applications on Cloud, but when it comes to Enterprises we see very little action except some amount of proof of concepts, trials etc.,The reasons for dong so…Fear of Unknown – Risk averseness
Mainframe -> Midrange -> Distributed Apps -> Client Server -> Web -> CloudIn order to build applications with such high QoS, building for non-functional requirements needs a focus. These are often called “Quality Attributes”. The following are some of the common Quality Attributes used in measuring the QoS of enterprise applications. Failure ResiliencyCommodity hardware and software infrastructure such as that is used by public clouds has more probability to fail. SecurityAvailable in a public internet, running on shared multi-tenant infrastructure, poses serious security challenges. ScalabilityGiven cloud instance capabilities are limited, building applications to scale is fundamental. PerformanceWith virtualization and network latency, performance is a key concern when designing applications on Cloud. Resource Locality“Locality” is the most distinguishing nature of public clouds. Use of virtualization and the dynamic provisioning makes it very difficult to locate and access resources.ManageabilityManaging Applications in terms of Deployment and Support is a challenge. Traditional Operations and Monitoring tools badly fail here.
-- Data partitioning patterns:
Cloud BI was a domain of startups focusing web analytics and social analytics.Changing for enterprise adoptionLook for Real use cases