Upload
dangthuan
View
217
Download
0
Embed Size (px)
Citation preview
Structured PaaS Framework
Contract: Cloud Native App
Contract: BOSH Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT Ops
Application Framework
Runtime Platform
Infrastructure Automation
InfrastructureIT Ops
IT Ops
Tools
Spring Boot
BOSH
4
Cloud Foundry is …
• Open Source Application platform-as-a-service• Supported by dozens of major organizations• Language and framework agnostic• Manages VM’s and Containers• Orchestrates applications and data services• Abstracts infrastructure
Cloud Foundry is …
• Open Source Application platform-as-a-service• Supported by dozens of major organizations• Language and framework agnostic• Manages VM’s and Containers• Orchestrates applications and data services• Abstracts infrastructure
Transferred from VMWare to Pivotal
1 trillion dollars in market cap supporting the project
Governance passed to Cloud Foundry Foundation
2013 2014 20157
Design Patterns
• Microservices• Abstraction• Twelve Factor• API Gateway• Service Registry• Config Server• Circuit Breaker
Monolithic Architecture
Tomcat
Browser Apache Inventory Service
DB
Accounting Service
Store Front UI
Scaling a Monolith Vs a Microservice
• A Monolith puts all its functionality into a single process• More efficient use of resources
Abstraction
•
Abstraction
Agility and Cost Savings
StorageServers
Networking
O/SMiddleware
Virtualization
DataApplication
Runtime
You
Man
age
O/S
Servers
Networking
Middleware
Virtualization
DataApplication
Runtime
You
Man
age
IaaS
Pr
ovid
erYo
uM
anag
e
O/S
Servers
Networking
Middleware
Virtualization
DataApplication
Runtime
Pivo
tal C
loud
Fou
ndry
Con
tain
er
Automation
@SpringBootApplication@EnableCircuitBreaker@EnableDiscoveryClientpublic class CustomerApp extends RepositoryRestMvcConfiguration {
@Overrideprotected void configureRepositoryRestConfiguration(RepositoryRestConfiguration
config) {config.exposeIdsFor(Customer.class);
}
public static void main(String[] args) {SpringApplication.run(CustomerApp.class, args);
}
}
@SpringBootApplication@EnableCircuitBreaker@EnableDiscoveryClientpublic class CustomerApp extends RepositoryRestMvcConfiguration {
@Overrideprotected void configureRepositoryRestConfiguration(RepositoryRestConfiguration
config) {config.exposeIdsFor(Customer.class);
}
public static void main(String[] args) {SpringApplication.run(CustomerApp.class, args);
}
}