Post on 05-May-2018
Microservices + DevOps + Oracle Cloud = A Bright Future
Sai Janakiram PenumuruChief Technologist & Oracle ACE Director
Introduction
Sai Janakiram Penumuruo Fourteen years of experience - Oracle DBA / Oracle Apps DBA / Cloud Technologieso Chief Technologist – Apps Transformations EMEA - HPE o Co-Fonder, Vice President - All India Oracle Users Group (AIOUG)o Oracle ACE Director & Member of TOSCAo Oracle VM SIG Leader www.oraclevmsig.orgo Blog: www.oadba.com; www.oracle12c.infoo Contacts – ps.janakiram@gmail.com ; twitter - @sai_penumuru
AgendaFor 45 Minutes
– Microservices
– Introduction
– Demo
– DevOps
– Introduction
– Why is the Now the time for DevOps?
– How to change your Culture?
– How to change your Technology?
– Demo
– Oracle Cloud
– Introduction
– Using Oracle Developer Cloud Service , Enterprise Manager, Oracle PaaS, IaaS, Oracle Cloud Machine for DevOps
– Oracle Database Cloud Services - Demo
MicroservicesIntroduction
Yet another new term on the crowded streets of software architecture
In short, the Microservices architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight
mechanisms, often an HTTP resource API. These services are built around business capabilities and independently
deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and
use different data storage technologies.
Microservices
5Source http://martinfowler.com/
ComparisonMonoliths and Microservices
6
approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms
What are Microservices?
7
Monolithic Applications
• Single, Monolithic App• Must Deploy Entire App• One Database for Entire App• Organized around Technology Layers• State in each Runtime Instance• One Technology Stack for Entire App• In-process calls locally, SOAP Externally
Microservices
• Many, smaller minimal function Microservices• Can deploy Each Microservices independently• Each Microservices often has its own Data store• Organized around Business capabilities• State is Externalized• Choice of Technology for each Microservices• REST Calls over HTTP, Messaging, or Binary
Same Concept, Different DecadeMicroservices are Analogous to Unix Utilities
8
Microservices Apps Are Developed/Deployed Independently
9
Top 5 Signs It’s Time to look at Microservices
10
1. 100+ Developers for an app2. 5m lines of code for an app3. Monthly or Quarterly releases to production4. >1 quarter backlog of development work5. >20% developer turnover
Low Latency/High Bandwidth CommunicationSmall Teams = Much Better Communication
11
Microservices is not a just rebranded SOAMicroservices Principles are Old; Implementation is New
12
• Teams independently architect, develop, deploy and maintain each Microservices.• Each Microservices often has its own data store, which may not always be 100% up to date• Microservices is fully decentralized – no single database, no top down anything• Microservices favors simple transports – XML or JSON over HTTP/S.• Any given instance of a Microservices is stateless – State, config and data pushed externally• Microservices support polyglot – each Microservices team is free to pick the best technology• DevOps principles – automated setup and developers owning production support• Use of containers, which allow for simple app packing and fast startup time• Use of cloud, for elastic infrastructure, platform and software services
Conway's Law
13
Conway's Law in action
14
Service boundaries reinforced by team boundaries
15
Any piece of software reflects the organizational structure that produced itConway’s Law in Action
16
Build Small Vertical TeamsSuccessful Teams Structure their teams around products
17
MicroservicesDemo
RequiredCharacteristics
DeclaredCharacteristics
DeclaredCharacteristics
MICROSERVICE DESIGNS
RequiredCharacteristics
PLATFORM DESIGNS
Abstracted Application Topology
Potential Matches (at Deploy Time, based on the Application Lifecycle)
APP
PLATFORM
APP+ PLATFORM
Combined Topology
(dynamically built at Runtime)
Extended Topology Composition
TOSCA
DevOpsIntroduction
DevOps seeks to solve thisFamiliar?
21
Code is written… it’s your problem nowDev and Ops Constantly Argue
22
Business + Dev + Ops + Test
TestDev
Shift in priorities is demanding DevOps
23
Wat
erfa
llA
gile
Dev
Op
s
Dev Test OpsBusinessRequiremen
ts
Design, Build and Unit Test
Quality Assurance
Staging and Production
Business
Design, Build and Unit Test
Quality Assurance
0 1 2 3 4 5 6 7 Iterations
OpsStaging and Production
One product team!- Shared objectives, Shared customer-oriented goals, Shared accountability
24
Cultural movement enabled by technologyDevOps Principles
25
Principles have been around for decadesCharacteristics of DevOps Movement
26
Culture is what’s behind DevOps; Technology is the enablerDevOps = Culture + Technology Movement
27
DevOps Tenet #1: Culture
28
DevOps Tenet #2: Technology
29
DevOpsWhy is the Now the time for DevOps?
Business Value is Driving DevOps
31
Commonly overheard in officesOld Culture and Expectations Don’t Work !
32
Why Do DevOps?
– enabling faster feature time to market
– increased customer satisfaction & market share
– employee productivity and happiness
– organizations to win in the marketplace
33
In contrast, organizations that require weeks or months to deploy software are at a significant disadvantage in the marketplace.
PaaS/IaaS Now Allows Resources to be Easily Provisioned
34
DevOpsHow to change your Culture?
How to Build a Successful DevOps Culture
36
DevOpsHow to change your Technology?
How to Use a Technology to enable DevOps
38
Manage it as you would any other source codeInfrastructure as Code
39
Surprisingly not well adoptedShared Version Control
40
Set it and forget itOne Step Build/Deploy
41
Automated Testing using Robot
42
Core Tools required
43
DevOpsDemo
Oracle CloudIntroduction
Initial setup is time consuming and expensiveWhat does it Take to start New Project?
46
Oracle can help you Lead change in your Organization
47
Oracle Products support DevOps
48
Using Oracle Developer Cloud Service for DevOps
49
Oracle Developer Cloud Service – What’s In It
50
Project Management
51
• Team members• Activity stream• Usage tracking• Repositories• Custom attributes
Requirements/Issue Tracking
52
• Create Requirements/Bugs/ERs • Assign to team members and sprints • Custom attributes
Agile Process Management
53
• Create dashboard • Manage issues backlog • Manage development sprints • View team/tasks status • Reports
Source Code Management
54
• Git repositories• Branch, tag, merge• Web interface• View changes online• Accessible from any Git client• External repositories integration
(for example GitHub)• Snippets – for reusable code
Code Reviews
55
• Request code review• Invite team members• Comment on Code• Accept / Reject / Iterate Reviews• Merge Code• Merge Conflict Resolution
Project Builds
56
•Maven•Ant•Gradle•Node.JS – npm, grunt, bower, gulp•Dashboard•Logs and Audit
Deployment Automation
57
•Create deployment configurations•Start/Stop a deployment•Redeploy/Un-deploy applications•In the cloud or on-premise deployment
Continuous Integration
58
•Hudson•Automate–Triggers–Schedule•Dashboard
Wikis
59
• Share information• Attachment support• Wiki markup of choice
Iterative Planning, Development and ReleaseMerger of disciplines
60
High Level flow
61
Wrap UpSummary
Its probably best to stick with monolithsRemember: Microservices are not a silver bullet
63
Q & A