The Microservices Lifecycle
A Demonstration
Jay Thorne, Consulting Software Engineer, APIM
Matt McLarty, VP, API Academy
DO3X14SV
DEVOPS
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.
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
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
5 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Software Complexity
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
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)
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
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
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/
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
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)
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
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
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
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
17 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Demo Focus: Removing Accidental Complexity
Internet of Things
Mobile
SaaS/Cloud Solutions
AWS, Google, SFDC …
Partner Ecosystems
Developers
ID/Authentication
SQL Data
NoSQL Data
Live API Creator
API Gateway
Mobile API Gateway
Mobile App Services
API Developer Portal
Enterprise NetworkExisting APIs
Scripts
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
19 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
The Demo
20 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Questions?
21 © 2016 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Stay connected at communities.ca.com
Thank you.
@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

Microservice Lifecycle Demo Presentation

  • 1.
    The Microservices Lifecycle ADemonstration Jay Thorne, Consulting Software Engineer, APIM Matt McLarty, VP, API Academy DO3X14SV DEVOPS
  • 2.
    2 © 2016CA. 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.
  • 3.
    3 © 2016CA. 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
  • 4.
    4 © 2016CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD Agenda SOFTWARE COMPLEXITY ESSENTIAL VS. ACCIDENTAL COMPLEXITY COMPLEXITY IN MICROSERVICES THE MICROSERVICES LIFECYCLE: A DEMO 1 2 3 4
  • 5.
    5 © 2016CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD Software Complexity
  • 6.
    6 © 2016CA. 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
  • 7.
    7 © 2016CA. 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)
  • 8.
    8 © 2016CA. 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
  • 9.
    9 © 2016CA. 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
  • 10.
    10 © 2016CA. 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/
  • 11.
    11 © 2016CA. 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
  • 12.
    12 © 2016CA. 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)
  • 13.
    13 © 2016CA. 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
  • 14.
    14 © 2016CA. 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
  • 15.
    15 © 2016CA. 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
  • 16.
    16 © 2016CA. 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
  • 17.
    17 © 2016CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD Demo Focus: Removing Accidental Complexity Internet of Things Mobile SaaS/Cloud Solutions AWS, Google, SFDC … Partner Ecosystems Developers ID/Authentication SQL Data NoSQL Data Live API Creator API Gateway Mobile API Gateway Mobile App Services API Developer Portal Enterprise NetworkExisting APIs Scripts
  • 18.
    18 © 2016CA. 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
  • 19.
    19 © 2016CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD The Demo
  • 20.
    20 © 2016CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD Questions?
  • 21.
    21 © 2016CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD Stay connected at communities.ca.com Thank you.
  • 22.
    @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