Presented at RMOUG 2016 in Denver on 02/11/2016
Building applications with high availability and scalability has always been a challenge to enterprises. In addition to that, you need infrastructure to support it and money to maintain it. The cloud offers a solution to all these challenges, but understanding and adopting of this emerging technology intimidates many.
In this session, we will discuss how cloud can help you to achieve highly available and scalable applications and different design patterns, the benefits of applying those patterns, and how each piece can fit into the bigger picture of the cloud application architecture.
2. 2
16 Years of Experience 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
16
3. 3
Specialized. Recognized. Preferred.
3 Time Oracle Excellence
Award Winner
2014 Chicago Tribune
Top 100 Workplaces
2012, 2013, 2014 Inc. 5000
Fastest Growing Companies
2012 Best & Brightest
Companies to Work For
2011 Inc. Top Small
Company Workplaces
OUR SERVICES ORACLE PARTNERSHIP ORACLE SPECIALIZED
Enterprise Resource Planning
Business Intelligence
EPM-Hyperion
Middleware
CRM
Managed Services
Education / Oracle University
Project Advisory Services
Oracle Platinum Partner
Pillar Partner
• SOA
• Business Intelligence
• Hyperion
Oracle University Approved Education Center
Oracle University Reseller
Oracle Accelerator Implementer
Oracle Managed Cloud Services Implementer
Oracle Cloud Marketplace
Small Business Strategy Council
EBS Financial Management
EBS Human Capital Management
EBS Supply Chain Management
BI Applications
BI Foundation
Service Oriented Architecture
Public Sector
Utilities
Education & Research
Application Development
Framework 11g
WebCenter Content 11g
Access Management Suite Plus 11g
Hyperion Planning 11
Database 11g
Hyperion Financial Management 11
NTAC:1HS-16
4. 4
Cloud Computing Overview
Key Concepts
Benefits of Cloud Computing
Architecture Foundation
Best Practices
Reference Architectures
Q & A
Agenda
5. 5
What is Cloud Computing?
Exploring Overview of Cloud
Computing
6. 6
“Cloud computing allows application software
to be operated using internet-enabled
devices”
What is Cloud Computing?
7. 7
SaaS (Software as a Service)
PaaS (Platform as a Service)
IaaS (Infrastructure as a Service)
Cloud Service Models
8. 8
Concepts in Cloud Computing
Exploring some core concepts of Cloud
Computing
9. 9
Power to scale
Key Concept in Cloud Computing
Solves Traditional Problems
• Scale-up (Vertical)
• Scale-out (Horizontal)
Architect’s Job to Identify Components
Elasticity
11. 11
Low up-front Investment
In time Infrastructure
Efficient Resource utilization
Usage based Cost
Reduce time to market
Business Benefits of Cloud
12. 12
Automation
Auto-scaling
Proactive scaling
Efficient development lifecycle
DR and Business Continuity
Technical Benefits of Cloud
Benefits
15. 15
Stateful Services
Puts all element of functionality into single
Process
Single Deployable Entity
Monolithic Architecture
16. 16
Microservices are small, autonomous
services that work together
Puts each element of functionality into
separate service
Mostly Stateless services
Microservices Architecture
18. 18
Technology Independence
Failure doesn’t cascade
Component based Scalability
Ease of deployments
Optimized for Replaceability
Benefits of Microservices Architecture
19. 19
• Microservices
– Fine grained SOA
– Many small services
– Business logic is inside
domain
– Faster messaging
mechanism
• SOA
– Promotes reusability
– Fewer advance components
– Business logic could be across
domains
– Depends on ESB and
Middleware
Microservices vs SOA
21. 21
Cloud provides abstract resources
Powerful when combined
Launch on demand more Instances
On demand provisioning
is
Better Scalability + Performance
Understand the Constraints
22. 22
Design for automated recovery
Don’t Fix, Start a new Instance
Consistent backup & recovery strategy
Resume on reboot use message queues
Avoid Stateful session, use data-store
Design for Failure
23. 23
More loosely coupled components
Create asynchronous components
Isolate web, app and database servers
Design components as Service Interfaces
Decouple your components
25. 25
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
26. 26
Make your Service Simple
Hide Internal Implementation Detail
Find Independent Components
Separate Operations and Data
Avoid the Monoliths
27. 27
Create automated deployment
Clearly Define Instance role
Create small recipes for install & configs
Use Management tools like Chef, Puppet,
Docker
Zero Human-induced deployments
Automate the Infrastructure
28. 28
Acts as a “front door” to Services
Access data, business logic
Control Authorized Security
Monitor API Activity
Version management
Use API Gateway
29. 29
Cloud makes parallelization effortless
Elasticity + Parallelization = WIN
Multi-Thread requests for fast response
Traditional Architecture
• 1 Machine x 500 Jobs = 500 hours to Complete
With Cloud Architecture
• 500 Instances x 500 Jobs = 1 hour to Process
Think Parallel
30. 30
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
31. 31
Configure SSL
Create Virtual Private Cloud (Amazon VPC)
Secure your Instances and applications
Encrypt Files before upload (if required)
Protect Admin Credentials
Manage multiple users with IDM permissions
Security Practices
39. 39
Cloud Service Models
Cloud Architecture Foundation
Best Practices
Reference Architecture
Summary
40. 40
Amazon Web Services – Architect for the
Cloud Best Practices paper
Building Microservices - Book by Sam
Newman
https://cloud.oracle.com/home
https://aws.amazon.com/architecture
Learn more at…