Think 2018 / March 19, 2018 / © 2018 IBM Corporation
1228 – What’s new in IBM Cloud Foundry —Simon Moser Senior Technical Staff Member
Please Note
2Think 2018 / January 12, 2018 / © 2018 IBM Corporation
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract.
The development, release, and timing of any future features or functionality described for our products remains at our sole discretion I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Contents
3Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Positioning 04Cloud Foundry versus Kubernetes? 05IBM Cloud One Architecture 09Containers and other compute models 11
Introducing “Enterprise Environment” 12
Features and use-cases for your business 21Routing 22Networking 24Logging 25Monitoring 26Auditing 27Resiliency 28Upgrading 30Miscellaneous 31
Comparison 32
Think 2018 / March 19, 2018 / © 2018 IBM Corporation 4
01 Positioning
5Think 2018 / January 12, 2018 / © 2018 IBM Corporation
What is Cloud Foundry?
6Think 2018 / January 12, 2018 / © 2018 IBM Corporation
“Here is my code.Run it in the Cloud. I don’t care how”
7Think 2018 / January 12, 2018 / © 2018 IBM Corporation
Cloud Foundry
Both!or Kubernetes?
8Think 2018 / March 19, 2018 / © 2018 IBM Corporation
IaaS
9Think 2018 / March 19, 2018 / © 2018 IBM Corporation
PaaS
Cloud Foundry
10Think 2018 / March 19, 2018 / © 2018 IBM Corporation
“is an open source, multi cloud application platform as a service (PaaS) running containerized applications governed by the Cloud Foundry Foundation (CFF).”
“is an open-source system for automating deployment, scaling and management of containerized applicationsmaintained by the Cloud Native Computing Foundation (CNCF).”
Kubernetes
PaaS IaaS+
One architecture will improve the quality of our offerings, including security
The commonality ? Containers!
13Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Flexible (and open) Compute Options
Cloud FunctionsCloud FoundryContainersVirtual ServersBare Metal
Maximum Performance and Control
Leveraging existing languages and tools
Maximum Portability
Open PaaS Environment
Maximum speed with serverlessapps
Performance & Control
Development Speed
Portability
Think 2018 / March 19, 2018 / © 2018 IBM Corporation 14
02 Sneak Preview: “Enterprise Environment”
15
Demo time!
Think 2018 / March 19, 2018 / © 2018 IBM Corporation 16
… provides a new way of offering dedicated Cloud Foundry
17
“Enterprise Environment”
• Provide a tenant-specific Cloud Foundry environment with optional hardware isolation
• Deployable through self-service and rapidly available
• Provide complete administrative control over Cloud Foundry
• Provision and scale on-demand
• Take advantage of all IBM Cloud services
• Simplified and consistent user experience with the IBM Cloud platform
• Single vendor for PaaS, infrastructure, and supportThink 2018 / March 19, 2018 / © 2018 IBM Corporation
… decouples the offering from the management
18
“Enterprise Environment”
• Management of the service instance is independent from the offering
• Customer self-managed (only initial option)
• Potentially IBM/3rd party managed in the future
• Available in all regions where the Container Service is available
• Instances are deployed on Kubernetes clusters in a infrastructure account
• Choose the environment size based on number and size of Diego cells
Think 2018 / March 19, 2018 / © 2018 IBM Corporation
IBM Cloud Foundry: Where is it available
19Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Multitenant Public:
US-South US-EastUnited KingdomEU-DE (as EU-Cloud) AU-SYD
Dedicated: In every Softlayer datacenter
Enterprise: In all regions where IBM container Service is available
Source: If applicable, describe source origin
Think 2018 / March 19, 2018 / © 2018 IBM Corporation 20
03 Cloud Foundry features and use-cases for your business
Why do I need it?
In cases where you want to enforce a specific functionality in between the client and your application – e.g. metering, caching, or authentication to name a few.
Where is it available?
Public | Dedicated | Enterprise
What is it?
A function to intercept all traffic on a specific route in order to achieve some type of functionality.
21Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Route Services
goRouter
App A
goRouter
App A
RouteService
Why do I need it?
To support any non-HTTP traffic
To be able to push a TCP based app as a CF application
To terminate TLS as close to your apps as possible so that packets are not decrypted before reaching the application level
Where will it be available?
Public | Dedicated | Enterprise
What is it?
A function to allow flowing TCP traffic into your application
22Think 2018 / March 19, 2018 / © 2018 IBM Corporation
TCP Routing
goRouter
App A
tcphttp(s)
Why do I need it ?
- Ensure communication is direct and over the private network
Where will it be available ?
Public | Dedicated |Enterprise
What is it ?
A function to enable application instances to communicate with each other directly.
23Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Container to Container Networking
LoadBalancer
App A
goRouter
App B
SNAT
App A App B
App C
allow dest Ballow dest C
allow src Adeny dest C
allow src Adeny src B
Traditional: With C2C Networking:
Why do I need it ?
- Longer log retention times
- Better log searching and correlation capabilities
Where is it available ?
Public | Dedicated | Enterprise
What is it ?
A feature that integrates your application logging with an external logging service.
24Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Logging Service Integration
UI / CLI
App A
Loggregator IBM LoggingService
logs
Kibana
Elastic
Why do I need it ?
- Resource monitoring of your application container (CPU, Disk, Memory usage)
Where is it available ?
Public | Dedicated | Enterprise
What is it ?
A feature that integrates your application metrics with an IBM provided monitoring service.
25Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Monitoring Service Integration
App A
Loggregator IBM MetricsService
metrics
Grafana
Why do I need it ?
- Have audit events for your Cloud Foundry Apps (App creation, deletion, scaling, etc.)
Where will it be available ?
Public | Dedicated | Enterprise
What is it ?
A feature that integrates your application metrics with an IBM provided Activity Tracker auditing service.
26Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Activity Tracker Integration
App A
AT Adapter IBM Activity Tracker
metrics
AT UI
Why do I need it ?
• Maximize your application SLA
• Globally load balance
• Minimize network latency
What is it ?
A functionality that spreads your application across multiple Availability Zones (AZ) or regions
Where is it available ?
Public | Dedicated* |Enterprise*
27Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Resilient App Deployment
MZ Region 1
Availability Zone 1Cell 1
Diego Container/0+ auto recovery
MZ Region 1
Availability Zone 1Cell 1
Diego Container/0+ auto recovery
+ anti-affinity
Availability Zone 2Cell 1
Diego Container/1+ auto recovery
+ anti-affinity
Availability Zone 3Cell 1
Diego Container/2+ auto recovery
+ anti-affinity
Cell 1Diego Container/0
…
MZ Region 1Availability Zone 1
Cell 1
…Diego Container/0
Availability Zone 2
…
Cell 1
…
Diego Container/1
Cell 1Diego Container/0
…
MZ Region 2Availability Zone 1
Cell 1
…Diego Container/0
Availability Zone 2
…
Cell 1
…
Diego Container/1
• Get your favorite Global DNS
• IBM Cloud Internet Services load balancer
• External Service like DynDNS, Akamai, and Fastly
• Configure DNS to balance across both
• App in multizone Region A only-> total availability: 99.95%
• App in region A & B with GLB -> total availability: 1-(1-0.9995)2 = 99.999975%
• App in region A & B with GLB, depending on service instancetotal availability: 99.999975% * 99.8% = 99.799975%
28Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Resilient App Deployment (2)
Cell 1App/0
…
MZ Region 1Availability Zone 1
Cell 1
…App/0
Availability Zone 2
…
Cell 1
…
App/1Cell 1App/0
…
MZ Region 2Availability Zone 1
Cell 1
…App/0
Availability Zone 2
…
Cell 1
…
App/1
Router MZR 2
Service 99,8 %
Router MZR 1
Global Load Balancer
Why do I need it ?
Minimizing business impact while being able to roll out next features to the market
Where is it available ?
Public | Dedicated | Enterprise
What’s next ?
Integration with ISTIO
What is it ?
A functionality to upgrade your CF apps with no downtime
29Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Zero-Downtime Upgrades
myApp.com
App A 1.0
goRouter
myApp.com
App A 1.0
goRouter
myTempApp.com
App A 2.0
myApp.com
App A 1.0
goRouter
myAppTemp.com
App A 2.0
1 2 3
Think 2018 / March 19, 2018 / © 2018 IBM Corporation 30
04 Comparison
Comparison: Workload Sweet-Spots
Functions(Cloud Functions)
Apps (Cloud Foundry)
Containers (Kubernetes) VMs On-premise
Datacenter
Workload characteristics (sweet-spot)
• stateless/short-living• written in a well-
defined set of languages
• stateless• http(s)/websockets
• longer-living• Any protocol• custom OS binaries
required
• OS customizations• Full OS control• Stronger isolation
requirements
• Special HW required• Compliance-
regulated
Workload examples (sweet-spot)
• API /microservice / web app implementations
• Mobile backends• Reaction to
streaming / data IoT, Cognitive, etc. events
• High-volume web apps / APIs
• Continouslyrunnning processes (e.g. game engines)
• distributed technologies (e.g. mongodb, zookeeper)
• Apps having special OS requirements
• Apps packaged into existing VM images
• Live-videostreams(resource-heavy)
• Data which must be in on-prem DC
• Mainframe apps
Comparison: Developer Experience
Functions(Cloud Functions)
Apps (Cloud Foundry)
Containers (Kubernetes) VMs On-premise
Datacenter
Time to provision Milliseconds Seconds/Minutes Seconds/Minutes Minutes Weeks/months
Utilization Highest Higher Higher High Low
Ability to reuse existing apps
Low Lower Medium High Highest
Charging granularity Blocks of ms execution time
Hours Hours Hours CapEx
Developer view Just the app code Just the app code container VM None
Autoscaling inherent, no delay mgmt function mgmt function mgmt function None
Comparison: Artifacts & Developer Handling
Functions(Cloud Functions)
Apps (Cloud Foundry)
Containers (Kubernetes) VMs On-premise
Datacenter
Artifact action code, trigger, rule app code container VM physical machine
Developer usage • Uploads only artifacts• No explicit
management of computing resources required.
• No starting and stopping of application required.
• Uploads complete application using a CF supported runtime.
• Explicitly binds services to application
• Explicitly starts/stops the cloud application.
• Entire applications is atomically packaged and executed.
• Any changes requires deployment of the entire application.
• Creates application or microservices, and packages it in a containe
• Deploys the container to the server.
• Must manage loading of Docker components and any orchestration/communication among containers.
• Installs or clones an existing OS, and packages the entire OS in a VM image and deploys to the server.
• Developer must stop/stop the entire VM.
• Developer manually installs middleware and services on dedicated hardware.
It’s not an all-or-nothing!You Choose!
Thank you
35Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Simon Moser Senior Technical Staff Member—[email protected]@mosersdibm.com
Notices and disclaimers
36Think 2018 / January 12, 2018 / © 2018 IBM Corporation
© 2018 International Business Machines Corporation. No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied. In no event, shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data, business interruption, loss of profit or loss of opportunity. IBM products and services are warranted per the terms and conditions of the agreements under which they are provided.
IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those
customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer follows any law.
Notices and disclaimerscontinued
37Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products about this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a purpose.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com and [names of other referenced IBM products and services used in the presentation] are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
.
38Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Why do I need it ?
Elastically scale Apps, e.g. based on load
Run one-off task, then destroy the container
Performance Improvement for chatty apps
Distributed microservice latency tracing
Where is it available ?
Public | Dedicated* |Enterprise*
What is it ?
Auto-Scaling Applications
Diego Tasks _
Keep Alive Performance
ZIPKIN ® Tracing
39Think 2018 / March 19, 2018 / © 2018 IBM Corporation
Miscellaneous