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
• 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
• Cloud Computing Overview
• Key Concepts
• Benefits of Cloud Computing
• Architecture Foundation
• Best Practices
• Oracle Cloud Offerings
• Reference Architectures
• Q & A
Agenda
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
What is Cloud Computing?
Overview of Cloud Computing
As per Wikipedia:
“Cloud computing allows
application software to be operated
using internet-enabled devices”
What is Cloud Computing?
Cloud Service Models
Cloud Deployment Models
Concepts in Cloud Computing
Core concepts in Cloud Computing
• Power to scale
• Key Concept in Cloud Computing
• Solves Traditional Problems
• Scale-up (Vertical)
• Scale-out (Horizontal)
Elasticity
Benefits of Cloud Computing?
Benefits of Cloud Computing
• Low up-front Investment
• In time Infrastructure
• Efficient Resource utilization
• Usage based Cost
• Reduce time to market
Business Benefits of Cloud
• Automation
• Auto-scaling
• Proactive scaling
• Efficient development lifecycle
• DR and Business Continuity
Technical Benefits of Cloud
Architecture Foundation
What is the Foundation of Cloud Architecture?
Traditional Architecture
Database
Business Logic
Presentation
Monolithic Architecture
Monolithic Architecture
Stateful
Single
Logical
Executable
Single
Deployable
Entity
Scaled by
Replication
Monolithic Architecture
Microservices Architecture
Microservices Architecture
Stateless
Loose
Coupled
Focus on
Business
Capabilities
Scaled by
Component
Microservices Architecture
Persistence Service 2Persistence Service 1
API Gateway
Service 1 Service 2 Service 3 Service 4 Service 5
Presentation
Microservices Architecture
• Technology Independence
• Easier Development
• Failure doesn’t cascade
• Component based Scalability
• Optimized for Replaceability
Benefits of Microservices Architecture
Microservices vs Monolithic
Read more at http://martinfowler.com/articles/microservices.html
Photo http://martinfowler.com/articles/microservices/images/sketch.png
Best Practices
Exploring Best Practices for Architecting Cloud
Computing
• Cloud provides abstract resources
• They become Powerful when combined
• Launch on demand
Understand the Constraints
• 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
• More loosely coupled components
• Create asynchronous components
• Isolate web, app and database servers
• Design components as Service Interfaces
Decouple your components
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
• 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
• 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
• 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
• Acts as a “front door” to Services
• Access data, business logic
• Control Authorized Security
• Monitor API Activity
• Version management
Use API Gateway
• 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
• 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
• 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
Oracle’s Offering
What Services are available?
Oracle Applications - SaaS
SaaS
CE
HCM
ERP
SCM
EPM
Analytics
Industry
Social
Oracle Platform - PaaS
•Database / Backup / Big Data / NoSQL / Big Data
Database
•Java / Mobile / Messaging / App Container / API /
Application Builder / DeveloperDevelopment
•Documents / Process / Sites / Social Network
Content
•BI / Big Data Discovery / Data Visualization / IoT
Business Analytics
•Integration / SOA / GoldenGate / IoT
Integration
•Logs / Analytics / Application Performance Monitoring
Management
Oracle Infrastructure - IaaS
Oracle IaaS Services
Compute
Storage
Cloud
Machines
Network
Reference Architectures
Reference Architectures used in Cloud
Computing
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
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
• Cloud Service Models
• Cloud Architecture Foundation
• Best Practices
• Oracle Cloud Offerings
• Reference Architecture
Summary
Please complete the session evaluation
We appreciate your feedback and insight
You many complete the session evaluation via the mobile app
Q & A
• Email: zbaig@astcorporation.com
• Twitter: @IamZeeshanBaig
• Blog: www.baigzeeshan.com
• LinkedIn: https://www.linkedin.com/in/baigzeeshan
• Visit AST Corporation Booth 1301

Architecting for the Cloud: Best Practices

  • 1.
    Session ID: Prepared by: ArchitectingFor 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+ Yearsin 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 ComputingOverview • Key Concepts • Benefits of Cloud Computing • Architecture Foundation • Best Practices • Oracle Cloud Offerings • Reference Architectures • Q & A Agenda
  • 4.
    Our Brands OurServices 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
  • 5.
    What is CloudComputing? Overview of Cloud Computing
  • 6.
    As per Wikipedia: “Cloudcomputing allows application software to be operated using internet-enabled devices” What is Cloud Computing?
  • 7.
  • 8.
  • 9.
    Concepts in CloudComputing Core concepts in Cloud Computing
  • 10.
    • Power toscale • Key Concept in Cloud Computing • Solves Traditional Problems • Scale-up (Vertical) • Scale-out (Horizontal) Elasticity
  • 11.
    Benefits of CloudComputing? Benefits of Cloud Computing
  • 12.
    • Low up-frontInvestment • 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
  • 14.
    Architecture Foundation What isthe Foundation of Cloud Architecture?
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    Microservices Architecture Persistence Service2Persistence Service 1 API Gateway Service 1 Service 2 Service 3 Service 4 Service 5 Presentation
  • 20.
  • 21.
    • Technology Independence •Easier Development • Failure doesn’t cascade • Component based Scalability • Optimized for Replaceability Benefits of Microservices Architecture
  • 22.
    Microservices vs Monolithic Readmore at http://martinfowler.com/articles/microservices.html Photo http://martinfowler.com/articles/microservices/images/sketch.png
  • 23.
    Best Practices Exploring BestPractices for Architecting Cloud Computing
  • 24.
    • Cloud providesabstract resources • They become Powerful when combined • Launch on demand Understand the Constraints
  • 25.
    • Remove SinglePoint 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 looselycoupled components • Create asynchronous components • Isolate web, app and database servers • Design components as Service Interfaces Decouple your components
  • 27.
    Decouple your components ControllerA 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 Smallmeans 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 automateddeployment • 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 asa “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 dynamicdata 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
  • 35.
  • 36.
    Oracle Applications -SaaS SaaS CE HCM ERP SCM EPM Analytics Industry Social
  • 37.
    Oracle Platform -PaaS •Database / Backup / Big Data / NoSQL / Big Data Database •Java / Mobile / Messaging / App Container / API / Application Builder / DeveloperDevelopment •Documents / Process / Sites / Social Network Content •BI / Big Data Discovery / Data Visualization / IoT Business Analytics •Integration / SOA / GoldenGate / IoT Integration •Logs / Analytics / Application Performance Monitoring Management
  • 38.
    Oracle Infrastructure -IaaS Oracle IaaS Services Compute Storage Cloud Machines Network
  • 39.
  • 40.
    Traditional – WebApp 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 – WebApp 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 ServiceModels • Cloud Architecture Foundation • Best Practices • Oracle Cloud Offerings • Reference Architecture Summary
  • 43.
    Please complete thesession evaluation We appreciate your feedback and insight You many complete the session evaluation via the mobile app
  • 45.
    Q & A •Email: zbaig@astcorporation.com • Twitter: @IamZeeshanBaig • Blog: www.baigzeeshan.com • LinkedIn: https://www.linkedin.com/in/baigzeeshan • Visit AST Corporation Booth 1301