Microservices + DevOps + Oracle Cloud = A Bright Future. Sai Janakiram Penumuru Chief Technologist & Oracle ACE Director
|
|
- Lee Dean
- 5 years ago
- Views:
Transcription
1 Microservices + DevOps + Oracle Cloud = A Bright Future Sai Janakiram Penumuru Chief Technologist & Oracle ACE Director
2 Introduction Sai Janakiram Penumuru o Fourteen years of experience - Oracle DBA / Oracle Apps DBA / Cloud Technologies o Chief Technologist Apps Transformations EMEA - HPE o Co-Fonder, Vice President - All India Oracle Users Group (AIOUG) o Oracle ACE Director & Member of TOSCA o Oracle VM SIG Leader o Blog: o Contacts ps.janakiram@gmail.com ; twitter
3 Agenda For 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
4 Microservices Introduction
5 Microservices 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. Source 5
6 Monoliths and Microservices Comparison 6
7 What are Microservices? approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms 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 7
8 Microservices are Analogous to Unix Utilities Same Concept, Different Decade 8
9 Microservices Apps Are Developed/Deployed Independently 9
10 Top 5 Signs It s Time to look at Microservices Developers for an app 2. 5m lines of code for an app 3. Monthly or Quarterly releases to production 4. >1 quarter backlog of development work 5. >20% developer turnover 10
11 Small Teams = Much Better Communication Low Latency/High Bandwidth Communication 11
12 Microservices Principles are Old; Implementation is New Microservices is not a just rebranded SOA 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 12
13 Conway's Law 13
14 Conway's Law in action 14
15 Service boundaries reinforced by team boundaries 15
16 Conway s Law in Action Any piece of software reflects the organizational structure that produced it 16
17 Successful Teams Structure their teams around products Build Small Vertical Teams 17
18 Microservices Demo
19 Extended Topology Composition APP Abstracted Application Topology Combined Topology (dynamicall y built at Runtime) Required Characteristics Required Characteristics APP+ PLATFORM TOSCA Potential Matches (at Deploy Time, based on the Application Lifecycle) PLATFORM DESIGNS MICROSERVICE DESIGNS Declared Characteristics Declared Characteristics PLATFORM
20 DevOps Introduction
21 Familiar? DevOps seeks to solve this 21
22 Dev and Ops Constantly Argue Code is written it s your problem now 22
23 DevOps Agile Waterfall Shift in priorities is demanding DevOps Business Requiremen ts Dev Test Ops Design, Build and Unit Test Quality Assurance Staging and Production Business Dev Test Design, Build and Unit Test Quality Assurance Iterations Ops Staging and Production Business + Dev + Ops + Test One product team! - Shared objectives, Shared customer-oriented goals, Shared accountability 23
24 24
25 DevOps Principles Cultural movement enabled by technology 25
26 Characteristics of DevOps Movement Principles have been around for decades 26
27 DevOps = Culture + Technology Movement Culture is what s behind DevOps; Technology is the enabler 27
28 DevOps Tenet #1: Culture 28
29 DevOps Tenet #2: Technology 29
30 DevOps Why is the Now the time for DevOps?
31 Business Value is Driving DevOps 31
32 Old Culture and Expectations Don t Work! Commonly overheard in offices 32
33 Why Do DevOps? enabling faster feature time to market increased customer satisfaction & market share employee productivity and happiness organizations to win in the marketplace In contrast, organizations that require weeks or months to deploy software are at a significant disadvantage in the marketplace. 33
34 PaaS/IaaS Now Allows Resources to be Easily Provisioned 34
35 DevOps How to change your Culture?
36 How to Build a Successful DevOps Culture 36
37 DevOps How to change your Technology?
38 How to Use a Technology to enable DevOps 38
39 Infrastructure as Code Manage it as you would any other source code 39
40 Shared Version Control Surprisingly not well adopted 40
41 One Step Build/Deploy Set it and forget it 41
42 Automated Testing using Robot 42
43 Core Tools required 43
44 DevOps Demo
45 Oracle Cloud Introduction
46 What does it Take to start New Project? Initial setup is time consuming and expensive 46
47 Oracle can help you Lead change in your Organization 47
48 Oracle Products support DevOps 48
49 Using Oracle Developer Cloud Service for DevOps 49
50 Oracle Developer Cloud Service What s In It 50
51 Project Management Team members Activity stream Usage tracking Repositories Custom attributes 51
52 Requirements/Issue Tracking Create Requirements/Bugs/ERs Assign to team members and sprints Custom attributes 52
53 Agile Process Management Create dashboard Manage issues backlog Manage development sprints View team/tasks status Reports 53
54 Source Code Management 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 54
55 Code Reviews Request code review Invite team members Comment on Code Accept / Reject / Iterate Reviews Merge Code Merge Conflict Resolution 55
56 Project Builds Maven Ant Gradle Node.JS npm, grunt, bower, gulp Dashboard Logs and Audit 56
57 Deployment Automation Create deployment configurations Start/Stop a deployment Redeploy/Un-deploy applications In the cloud or on-premise deployment 57
58 Continuous Integration Hudson Automate Triggers Schedule Dashboard 58
59 Wikis Share information Attachment support Wiki markup of choice 59
60 Merger of disciplines Iterative Planning, Development and Release 60
61 High Level flow 61
62 Wrap Up Summary
63 Remember: Microservices are not a silver bullet Its probably best to stick with monoliths 63
64 Q & A