Presented at IOUG Collaborate 2016 in Las Vegas
Date: 11/04/2016
For many years software architects have discovered and implemented several concepts and best practices to build highly scalable applications. In today's era of the cloud, these concepts are even more applicable and critical. The cloud solutions faces many challenges due to growing data, unpredictable traffic patterns and demand for faster response time. In this session we will discuss best practices to architect for the cloud, how it is different from traditional design and introduce some new concepts in cloud computing.
visit www.baigzeeshan.com for more technical topics
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Architecting for the Cloud: Best Practices
1. Session ID:
Prepared by:
Architecting For the Cloud:
Best Practices
Best Practices to Architect for the Cloud
New Concepts in Cloud Computing
How it is Different from Traditional Approach
1380
@ IamZeeshanBaig
Date: April 11, 2016
Zeeshan Baig
2. • 16+ Years in IT
• Solutions Architect at AST
• Oracle ACE since 2011
• Oracle Certified Professional
• Cloud Enthusiast
• Blog www.baigzeeshan.com
• Twitter @IamZeeshanBaig
• LinkedIn: https://www.linkedin.com/in/baigzeeshan
Introduction
3. • Cloud Computing Overview
• Key Concepts
• Benefits of Cloud Computing
• Architecture Foundation
• Best Practices
• Oracle Cloud Offerings
• Reference Architectures
• Q & A
Agenda
4. Our Brands Our Services Oracle Specialized
Enterprise Resource Planning
Business Intelligence
EPM-Hyperion
Middleware
CRM/CX
MDM-EDQ
Configure/Price/Quote
Managed Services
Education / Oracle University
Project Advisory Services
EBS Financial Management
EBS Human Capital Management
EBS Supply Chain Management
Database
BI Applications
BI Foundation Suite
Hyperion Planning & Financial Management
Essbase
Oracle Data Integration
Application Development Framework
Service Oriented Architecture
WebCenter Content
Access Management Suite Plus
Identity Governance Suite
WebLogic Server
2015, 2013, 2011, 2009
Oracle Excellence
Award Winner
2015, 2014
Chicago Tribune Top 100 Workplaces
Award Winner
2014, 2013, 2012
Inc. 5000 Fastest Growing Companies Award
Winner
2014, 2012
Best & Brightest Companies to Work For Award
Winner
Specialized. Recognized. Preferred.
4
Booth
1301
12. • Low up-front Investment
• In time Infrastructure
• Efficient Resource utilization
• Usage based Cost
• Reduce time to market
Business Benefits of Cloud
13. • Automation
• Auto-scaling
• Proactive scaling
• Efficient development lifecycle
• DR and Business Continuity
Technical Benefits of Cloud
21. • Technology Independence
• Easier Development
• Failure doesn’t cascade
• Component based Scalability
• Optimized for Replaceability
Benefits of Microservices Architecture
22. Microservices vs Monolithic
Read more at http://martinfowler.com/articles/microservices.html
Photo http://martinfowler.com/articles/microservices/images/sketch.png
24. • Cloud provides abstract resources
• They become Powerful when combined
• Launch on demand
Understand the Constraints
25. • Remove Single Point of Failure
• Design for automated recovery
• Graceful Failure, Use Services not Servers
• Consistent backup & recovery strategy
• Don’t Fix, start a new Instance
• Avoid Stateful sessions
Design for Failure
26. • More loosely coupled components
• Create asynchronous components
• Isolate web, app and database servers
• Design components as Service Interfaces
Decouple your components
27. Decouple your components
Controller A Controller B Controller C
Call a Method
in B from A
Call a Method
in C from B
Tightly coupled Approach
Controller A Controller B Controller C
Queue
A
Queue
B
Queue
C
Loosely coupled Approach
28. • Periodic Scaling (Daily, Weekly, Annually)
• Proactive Event based Scaling
• New Product launched?
• Marketing Campaign?
• Auto Scaling on Demand
• Based on Traffic
• Network I/O
Implement Elasticity
29. • Create Small means very Small Services
• Find Independent Components
• Separate Operations and Data
• Define Owner of Each Service
• Small Teams better Communication
• Avoid Long Deployment Cycles
Avoid the Monoliths
30. • Create automated deployment
• Clearly Define Instance role
• Create small recipes for install & configurations
• Use Management tools like Chef, Puppet, Docker
• Zero Human-induced deployments
Automate the Infrastructure
31. • Acts as a “front door” to Services
• Access data, business logic
• Control Authorized Security
• Monitor API Activity
• Version management
Use API Gateway
32. • Elasticity + Parallelization = WIN
• Multi-Thread requests for fast response
• Traditional Architecture
• 1 Machine x 500 Jobs = 500 hours to Process
• With Cloud Architecture
500 Instances x 500 Jobs
=
1 hour to Process
Think Parallel
33. • Keep dynamic data closer to computing resources
• Keep static data closer to Users
• Use Import / Export Services for large data transfer
• Use CDN (Content Delivery Network) to cache static
data such as images, videos, audio, PDFs
Data Management
34. • Configure SSL
• Create Virtual Private Cloud (Amazon VPC)
• Secure your Instances and applications
• Encrypt Files before upload (if required)
• Protect Admin Credentials
• Use IDM permissions
Security Practices
40. Traditional – Web App Architecture
DB
F
I
R
E
W
A
L
L
L
B
R
I
n
t
e
r
n
e
t
Web
Server
1
Web
Server
2
F
I
R
E
W
A
L
L
App
Server
1
App
Server
2
F
I
R
E
W
A
L
L
41. Cloud – Web App Architecture
DNS
User CDN
Static Data Storage
ELB ELB
DBS
DBS
(Copy)
Web Server 2
Web Server 1
Application
Server 1
Application
Server 2
Auto scaling Group Auto scaling Group
Region A
Region B
Messaging
Messaging
42. • Cloud Service Models
• Cloud Architecture Foundation
• Best Practices
• Oracle Cloud Offerings
• Reference Architecture
Summary
43. Please complete the session evaluation
We appreciate your feedback and insight
You many complete the session evaluation via the mobile app