microservice lifecycle demo presentation
TRANSCRIPT
The Microservices LifecycleA DemonstrationJay Thorne, Consulting Software Engineer, APIMMatt 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 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
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