Pivotal's cloud native application framework provides developers and architects with all the tools needed to create resilient, secure, and scalable applications. It is composed of three layers spanning the entire application lifecycle from development to production: 1) 12 factor apps and microservices, 2) container orchestration, and 3) infrastructure automation. At the core is Pivotal Cloud Foundry, an open source cloud platform that allows for building, deploying, and managing cloud-native applications.
Thanks for visiting Pivotal at VMWorld.
My name is Julia and today I want to tell you about the Pivotal mission….
From the technology, to the people, to the way people interact with technology, Pivotal is transforming how the world builds software.
Now I want to tell you about one vital part, maybe the most visible part, of the cloud native stack, the application framework.
But first a word about how we got to this point.
We are entering into a fundamentally new era of business, where people have to build new experiences and new capabilities that are driven by software in order to compete in the market.
Competing in this service oriented world means moving fast with consistency and reliability.
Speed has to be balanced with operational excellence. This is the cloud native advantage.
In the not so distant past, software and systems were separate. Software was created by developers. Systems were built and maintained by system administrators.
Many organizations adopted heavy handed change management processes to slow the rate of change and reduce the number of incidents, often with large infrequent changes resulting in brittle systems that tend to fail catastrophically.
The relationship between developers and system administrators are often also brittle and prone to catastrophic failure.
The cloud native approach focuses more on minimizing the impact of incidents by releasing small batches into architectures designed to be operated with partial failure and recovered quickly.
Cloud, Devops, Microservices, Continuous Delivery; these are all aspects of the same phenomena.
The words that describe high performing teams delivering faster, but also delivering consistently and reliably at scale.
That’s what cloud native means.
Pivotal breaks down cloud native technology into 3 layers, which is all supported, reinforced and optimized by cloud native culture.
At the bottom, we have API driven cloud native infrastructure automation. This abstracts the provisioning and configuration of computing, networking and storage resources.
Then we have a cloud native container scheduling runtime responsible for building, running and operating applications.
The top layer consists of frameworks that enable the rapid development of cloud native applications with reusable components and patterns.
Now let’s spend a more time going a little deeper on the Application Framework.
These are the tools that provide all the functionality architects and developers need to design and deliver cloud native applications.
In particular these tools should enable creating microservices and 12 factor apps with minimal friction.
Organizations using these tools, and the supporting platform capabilities, create scalable secure applications while releasing new features every week, if not daily.
Microservices emerged as the primary cloud native architecture.
This method of designing applications breaks subsystems into small independent services.
The application is then composed of these small services.
The good news is that each of these services can be deployed and scaled independently, the bad news is they have to be, but we’ll come back that when we talk about the runtime platform.
In contrast, the traditional architectures delivered applications that were created, deployed and operated as one big monolith.
The pressure to deliver faster at scale, broke these monoliths apart as the early cloud native practioners found that monoliths created problems slowing things down to coordinate everyone for a release and also resisted the cloud preference for scaling out.
This microservice paradigm did not appear over night, but emerged as a pattern across a wide number of successful organizations.
With a monolith, everything must be shipped at once, which means delivery is only as fast as the slowest changing sub-component.
This works great when you have a small project and a small team, but if a large team on a complicated application requires coordinating across the organization, everything can grind to a halt as releases must be held back until everyone is ready.
Even worse, when everything is running in the same system, errors in the smallest subcomponent can bring down all of production.
To pile on, the slow release cadence means larger batches of change, which expose the application to more risk and potentially long after the context of the changes are gone.
Can you imagine trying to figure out where a mistake was made in 6 months of work when production systems are failing?
Unfortunately, I bet you can.
Microservices allow always keeping the trains running because each service is deployed independently in loose coordination with the rest.
Most of the consumer web applications that we take for granted are delivered this way.
Many of them even integrate with each other.
Twitter, Facebook, Google, flickr, Uber, Apple… none of them wait on each other to go ahead and deploy the applications you use everyday, but they use each other.
If microservices describe how the architect your application, what principals do you use for the actual code.
A good place to start is the 12 factor app principals.
Learn from and use the same methods that the original cloud native do.
These 12 simple principles give a surprising amount of detailed, prescriptive advice on how to write your applications to be ready for cloud deployment. They describe a contract between the developer and the cloud platform that, if followed, will allow an application to scale with cloud native resilience.
The other side of that contract must be provided by a platform like Pivotal Cloud Foundry.
Spring Boot is an open source Java framework optimized for developing microservices that is rapidly being adopted and has been embraced cloud native companies like Netflix.
In addition to the rapid development of simple microservices, Pivotal has also embraced a number of Netflix Open Source components to provide additional microservice capabilities like services discovery, dynamic configuration and circuit breakers.
This means that you can use the practices and tools relied on by Netflix and others while leveraging the Java skills you might already have.
Now you have an idea of how to develop cloud native applications and understanding microservices plus the 12 factor app approach is a great starting point the for new cloud native applications.
Your application is ready to be bundled up and ready to run on...something.
Come back to hear us talk about our Cloud Native Runtime Platform.
Together the Pivotal Cloud Native solution supports capabilities like zero downtime deployment, rolling updates, instantly scaling up and down, and continuous delivery...all because your application was designed as a cloud native application.
All of these tools are integrated, meaning: you don't have to do the work to make them all work together.
Instead, you can focus on writing your actual application and delighting your customers, rather than provisioning and configuring servers.
Finally, we wrote the book on how these microservices are used in cloud native architecture and how to get there.
We should have copies here, if you'd like one, or you can get the PDF for free online.
Thank you for your time today, we welcome you to check out all the Pivotal presentations and encourage you to ask one of our technology experts any questions you might have.
We would love to spend time telling you more about how Pivotal’s Cloud Native Platform is transforming how the world builds software.