Microservices + DevOps + Oracle Cloud = A Bright Future · Microservices + DevOps + Oracle Cloud =...

Post on 05-May-2018

235 views 6 download

Transcript of Microservices + DevOps + Oracle Cloud = A Bright Future · Microservices + DevOps + Oracle Cloud =...

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