[2015-11월 정기 세미나] cloud native platform - pivotal

82

Upload: openstack-korea-community

Post on 24-Jan-2017

9.760 views

Category:

Technology


5 download

TRANSCRIPT

Slide 1

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

Principal Technologist

Telco Cloud Open Stack AWS Solutions Architect

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

Pivotal

http://pivotal.io/open-source .

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

What to buildHow to buildBusiness RequirementsToolsExperiences

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Native

# 2015 Pivotal Software, Inc. All rights reserved.

Like every developer knows about agile, but therere only few really can do it. Cloud Native seems easy, but it contains many of software technologies and operation overheads. To dealing with this truth, Pivotal offers Cloud Foundry for enterprise who wants to archive time-to-market. #TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

Before Cloud

# 2015 Pivotal Software, Inc. All rights reserved.

3-tier infrastructure architecture

Image source: http://www.cisco.com

# 2015 Pivotal Software, Inc. All rights reserved.

And most customers are using

# 2015 Pivotal Software, Inc. All rights reserved.

Netflix 2008http://www.slideshare.net/KevinMcEntee/netflix-incloudsmarch8-2011forwiki

2008

# 2015 Pivotal Software, Inc. All rights reserved.

Monolithic perfectly make sense when you need to work base on 3 tier physical hardware. There was only scale-up, and to maintain complex database, was cluster, operators are necessary to archive 24x7x365 uptime. However, as number of users increased, and mobile explosion happened, this architecture does not work anymore. This was happened to Amazon.com in more early days, and this kind of huge failure drives them to move new ERA of service. #TITLEMonth Year

http://blog.netflix.com/2008/08/shipping-delay-recap.html http://www.pcmag.com/article2/0,2817,2328778,00.asp

# 2015 Pivotal Software, Inc. All rights reserved.

Big Failure

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Era.

API

# 2015 Pivotal Software, Inc. All rights reserved.

Micro services architectureCloud InfrastructureNoSQLRDBMSCacheMQK/V StoreLogin AppSearch AppBilling AppStreaming AppDRM AppMetering AppLogging AppRecommendation Engine.Balancer A Balancer BBalancer N

# 2015 Pivotal Software, Inc. All rights reserved.

It looks like

http://www.journaldunet.com/solutions/cloud-computing/coulisses-techniques-de-netflix/architecture-en-micro-services.shtml

# 2015 Pivotal Software, Inc. All rights reserved.

2015 - Micro Services Architecturehttp://www.slideshare.net/stonse/microservices-at-netflix

# 2015 Pivotal Software, Inc. All rights reserved.

This is how Netflix looks like today. Each single box means micro service. One of them is only work for file upload, and one of them is only work for sign-on, etc. Every single micro services talking to another micro service to get information. And each micro services are fully monitored, and has auto recovery features. For your easy understand, each micro service has load balancers, web servers, workers, caches, and databases. This was impossible if you want to build this architecture with few high price-tagged super computing machines. And every single micro services can auto-sacled.

And it took 7 years. For Amazon, they started this even earlier than Netflix. #TITLEMonth Year

How many microservices?ELEVEN

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Native

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

n(n-1)/2

# 2015 Pivotal Software, Inc. All rights reserved.

http://www.slideshare.net/AmazonWebServices/aws-codedeploy-aws-codepipeline-and-aws-codecommit-transforming-software-development

2 pizza team

# 2015 Pivotal Software, Inc. All rights reserved.

INVENTORY

Prod ReleaseProd ReleaseProd ReleaseCATALOG

Prod ReleaseProd ReleaseProd ReleaseREVIEWS

Prod ReleaseProd ReleaseProd ReleaseSHIPPING

Prod ReleaseProd ReleaseProd Release

# 2015 Pivotal Software, Inc. All rights reserved.

http://www.slideshare.net/awskorea/aws-summit-seoul-2015-aws-47454649

# 2015 Pivotal Software, Inc. All rights reserved.

Amazon.com 1 1

# 2015 Pivotal Software, Inc. All rights reserved.

Zero /

# 2015 Pivotal Software, Inc. All rights reserved.

12 Factor Apps

# 2015 Pivotal Software, Inc. All rights reserved.

Like every developer knows about agile, but therere only few really can do it. Cloud Native seems easy, but it contains many of software technologies and operation overheads. To dealing with this truth, Pivotal offers Cloud Foundry for enterprise who wants to archive time-to-market. #TITLEMonth Year

The Twelve FactorsCodebaseDependenciesConfigBacking ServicesBuild, release, runProcessesPort bindingConcurrencyDisposabilityDev/prod parityLogsAdmin processeshttp://12factor.net/

# 2015 Pivotal Software, Inc. All rights reserved.

Codebase

Single CodebaseMany Deploys

# 2015 Pivotal Software, Inc. All rights reserved.

DependenciesExplicitly declare and isolate dependencies A Twelve-factor app never relies on implicit existence of system-wide packages.Ruby : bundle Python : Pip for declaration / Virtualenv for isolation C : autoconf / static linking NodeJS : npm

# 2015 Pivotal Software, Inc. All rights reserved.

ConfigStore config in Environment Variables Keep your config outside the app.Env vars are easy to change between deploys No secret in version control

# 2015 Pivotal Software, Inc. All rights reserved.

Backing Services Treat backing services as attached resources The code for a twelve-factor app makes no distinction between local and third party services

# 2015 Pivotal Software, Inc. All rights reserved.

Build, release, runStrictly separate build and run stages The code for a twelve-factor app uses strict separation between the build, release, and run stages

# 2015 Pivotal Software, Inc. All rights reserved.

Processes Execute the app as on or more stateless processes Twelve-factor processes are stateless and share-nothing. Persist data must be stored in a stateful backing servicesSticky session is basically a violation of 12-factor app, but a good candidate for a datastore with time-expiration such as Redis, Memcached

# 2015 Pivotal Software, Inc. All rights reserved.

Port bindingExport services via port binding Twelve-factor app is completely self-contained. Exports HTTP as a service by binding to a port Python : Tornado Ruby : Thin Java : Jetty or other JVM-based languages

# 2015 Pivotal Software, Inc. All rights reserved.

ConcurrencyScale out via the process model

# 2015 Pivotal Software, Inc. All rights reserved.

DisposabilityMaximize robustness with fast startup and graceful shutdown Twelve-factor apps processes are disposable, meaning they can be started or stopped at a moments notice. Minimize startup time. Robust against sudden death.

# 2015 Pivotal Software, Inc. All rights reserved.

Dev/prod parityKeep development, staging, and production as similar as possibleTwelve-factor app is designed for continuous deployment by keeping the gap between development and production small.Traditional AppTwelve-factor appTime between deploysWeeksHours Code Authors vs code deployers Different people Same peopleDev vs production environmentsDivergentAs similar as possible

# 2015 Pivotal Software, Inc. All rights reserved.

Logs Treat logs as event streams Twelve-factor app never concerns itself with routing or storage of its output streams.Finding specific events in the past. Large-scale graphing of trends (such as request per minute) Active alerting according to user-defined heuristics (such as an alert when the quantity of errors per minute exceeds a certain threshold).

# 2015 Pivotal Software, Inc. All rights reserved.

Admin processes Run admin/management tasks as one-off processes One-off admin processes should be run in an identical environment Admin code must ship with application code to avoid synchronization issues.

# 2015 Pivotal Software, Inc. All rights reserved.

http://pivotal.io/platform/migrating-to-cloud-native-application-architectures-ebook .

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

Netflix OSS

# 2015 Pivotal Software, Inc. All rights reserved.

Like every developer knows about agile, but therere only few really can do it. Cloud Native seems easy, but it contains many of software technologies and operation overheads. To dealing with this truth, Pivotal offers Cloud Foundry for enterprise who wants to archive time-to-market. #TITLEMonth Year

7 years for Cloud Native (2008 2015)Cloud IaaSDataMicro ServicesRouting / Health checkAPILoggingBig OracleBig Java

# 2015 Pivotal Software, Inc. All rights reserved.

What theyre trying last 7 years is, transforming their service to Cloud Native which is including DevOps, Micro Services architecture, and Data driven based on Cloud. By having this transformation, they could archive almost zero downtime service on cloud. #TITLEMonth Year

Netflix experiences Netflix OSSCloud IaaSDataMicro ServicesRouting / Health checkAPILogging

http://netflix.github.io/

# 2015 Pivotal Software, Inc. All rights reserved.

EurekaHystrix + TurbineRibbonFeignZuul

http://netflix.github.io

# 2015 Pivotal Software, Inc. All rights reserved.

service registration (e.g.: Eureka, Consul, or Zookeeper)Hystrix circuit breaker Turbine stream aggregation for hystrix metrics dashboardsClient SideLoad Balancer: Ribbon which is hystrix aware so it knows where not to route to smart endpoints, dumb pipesDeclarative REST clients (Netflix's Feign) Edge clients on static DNS, edge services make calls to eureka / zuul to resolve to mod tier servicesRouter and Filter: automatic registration of Zuul filters, and a simple convention over configuration approach to reverse proxy creation

Service Discovery: Eureka instances can be registered and clients can discover the instances using Spring-managed beansService Discovery: an embedded Eureka server can be created with declarative Java configurationCircuit Breaker: Hystrix clients can be built with a simple annotation-driven method decoratorCircuit Breaker: embedded Hystrix dashboard with declarative Java configurationDeclarative REST Client: Feign creates a dynamic implementation of an interface decorated with JAX-RS or Spring MVC annotationsExternal Configuration: a bridge from the Spring Environment to Archaius (enables native configuration of Netflix components using Spring Boot conventions)

#TITLEMonth Year

Netflix OSS - Hystrix

Hystrix: Latency and Fault Tolerance for Distributed Systems

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

Netflix OSS Eureka

Cloud Load Balancing And Failover Tool: Eureka! Service Discovery

# 2015 Pivotal Software, Inc. All rights reserved.

Netflix OSS Zuul

http://nirmata.com/2014/08/getting-started-with-microservices-using-netflix-oss-docker/Intelligent Routing

# 2015 Pivotal Software, Inc. All rights reserved.

Netflix OSS Ribbon

Ribbon is a client side IPC library that is battle-tested in cloud. It provides the following features

Load balancingFault tolerance Multiple protocol (HTTP, TCP, UDP) support in an asynchronous and reactive modelCaching and batching

# 2015 Pivotal Software, Inc. All rights reserved.

Netflix OSS linksHystrix : https://github.com/Netflix/Hystrix Zuul : https://github.com/Netflix/zuul Ribbon : https://github.com/Netflix/ribbon Eureka : https://github.com/Netflix/eureka Netflix OSS : https://netflix.github.io/

# 2015 Pivotal Software, Inc. All rights reserved.

Spring framework

# 2015 Pivotal Software, Inc. All rights reserved.

Like every developer knows about agile, but therere only few really can do it. Cloud Native seems easy, but it contains many of software technologies and operation overheads. To dealing with this truth, Pivotal offers Cloud Foundry for enterprise who wants to archive time-to-market. #TITLEMonth Year

http://spring.io

# 2015 Pivotal Software, Inc. All rights reserved.

We owns spring. If you access to http://spring.io, then you will see our corporate logo at bottom. #TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

Netflix is one of our customer, and theyre publishing OSS which contains their 7 year experiences. Their OSS contains super powerfull developer tools to archive Cloud Native, so we worked to adopt their experiences to Spring framework. #TITLEMonth Year

Spring CloudDistributed/versioned configuration Service registration and discovery Routing Service-to-service calls Load balancing Circuit BreakersGlobal locksLeadership election and cluster state Distributed messaging

http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html

# 2015 Pivotal Software, Inc. All rights reserved.

That is called as Spring Cloud. #TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

Like every developer knows about agile, but therere only few really can do it. Cloud Native seems easy, but it contains many of software technologies and operation overheads. To dealing with this truth, Pivotal offers Cloud Foundry for enterprise who wants to archive time-to-market. #TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

It is notEASY

# 2015 Pivotal Software, Inc. All rights reserved.

Container only Dynamic Routing Scheduling Log aggregation / Status Stream Health monitoring / Self Healing Upgrade / Patch HOW?

# 2015 Pivotal Software, Inc. All rights reserved.

Pivotal CF Enterprise Paltform

Application Containerization & Cluster SchedulingNative & Extended Data, Mobile and Platform ServicesPolicy, Identity and Roles ManagementApp Health Mng, Load Balancing, Rapid Scaling, Availability ZonesIaaS Provisioning, Scaling & Configuration

Automatic AppServer & OS Configuration with Buildpacks (just push your app)

Application Network Security GroupsApplication to Services Binding and Access

Logging as a service,Application metrics & performance,Metric based scaling

# 2015 Pivotal Software, Inc. All rights reserved.

WHATPivotal CF is next generation middleware that delivers 9 things that are typically delivered via point software products.

We provision operating systems and middleware. We deliver workload density without compromising application performance.We ensure that applications have appropriate network security safe guards to prevent security threats.We support application connections to external sources including databases and legacy middleware.We provide 4 levels of HA, with built in load balancing for scale in/outWe support multi-tenant environments so that each line of business can operate with a discrete quota and isolated system access.We provision next generation data services including NOSQL databases, traditional databases and hadoop clusters. We provide horizontal and vertical scaling for the underlying IaaS so that you can scale your infrastructure in lock step with your Business.We provide a built-in log aggregation service, built-in APM metrics and utilization based auto-scaling so that you can monitor the health of your applications and scale out without human or 3rd party tool intervention.

I am going to cover each of these 9 capabilities in more detail, but its important to note the impact of this collection of capabilities. The following slides will include information on CAPEX and OPEX reduction. We will also discuss how you can deliver faster time to value while holding the line on infrastructure cost.#TITLEMonth Year

To: Pushing apps to the cloud with a few easy verbstarget push create bind scale +100

Cloud Deployment: 2-4 hours

App Deployment: 30-90 secondsDeveloperOperatorcf-iaas.ymlprovision add_capacity

# 2015 Pivotal Software, Inc. All rights reserved.

Overview: Deploying App to Cloud Foundry RuntimeDeveloper

Upload app bits and metadatapush appRouterCreate and bind servicesStage applicationDeploy applicationManage application healthwhich we will depict in a momentCloud FoundryRuntime (PaaS)

Blobstore

DB

Cloud Controller

Service Broker Node(s)

DEA

DEA

DEA

DEA

+ app MD

+=

Servicecredentials

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Foundry PaaS

An application runs in a DEA, which is a droplet execution agent. The Cloud Controller orchestrates the routing and lifecycle of all DEAs in the pool. Routers manage application traffic. Health Manager reports mismatched application states to the CC. A service gateway provides an interface for services (native or external). A messaging bus manages all system communication. Apps are accessed directly through the router while web and CLI clients (e.g., vmc, STS) access Cloud Controller via RESTful services.

#TITLEMonth Year

From a VM Centric to Application Centric WorldInfrastructure Specific

JVMVM

Pre-Provisioned Pool of VMsContainer 1

App ServerJVMContainer 2

App ServerJVMApp1Common Access Tier (App1, App2)App ServerConfigurationsBuilt-in Middleware ServicesJVMVMApp2App ServerConfigurationsIaaS Agnostic

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Foundry Architecture

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Foundry PaaS

An application runs in a DEA, which is a droplet execution agent. The Cloud Controller orchestrates the routing and lifecycle of all DEAs in the pool. Routers manage application traffic. Health Manager reports mismatched application states to the CC. A service gateway provides an interface for services (native or external). A messaging bus manages all system communication. Apps are accessed directly through the router while web and CLI clients (e.g., vmc, STS) access Cloud Controller via RESTful services.72#TITLEMonth Year

Container SchedulingApplication FrameworkServicesPlatform RuntimeRoutingDatabaseConfigurationService DiscoveryBig DataObject StorageMobileContinuous IntegrationUser ProvidedLogging & MetricsMessagingCircuit Breakers12 Factor AppsRESTful ServicesMicroservices.NETSpring BootNode.jsRuby on Rails

OperationsZero Downtime DeploymentsFailover & RecoveryScalingSecurity PatchingPlatformUpgradesInfrastructureVMwareOpenStackAmazon

# 2015 Pivotal Software, Inc. All rights reserved.

When if you want to build micro service based architecture, and trying to implement it to your own service, its really not easy to archive. You need to learn a lots of information and technologies such as CSPs SDK for each service offers, need to learn how to aggregate logs, integrate with databases, caches, multi-vendor-versioned mobile supports, etc. I can sure that this will drive you to hell.

Cloud Foundry, is a platform that makes you focus only for code. If you are a Spring developer? Then just right code with Spring Cloud, and if you need database, just call an API then the database will be their with endpoint information which can be referenced by environment variables. You need cache? Its all the same. If you need to deploy same code to AWS as OpenStack? Just change CF endpoint and push your code. #TITLEMonth Year

ApplicationFrameworkInfrastructure AutomationRuntimePlatform

# 2015 Pivotal Software, Inc. All rights reserved.

We, Pivotal offers from framework to infrastructure automations.#TITLEMonth Year

Multi-CloudVMwarevCloud airAWSAzureGoogleCompute Engine Vendor AIaaSOpenStackCloud FoundryVendor APaaSCloud Foundry Foundation non-for-profit 5016 Linux Foundation Collaborative Project On-premise Public CloudNow supportedFuture roadmapNow supported

Your ApplicationsLock-in

# 2015 Pivotal Software, Inc. All rights reserved.

Multi-cloud support is super important to Enterprise. If you chose one, then it means youll be locked into them in code level. What if you want to deploy your code where AWS does not have regions? What if you want to dont waste your time to rebuild code to migrate from OpenStack to AWS? As you already know, Spring is open sourced, it can be run anywhere. So theres no code level lock-in. And Cloud Foundry helps to you keep away from complex multi-cloud implementation.

What if you chose one? Id recommend you whos behind on their product. Cloud Foundry, which is adopted by HP and IBM for their own version, is get supported by more than 24 vendors and its becoming a standard platform. #TITLEMonth Year

Containers - Docker?https://blog.docker.com/2014/05/docker-joins-cloud-foundry-foundation/

We should make it clear that while we are supporting the Cloud Foundry foundation, we do not endorse any particular PaaS solution over others. We are excited by the broad range of solutions that have already incorporated native Docker support, both some established platforms and some that are purpose-built for Docker.

# 2015 Pivotal Software, Inc. All rights reserved.

Containers - Docker!

# 2015 Pivotal Software, Inc. All rights reserved.

Cloud Foundry: The Industrys Open Cloud Standard

PLATINUMGOLDSILVER

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

Lattice.cf

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

Why wait? Try it now!

http://projects.spring.io/spring-cloud/

# 2015 Pivotal Software, Inc. All rights reserved.

Why wait? Try it now!http://run.pivotal.io

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

Lets start with how we empower the cultural transformation- the people and process side of the equation.#TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

http://agilemanifesto.org/iso/ko/#TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

ITS ABOUT BUILDING A GREAT CULTURE

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

# 2015 Pivotal Software, Inc. All rights reserved.

http://www.hankyung.com/news/app/newsview.php?aid=2015032034641

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

Pivotal Labs

Agile DevelopmentProduct DesignProduct ManagementInnovation WorkshopsAgile Immersion

Discovery & Framing

Quality AssuranceData Science

Deployment

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

ROI : LEGACY APPROACH TO ENGINEERINGEngineersQuality AssuranceRelease EngineersInfrastructureOperations

x500x100x25x35x50

ENGINEERING DIVISION

# 2015 Pivotal Software, Inc. All rights reserved.

BiModal IT

# 2015 Pivotal Software, Inc. All rights reserved.

You may think like, our org doent ready for this, and how we can transform our org from now to DevOps team?. Heres the Gartners model about how to change your org. This is not a thing that change at once. Theres no magic. You need to think about 1 year later. Do you want to stay as-is, or improve your team as Amazon/Netflix did? #TITLEMonth Year

Pivotal Labs : Scale

3 MONTHS

6 MONTHS

9 MONTHS

1 Year

EXPERTNOVICE

# 2015 Pivotal Software, Inc. All rights reserved.

Pivotal Labs

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year

Why wait? Try it now!

http://projects.spring.io/spring-cloud/

# 2015 Pivotal Software, Inc. All rights reserved.

Why wait? Try it now!http://run.pivotal.io

# 2015 Pivotal Software, Inc. All rights reserved.

# 2015 Pivotal Software, Inc. All rights reserved.

#TITLEMonth Year