microservice lifecycle demo presentation

22
The Microservices Lifecycle A Demonstration Jay Thorne, Consulting Software Engineer, APIM Matt McLarty, VP, API Academy DO3X14SV DEVOPS

Upload: matt-mclarty

Post on 22-Jan-2018

158 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Microservice Lifecycle Demo Presentation

The Microservices LifecycleA DemonstrationJay Thorne, Consulting Software Engineer, APIMMatt McLarty, VP, API Academy

DO3X14SV

DEVOPS

Page 2: Microservice Lifecycle Demo Presentation

2 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

For Informational Purposes Only

Terms of this Presentation

© 2016 CA. All rights reserved. All trademarks referenced herein belong to their respective companies. The presentation provided at CA

World 2016 is intended for information purposes only and does not form any type of warranty. Some of the specific slides with customer

references relate to customer's specific use and experience of CA products and solutions so actual results may vary.

Certain information in this presentation may outline CA’s general product direction. This presentation shall not serve to (i) affect the rights

and/or obligations of CA or its licensees under any existing or future license agreement or services agreement relating to any CA software

product; or (ii) amend any product documentation or specifications for any CA software product. This presentation is based on current

information and resource allocations as of November 1, 2016, and is subject to change or withdrawal by CA at any time without notice. The

development, release and timing of any features or functionality described in this presentation remain at CA’s sole discretion.

Notwithstanding anything in this presentation to the contrary, upon the general availability of any future CA product release referenced in

this presentation, CA may make such release available to new licensees in the form of a regularly scheduled major product release. Such

release may be made available to licensees of the product who are active subscribers to CA maintenance and support, on a when and if-

available basis. The information in this presentation is not deemed to be incorporated into any contract.

Page 3: Microservice Lifecycle Demo Presentation

3 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Abstract

In this demo, we’ll illustrate how to create a microservices-based system that employs essential capabilities to deliver speed and safety at scale.Jay Thorne

CA Technologies

Consulting Software Engineer, APIM

Page 4: Microservice Lifecycle Demo Presentation

4 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Agenda

SOFTWARE COMPLEXITY

ESSENTIAL VS. ACCIDENTAL COMPLEXITY

COMPLEXITY IN MICROSERVICES

THE MICROSERVICES LIFECYCLE: A DEMO

1

2

3

4

Page 5: Microservice Lifecycle Demo Presentation

5 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Software Complexity

Page 6: Microservice Lifecycle Demo Presentation

6 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Software Complexity

“Many of the classical problems of developing software products derived from this essential complexity and its nonlinear increased with size.”

- Fred Brooks, “No Silver Bullet—Essence and

Accident in Software Engineering”

http://www.cs.nott.ac.uk/~pszcah/G51ISS/Documents/NoSilverBullet.html

Page 7: Microservice Lifecycle Demo Presentation

7 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Essential vs. Accidental Complexity

Essential Complexity

• The complexity of the software’s functional scope and the problems it solves (e.g. correlating and analyzing large amounts of data in real time)

Accidental Complexity

• The complexity of the software’s implementation details (e.g. the languages, processes and messages used to do the work)

Page 8: Microservice Lifecycle Demo Presentation

8 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Complexity in Microservices

Essential Complexity in Microservices

• Focus on who will be consuming the microservices, what tasks they want to accomplish, how service boundaries are drawn, and the semantics of the APIs that allow communication between microservices

Accidental Complexity in Microservices

• Focus on establishing component independence and then using automation to speed up the development lifecycle and achieve maximum stability in operational environments

Page 9: Microservice Lifecycle Demo Presentation

9 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Dealing with Essential Complexity in Microservices

Eric Evans’ Domain-Driven Design provides a framework for defining and modeling the essential capabilities of complex software systems

Image credit: http://martinfowler.com/bliki/BoundedContext.html

Page 10: Microservice Lifecycle Demo Presentation

10 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Dealing with Accidental Complexity in Microservices

From Ronnie Mitra’s

Presentation, “Designing a

Microservices Architecture”, at

CA World 2015

http://www.apiacademy.co/reso

urces/designing-a-microservices-

architecture/

Page 11: Microservice Lifecycle Demo Presentation

11 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Our Demo Scenario: “App Economy World”

“App Economy World” is the preeminent global technology conference

In order to practice what they preach, the AEW tech team is building a microservices backbone to power the website and mobile app

These services will be used in preparation for the event—to book speakers and exhibitors—and also during the event—to help attendees build their own personal agendas

Page 12: Microservice Lifecycle Demo Presentation

12 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Essential Complexity in “App Economy World” Services

Service Consumers

• Speakers

• Exhibitors

• Event Managers

• Event Attendees

Service Tasks

• Propose sessions

• Approve sessions

• Schedule sessions

• Propose exhibits

• Approve exhibits

• Locate exhibits

• Build personal agenda

Services

• Speaking Session Service

• Exhibit Service

• Event Management Service

• Attendee Service

• Accounting Service (external)

• Facility Services (external)

Page 13: Microservice Lifecycle Demo Presentation

13 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Demo Scenario Context Map

Speaking

Session

Service

Exhibit

Service

Event

Management

Service

Accounting

Service

Attendee

Service

Facilities

Service

Query and Book Rooms/Times

Query and Book Booths

Post Purchases

Speakers

Attendees

Exhibitors

Event Managers

Query Exhibits

Query Sessions

Query and Build Agenda

Request Session, Receive

Approve/Decline

Request Exhibit, Receive Approve/Decline, Purchase Exhibit

Approve Sessions and

Exhibits

Request Approval

Page 14: Microservice Lifecycle Demo Presentation

14 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Microservices Lifecycle Considerations

Design Time Runtime

System

Service

Service discoverability

Service boundary evolution

System-wide policy definition

Service instance discoverability

Service composition for task

execution

System-wide policy enforcement

Component discoverability

Interface evolution

Rapid service prototyping

Self-awareness

Parallelism

Rapid provisionability

Page 15: Microservice Lifecycle Demo Presentation

15 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Microservices Lifecycle Considerations

Design Time Runtime

System

Service

Service discoverability

Service boundary evolution

System-wide policy definition

Service instance discoverability

Service composition for task

execution

System-wide policy enforcement

Component discoverability

Interface evolution

Rapid service prototyping

Self-awareness

Parallelism

Rapid provisionability

Page 16: Microservice Lifecycle Demo Presentation

16 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Microservices Lifecycle Select Capabilities

Capability Enabling Technology

Service Discoverability CA API Portal

System-wide Policy Definition and Enforcement

CA API Gateway

Rapid Service Prototyping and Provisioning

CA Live API Creator

Page 17: Microservice Lifecycle Demo Presentation

17 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Demo Focus: Removing Accidental Complexity

Internet of Things

Mobile

SaaS/Cloud SolutionsAWS, Google, SFDC …

Partner Ecosystems

Developers

ID/Authentication

SQL Data

NoSQL Data

Live API Creator

API GatewayMobile API Gateway

Mobile App Services

API Developer PortalEnterprise NetworkExisting APIs

Scripts

Page 18: Microservice Lifecycle Demo Presentation

18 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

11 docker images

All Ephemeral – no saved databases, etc.

All provisioned live via scripting – no pre-done db’s or artifacts

Source data was checked out this week from our Github

It takes 15 minutes because it’s literally all from scratch

Some Details on what’s happening

Page 19: Microservice Lifecycle Demo Presentation

19 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

The Demo

Page 20: Microservice Lifecycle Demo Presentation

20 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Questions?

Page 21: Microservice Lifecycle Demo Presentation

21 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Stay connected at communities.ca.com

Thank you.

Page 22: Microservice Lifecycle Demo Presentation

@CAWORLD #CAWORLD © 2016 CA. All RIGHTS RESERVED.22 @CAWORLD #CAWORLD

DevOps – API Management and Application Development

For more information on DevOps – API Management and Application Development, please visit: http://cainc.to/DL8ozQ