Microservices + DevOps + Oracle Cloud = A Bright Future. Sai Janakiram Penumuru Chief Technologist & Oracle ACE Director

Size: px
Start display at page:

Download "Microservices + DevOps + Oracle Cloud = A Bright Future. Sai Janakiram Penumuru Chief Technologist & Oracle ACE Director"

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