Application Centric
Microservices
Ken Owens, CTO Cisco Intercloud Services
Redhat Summit 2015
• Introduction
• Why Application Centric
• Application Deployment Options
• What is Microservices Infrastructure
• How do you enable Microservices in the
enterprise, cloud, and multiple clouds?
• Introducing Shipped
• Conclusion
Agenda
• Vision of Intercloud
• Cisco as a Service
• Platform for IoE
Introduction
Public
Clouds
Cloud Services
and Applications
Intercloud
Partners
VM Portability. Application Centric Policy Control.
Partner Ecosystem. Data Virtualization. Open
Standards
Why Application Centric?
Developers are Driving the Market
 Elastic and “Web-Scale”
 Flexible
 Reduced time to market for apps
 Loosely-coupled components
 “Ruthlessly Standardized”
Alignment to Customer Value (Business Outcomes)
Services vs Legos
Product Alignment vs Project Alignment
Fail Fast
Organizational Aspects
Software Defined Disruption
Practical Examples In The Cloud
Cloud must enable application integration, development, and deployment
Cloud Native
Cloud Valid
Legacy Architecture
8
Application Deployment
Options
 Openstack as a Service (IaaS, IaaS+)
 Openstack APIs
 Orchestration
 BSS
 Marketplace/Marketplace Federation
 SaaS
 Abstraction of underlying infrastructure (IaaS)
 Geo & Operating Model
 Application Enablement
 Cloud Native
 Cloud Transformation
Domain model, cloud user perspective
Swift Neutron
Provisioning
Horizon
Heat
KeystoneCeilometerGlanceCinderNova
Object
Container
Server
Metadata
Subnet
Port
Router
Floating IP
VPN
LB
Volume
Snapshot
Image Metric
Alarm
User
Tenant
Domain
Etcetera.
Customized Cloud Services Marketplace
SFR 140617_Fiscal Year Plann ... ess_v1
Cisco Confidential 12© 2013-2014 Cisco and/or its affiliates. All rights reserved.
Developing Applications in the Cloud
• Cloud must enable application integration, development, and deployment
• Consumers are interested in agility, flexibility, and business outcomes
• How do we support applications on CCS
• Overview of use cases
• Cloud Native
• Integrated or Interoperable-> CICD
• Cloud Valid
• Lift & Shift or Interoperable ->CICD
• Legacy Architecture
• Lift & Shift -> CICD
13
What is Microservices
Infrastructure
• Software architecture style
• complex applications are
composed of small,
independent processes
communicating with each other
using language-agnostic APIs.
• Application services are small,
highly decoupled and focus on
doing a small task.
• SOAish
• Quick Comparison
Microservices Definition
Microservice Advantages (Top of Mind)
 Scalability
 Resilience / fault isolation
 Individual service deployment
 Small code base with well defined boundaries.
 Flexibility to choose best languages and technologies
 Independent development, build and deployment cycle of each Microservice
 Enables faster features iteration
 Less resistance path to adopt newer technology in future
Micro Services Infrastructure – 0.3
Micro Services Infrastructure
MicroService-1
MicroService-1MicroService-1
(Github repo)
MicroService-1
MicroService-1MicroService-2
(Github repo)
MicroService-1
MicroService-1Dependency-1
(Marketplace App)
MicroService-1
MicroService-1
Dependency-2
(Marketplace App)
Deploy Env. (Prod2)
Microservices Deployment Layout
MicroService-1
(Github repo)
MicroService-2
(Github repo)
Dependency-1
(Marketplace App)
Dependency-2
(Marketplace App)
Project
MicroService-1
MicroService-1MicroService-1
(Github repo)
MicroService-1
MicroService-1MicroService-2
(Github repo)
MicroService-1
MicroService-1Dependency-1
(Marketplace App)
MicroService-1
MicroService-1
Dependency-2
(Marketplace App)
Deploy Env. (Prod1)
MicroService-1
MicroService-1MicroService-1
(Github repo)
MicroService-1
MicroService-1MicroService-2
(Github repo)
MicroService-1
MicroService-1Dependency-1
(Marketplace App)
MicroService-1
MicroService-1
Dependency-2
(Marketplace App)
Deploy Env. (Staging)
Support Namespace aware ( Secure Isolation )
• Deployments
• Service Discovery and Wiring.
• Load-Balancing
Docker containers
Mesos – Marathon (MS-Infra)
Release
[ Build Tag +
Config Snapshot ]
Service Discovery & Load Balancer
MicroService-1
MicroService-1MicroService-1
(Github repo)
MicroService-1
MicroService-1MicroService-2
(Github repo)
MicroService-1
MicroService-1Dependency-1
(Marketplace App)
MicroService-1
MicroService-1
Dependency-2
(Marketplace App)
Docker containers
Mesos – Marathon (MS-infra)
Deploy Env. (Staging)
(MS-Infra)
(MS-Infra)
Consul
Template
HAProxy
Consul
(DNS)
Registrator
1. Registrator monitors Docker events
2. Registrator adds docker instances
host:port to service-name mapping to
consul.
3. Consul exposes information via inbuilt
DNS
4. Consult templates watches changes in
Consul
5. HAProxy configuration is updated based
on changes in consul
6. Namespace naming convention
environment.project.service.shipped.com
• Intense focus on application and developer centric Service Design
• Exciting new community projects – Build with us:
 Project Shipped
 microservices-infrastructure
 Container networking
 OpenStack Congress Application Intent (Policy)
It’s NOT just about where Cisco is going.
- It’s a movement
• Partnering with leading DevOps tool providers:
• HashiCorp
• Mesosphere
• OpenShift
PoC and Contribute:
• https://github.com/CiscoCloud/microservices-
infrastructure
• http://developer.cisco.com/Shipped
How do you enable
Microservices in the
enterprise, cloud, and
multiple clouds?
Not so easily…
• Organization
• Process
• It take weeks to create a development environment? Too much cost, red tape, politics
• Non-prod environments are so different than prod?
• Tests aren’t always accurate
• Versioning, updates are way too difficult
• Developers can’t get easy access to backend services (databases, security, etc.)
• Hard it is to build new and innovative apps at #dayjob?
• Software Defined Challenges
Software Defined Developer Challenges
Develop
• Run multiple
services.
• Multiple language
/technology
stack.
• Run multiple
storage backend.
Build
• SDLC admin
control CI flow
bottleneck.
• Flexible/dynamic
build slaves.
• Consistent
packaging and
version.
Deploy
• Increased
deployment
complexity.
• Traditional ops to
Devops.
• Distributed
systems.
• Service
discovery.
• Internal load
balancing
• Multiple tech
stack.
• Develop Private and Build and
Deploy Everywhere – No Lock-
in/No Compromise
• Build through CI/CD flow
designed for multi-cloud and
“bring your own” with consistent
packaging and versioning
• Easy to deploy with service
discovery and automatic service
availability
• Manage you application and all
services from a single interface
across private and multi-cloud
environments
Introducing Shipped
Demo
Automated
Deployment of
OpenShift from
Cisco
Marketplace
Soon
Project Shipped
and OpenShift
Integration.
Q3
PaaS as first-rate
Intercloud Citizen.
Vs. Tenant VM’s.
Marketplace
OpenShift In Cisco Marketplace.
Automated click to deploy.
VM’s directly into Tenants’ Project.
Initially ‘Bring your own License’.
Working with RH to streamline licensing.
Working with vendors to integrate value.
Shipped
Environment Agnostic (Docker ‘under the hood’)
Shipped
GitHub Drone
CCS Region 2CCS Region 1
Microservice
Infrastructure
Microservice
Infrastructure
Shipped
Deploy
Cisco Cloud
Dev
Marketplace
Catalog
• OpenShift fully supported as a deployment
target.
• Unified Development / Deployment
Environment.
• Use the PaaS layer you are comfortable with.
• Shipped <> PaaS interface is Docker.
Future: Intercloud PaaS
PaaS as a first class citizen of Intercloud.
Able to Leverage Marketplace/Shipped.
Consume multiple intercloud locations.
Migrate app instances not VM’s.
Container overlays for policy/network.
Application Intent framework.
Investment Protection - Use
Conclusion
• Application Centric
• Composible
Applications/Microservices
• Platform for IoE = Project Shipped
• Experience Project Shipped @ Cisco Live!
• Hands on - Hackathon
 Use the product
 Meet the entire engineering team
 Get free GitHub and Bintray private repos
Software-Defined Distribution = Project Shipped
Thank you
Application Centric Microservices from Redhat Summit 2015

Application Centric Microservices from Redhat Summit 2015

  • 2.
    Application Centric Microservices Ken Owens,CTO Cisco Intercloud Services Redhat Summit 2015
  • 3.
    • Introduction • WhyApplication Centric • Application Deployment Options • What is Microservices Infrastructure • How do you enable Microservices in the enterprise, cloud, and multiple clouds? • Introducing Shipped • Conclusion Agenda
  • 4.
    • Vision ofIntercloud • Cisco as a Service • Platform for IoE Introduction Public Clouds Cloud Services and Applications Intercloud Partners VM Portability. Application Centric Policy Control. Partner Ecosystem. Data Virtualization. Open Standards
  • 5.
  • 6.
    Developers are Drivingthe Market  Elastic and “Web-Scale”  Flexible  Reduced time to market for apps  Loosely-coupled components  “Ruthlessly Standardized”
  • 7.
    Alignment to CustomerValue (Business Outcomes) Services vs Legos Product Alignment vs Project Alignment Fail Fast Organizational Aspects Software Defined Disruption
  • 8.
    Practical Examples InThe Cloud Cloud must enable application integration, development, and deployment Cloud Native Cloud Valid Legacy Architecture 8
  • 9.
  • 10.
     Openstack asa Service (IaaS, IaaS+)  Openstack APIs  Orchestration  BSS  Marketplace/Marketplace Federation  SaaS  Abstraction of underlying infrastructure (IaaS)  Geo & Operating Model  Application Enablement  Cloud Native  Cloud Transformation
  • 11.
    Domain model, clouduser perspective Swift Neutron Provisioning Horizon Heat KeystoneCeilometerGlanceCinderNova Object Container Server Metadata Subnet Port Router Floating IP VPN LB Volume Snapshot Image Metric Alarm User Tenant Domain Etcetera.
  • 12.
    Customized Cloud ServicesMarketplace SFR 140617_Fiscal Year Plann ... ess_v1 Cisco Confidential 12© 2013-2014 Cisco and/or its affiliates. All rights reserved.
  • 13.
    Developing Applications inthe Cloud • Cloud must enable application integration, development, and deployment • Consumers are interested in agility, flexibility, and business outcomes • How do we support applications on CCS • Overview of use cases • Cloud Native • Integrated or Interoperable-> CICD • Cloud Valid • Lift & Shift or Interoperable ->CICD • Legacy Architecture • Lift & Shift -> CICD 13
  • 14.
  • 15.
    • Software architecturestyle • complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. • Application services are small, highly decoupled and focus on doing a small task. • SOAish • Quick Comparison Microservices Definition
  • 16.
    Microservice Advantages (Topof Mind)  Scalability  Resilience / fault isolation  Individual service deployment  Small code base with well defined boundaries.  Flexibility to choose best languages and technologies  Independent development, build and deployment cycle of each Microservice  Enables faster features iteration  Less resistance path to adopt newer technology in future
  • 17.
  • 18.
  • 19.
    MicroService-1 MicroService-1MicroService-1 (Github repo) MicroService-1 MicroService-1MicroService-2 (Github repo) MicroService-1 MicroService-1Dependency-1 (MarketplaceApp) MicroService-1 MicroService-1 Dependency-2 (Marketplace App) Deploy Env. (Prod2) Microservices Deployment Layout MicroService-1 (Github repo) MicroService-2 (Github repo) Dependency-1 (Marketplace App) Dependency-2 (Marketplace App) Project MicroService-1 MicroService-1MicroService-1 (Github repo) MicroService-1 MicroService-1MicroService-2 (Github repo) MicroService-1 MicroService-1Dependency-1 (Marketplace App) MicroService-1 MicroService-1 Dependency-2 (Marketplace App) Deploy Env. (Prod1) MicroService-1 MicroService-1MicroService-1 (Github repo) MicroService-1 MicroService-1MicroService-2 (Github repo) MicroService-1 MicroService-1Dependency-1 (Marketplace App) MicroService-1 MicroService-1 Dependency-2 (Marketplace App) Deploy Env. (Staging) Support Namespace aware ( Secure Isolation ) • Deployments • Service Discovery and Wiring. • Load-Balancing Docker containers Mesos – Marathon (MS-Infra) Release [ Build Tag + Config Snapshot ]
  • 20.
    Service Discovery &Load Balancer MicroService-1 MicroService-1MicroService-1 (Github repo) MicroService-1 MicroService-1MicroService-2 (Github repo) MicroService-1 MicroService-1Dependency-1 (Marketplace App) MicroService-1 MicroService-1 Dependency-2 (Marketplace App) Docker containers Mesos – Marathon (MS-infra) Deploy Env. (Staging) (MS-Infra) (MS-Infra) Consul Template HAProxy Consul (DNS) Registrator 1. Registrator monitors Docker events 2. Registrator adds docker instances host:port to service-name mapping to consul. 3. Consul exposes information via inbuilt DNS 4. Consult templates watches changes in Consul 5. HAProxy configuration is updated based on changes in consul 6. Namespace naming convention environment.project.service.shipped.com
  • 21.
    • Intense focuson application and developer centric Service Design • Exciting new community projects – Build with us:  Project Shipped  microservices-infrastructure  Container networking  OpenStack Congress Application Intent (Policy) It’s NOT just about where Cisco is going. - It’s a movement • Partnering with leading DevOps tool providers: • HashiCorp • Mesosphere • OpenShift PoC and Contribute: • https://github.com/CiscoCloud/microservices- infrastructure • http://developer.cisco.com/Shipped
  • 22.
    How do youenable Microservices in the enterprise, cloud, and multiple clouds?
  • 23.
    Not so easily… •Organization • Process • It take weeks to create a development environment? Too much cost, red tape, politics • Non-prod environments are so different than prod? • Tests aren’t always accurate • Versioning, updates are way too difficult • Developers can’t get easy access to backend services (databases, security, etc.) • Hard it is to build new and innovative apps at #dayjob? • Software Defined Challenges
  • 24.
    Software Defined DeveloperChallenges Develop • Run multiple services. • Multiple language /technology stack. • Run multiple storage backend. Build • SDLC admin control CI flow bottleneck. • Flexible/dynamic build slaves. • Consistent packaging and version. Deploy • Increased deployment complexity. • Traditional ops to Devops. • Distributed systems. • Service discovery. • Internal load balancing • Multiple tech stack.
  • 25.
    • Develop Privateand Build and Deploy Everywhere – No Lock- in/No Compromise • Build through CI/CD flow designed for multi-cloud and “bring your own” with consistent packaging and versioning • Easy to deploy with service discovery and automatic service availability • Manage you application and all services from a single interface across private and multi-cloud environments
  • 26.
  • 27.
  • 29.
    Automated Deployment of OpenShift from Cisco Marketplace Soon ProjectShipped and OpenShift Integration. Q3 PaaS as first-rate Intercloud Citizen. Vs. Tenant VM’s.
  • 30.
    Marketplace OpenShift In CiscoMarketplace. Automated click to deploy. VM’s directly into Tenants’ Project. Initially ‘Bring your own License’. Working with RH to streamline licensing. Working with vendors to integrate value.
  • 31.
    Shipped Environment Agnostic (Docker‘under the hood’) Shipped GitHub Drone CCS Region 2CCS Region 1 Microservice Infrastructure Microservice Infrastructure Shipped Deploy Cisco Cloud Dev Marketplace Catalog • OpenShift fully supported as a deployment target. • Unified Development / Deployment Environment. • Use the PaaS layer you are comfortable with. • Shipped <> PaaS interface is Docker.
  • 32.
    Future: Intercloud PaaS PaaSas a first class citizen of Intercloud. Able to Leverage Marketplace/Shipped. Consume multiple intercloud locations. Migrate app instances not VM’s. Container overlays for policy/network. Application Intent framework. Investment Protection - Use
  • 33.
  • 34.
    • Application Centric •Composible Applications/Microservices • Platform for IoE = Project Shipped
  • 35.
    • Experience ProjectShipped @ Cisco Live! • Hands on - Hackathon  Use the product  Meet the entire engineering team  Get free GitHub and Bintray private repos Software-Defined Distribution = Project Shipped
  • 36.