Developing cloud native applications presents several challenges. How do microservices discover each other? How do you configure them? How can you make them resilient to failure? How can you monitor the health of each microservice?
Spring Cloud addresses all of these concerns. Even so, you still must explicitly develop your own discovery server, configuration server, and circuit breaker dashboard for monitoring the circuit breakers in each microservice.
Spring Cloud Services for Pivotal Cloud Foundry picks up where Spring Cloud leaves off, offering a discovery server, configuration server, and Hystrix dashboard as services that can be bound to applications deployed in Pivotal Cloud Foundry, leaving you to focus on developing the services that drive your application. In this talk, we will introduce the capabilities provided by Spring Cloud Services and demonstrate how it makes simple work of deploying cloud native applications to Cloud Foundry.
The reactive programming model involves a fundamental shift from imperative to non-blocking logic and understanding what that means on the most basic level is an essential and required first step. In this talk we'll start by introducing reactive programming and discuss how it impacts application design. Then we'll take a look at the building blocks from a Java developer's perspective. Finally we'll complete the picture by checking out the upcoming Spring 5 support for reactive web applications.
In this panel session we will discuss the top lessons learned from building a fully integrated developer platform - leveraging Cloud Foundry and OpenStack. We will also discuss how we tuned the underlying OpenStack infrastructure and answer questions from the audience on best practices and potential pitfalls.
Insurance is one of many well established industries which is being rapidly disrupted by a number of forces including the emergence of direct sales, displacement of traditional underwriting by analytical capabilities and well funded new entrants. Allstate, founded in 1931 and the second largest Property and Casualty Insurer in the US, is pursuing the goal of creating a 22nd Century Corporation. In addition to acquiring esurance in 2011 and establishing a Strategic Ventures arm in 2015, Allstate set about recasting the organization's technical and engineering discipline to make it core to the company, and moving technology up the value chain. Learn more about how Allstate is building new applications that are evolutions of their core business, and modernizing decades of legacy investment. This talk will also address best practices to organizational change management and real experiences in successful technical collaboration across the globe.
Spinnaker is an open source, multi-cloud continuous delivery platform. It is used by over 90% of cloud deployments at Netflix. The Spring Expression Language (SpEL) is heavily leveraged to fully articulate and extend Spinnaker’s automated deployment pipelines. SpEL is used heavily to interact with pipeline stages and triggers for variable substitution, information retrieval and conditional evaluation. This session will walk through the evolution of Spinnaker’s use of SpEL over two years of active development. We will share the code, features and wisdom gained from helping the Netflix and open source community adopt SpEL. You should attend if you are interested in the Spinnaker platform and the continuous delivery pipelines feature, or wish to learn how to fully harness SpEL for your own tools.
Although PayPal has been using Spring in production for many years, as part of a goal to move towards micro-services, PayPal recently introduced Spring Boot to its Java framework (known as “Raptor”), which includes RESTful services, Batch and Message Daemon applications. Besides Spring Boot, other Spring projects are used, such as Spring framework, Spring Batch and Spring Integration.
PayPal Java RESTful framework provides a microservices architecture and deployment model, relying on a PaaS infrastructure on the cloud, CI, Docker, embedded container and Spring Boot. Additionally, many Spring Boot starters, and Spring based features, were developed to achieve PayPal needs.
A few examples are:
- A REST client abstraction and DI mechanism
- Central application logging (abstracting URIs and supporting sub-resources when logging traffic to RESTful endpoints)
- Application logging to asynchronous activity in Spring Integration channels (for messaging applications)
- A few Spring Boot starters for automatic initialization and configuration of “opinionated” PayPal components
- RESTEasy Spring Boot starter
Regarding REST services, RESTEasy is the JAX-RS choice for PayPal. Although there is one Spring Boot starter for Jersey, and one for Spring REST, there was none for RESTEasy. Because of that PayPal also created, and open sourced, a RESTEasy Spring Boot starter.
With the advent of the Kafka 0.9+ pure Java client, the Spring Team has created the new spring-kafka project with familiar Spring abstractions such as the KafkaTemplate, message listener container and POJO listener annotation @KafkaListener.
In this talk we'll take a look at the features of the project as well as the new version (2.0) of spring-integration-kafka which is now based on the Spring for Apache Kafka project.
Are you taking on a large project that seems insurmountable? Perhaps a full rewrite, migrating to the cloud, or a large ETL? Extreme Programming can help!
Following a full rewrite of our legacy application, we were tasked with transferring data from Oracle to Postgres- with an entirely different schema. This session covers basic principles of XP and how they helped get us to production in under 2 months.
Curious about what's new in Spring's testing support in 4.3 or what's on the horizon in Spring 5 and JUnit 5? Then join Sam Brannen, Spring Test component lead and JUnit 5 core committer, to find out! The first part of this session will give attendees an overview of the latest core integration testing improvements in Spring 4.3 such as the new SpringRunner alias for the SpringJUnit4ClassRunner, the omission of @ContextConfiguration when it can be inferred, support for @Sql and @SqlGroup as composed annotations, limiting the context cache size within a test suite, and the new ContextCustomizer API for customizing a test's ApplicationContext. The next part will cover recent improvements in Spring MVC Test such as server-side testing support for expectations on response headers, form data processing, JSON prefixes in response content, custom HTTP verbs, and verifying that a specific controller method was invoked as well as client-side REST testing support for indicating how many times a request is expected and expectations for form data in the request body. The focus will then shift to what kinds of testing features to expect in Spring 5.0. And last, but certainly not least, Sam will dive into live examples using Spring's upcoming support for JUnit 5 for modern testing on Java 8 and beyond.
It’s been a long journey to Cloud Native for the Java ecosystem. Over the last 10 years or so we watched as Web company after Web company ran into scaling and management challenges that led them to adopt Java-based platforms. Meanwhile the Big Data revolution has also largely been an open source Java phenomenon. And then there’s Android of course. Java has been reinvigorated by lessons from the web – in areas such as Continuous Integration, DevOps and Microservices. Today enterprise Java shops are bringing it all together, learning from the web, adopting Java technology that has been refactored and refreshed, and tooling up to become Web Companies. Java is going to drive organisations through digital transformations. This talk will look to bring the threads together about the Java renaissance and associated cultural change.
Based on customer demand for Cloud Foundry on Azure, Microsoft developed the open source Cloud Provider Interface (CPI) enabling customers to deploy Cloud Foundry on Azure in all 38 public cloud regions. Join us to learn about Microsoft’s open source PaaS strategy and see an example of how you can deploy Java micro-services to (Pivotal) Cloud Foundry on Azure using a Cloud Foundry Service Broker to leverage higher level Azure services.
Great software companies aren’t just adept at storing, managing and analyzing data. They are also expert at leveraging data to fundamentally change the user experience, improve profitability and efficiency, and even develop entirely new business models. This requires developing smart applications that deliver information in context - the right information, to the right person or machine at the right time in order to take action. In this panel discussion, we’ll explore how great software companies are upending traditional industries through the use of data and smart applications, discuss the implications for enterprises in more traditional industries, and provide a blueprint for developing smart applications to deliver information in context.
Access to persistent storage is probably the most requested feature on Cloud Foundry. With persistence storage capabilities new workloads are now possible ranging from efficiently accessing filesystem based services, to scalable deployments of LAMP Stack applications such as Wordpress and Drupal.
At this session we'll explain how we extended the runtime to include persistence storage, demo pushing and scaling a representative application that accesses data on an NFS volume, such as EMC Isilon and talk about what the future holds for persistence on CF.
RxJava is a fully fledged and widely used solution to develop Reactive applications, but some interesting alternatives exist. After an overview of the main Reactive APIs available and of Spring Boot Reactive support, this workshop introduces how to develop Reactive applications using Reactor Core 2.5-a powerful and fast alternative. We will learn how to use Flux (N values) and Mono (single value) types with various exercises. This new API (which is the core of Reactor 2.5) is a game changer in the world of Reactive API on the JVM thanks to its Reactive eXtensions-based API (natively based on Reactive Streams and Java 8) and its unmatched performance.
Microservices are definitely offering best practice guidance for those architecting cloud native applications. The ability to quickly create small services that can be individually deployed, configured and scaled, as building blocks for scalable, highly distributed and fault-tolerant systems has been causing every company to rethink on how to architect modern systems and making Spring Boot shine in popularity.
In the same perspective, in order to achieve the same level of resilience, scalability and flexibility for stateful systems we need to start building our data components over the concepts of Data Microservices.
This session will introduce Spring Cloud Stream from a Data Microservices perspective. We’ll explore its architecture model, highlighting the scalability, high availability, importance of dynamic transport biding layer and different options for orchestration / cloud deployment. We’ll then give an architecture walk-through on how Spring Cloud Data Flow orchestrates those Data Microservices into an advanced data pipelining solution, exemplified by a live demo.
In this presentation we show some nice features of Spring Security, Spring Boot and Angular JS working together to provide a pleasant and secure user experience. Things to consider are cookies, headers, native clients, various security vulnerabilities and how modern browser technology can help us to avoid them. In this series we show how nicely features of the component frameworks can be integrated simply to provide a pleasant and secure user experience. We start with a very basic single-server implementation and scale it up in stages, splitting out backend resources and authentication to separate services.
Cloud Foundry is a highly-available Platform-as-a-Service that provides organizations a stable environment to host their applications. Pivotal Cloud Foundry also includes the concept of tiles, which provide functionality for other services. When installed, tiles gain the benefits of being managed by the PaaS such as reliability and high availability. Examples of these tiles include MySQL, RabbitMQ, and Spring Cloud Services. Administrators can generate brokered instances of these services which are then available to any application running in the PaaS.
Organizations often find themselves in the position of owning custom functionality (e.g. a payment processing service) that would best be implemented as a tile in the PCF installation. Pivotal has recently introduced a new tile generation utility, which makes the generation of custom tiles a practical endeavor. In this session, attendees will learn: the benefits of generating a tile, some of the criteria used to decide whether a tile or some other mechanism is best for your organization, a short demonstration of a tile generation utility provided by Pivotal, and how to operationalize the maintenance of a tile.
Cloud Foundry makes it easy to deploy and run microservices. Now that you have your microservice running, how do you make it easy for other teams to consume it? Spring Initializr, Spring Boot, Spring Cloud Netflix and Cloud Foundry can be used together to make the consumption side easy and efficient. Client libraries can be offered in Spring Initializr. The generated Spring Boot application can be deployed to Cloud Foundry. Service discovery can be provided with Spring Cloud Netflix. The consuming project team can simply write their business logic. This talk will cover the steps to extend Initializr to accomplish easy microservice consumption.
With Pivotal Cloud Foundry and Spring, application groups within Liberty Mutual have experienced a dramatic reduction in time required to bring ideas to the market and developed the flexibility to move applications between clouds based on business need. In this session, Liberty Mutual will share their experiences instating CI/CD and share best practices they picked up along the way.
Spring Cloud Config Server is a great tool for getting your application configuration under source control. We'll start with the quick overview of Spring's Environment and properties and how config server enhances those, while keeping the same model.
Next we'll discuss what concerns you need to take into account when rolling out config server like security, encryption, and location of your repositories (if using Git).
Finally we'll discuss Config Server's extensibility, particularly dealing with security (since config server serves up properties decrypted) and even going so far as adding 'Filtering' to allow for capability akin to CloudFoundry 'Services' for making shared configs that are available across many applications, even accounting for how you might test those extensions.
Come listen to the Home Depot's experience in piloting Spring apps running in Pivotal Cloud Foundry on top of Google Cloud Platform. This session will discuss Home Depot's journey using this cutting edge technology stack, including some of the challenges along the way. And in true DIY fashion, many of the demos provided will be available for attendees to try themselves.
The best teams are the ones with a diverse ways of working, diverse opinions, and diverse backgrounds. BUT with great diversity comes great responsibility -- what do you do when someone rubs you the wrong way or when people don't quite get along?
The problem is simple: not getting along, and the solution is simple, too: getting along. What's not so easy is the magic in between. At pivotal labs, we pair with clients and have little influence over who shows up at our door from our client. Moreover, we work closely together on teams; we pair with each other 1 on 1 for the full day and switch pairs daily. With little room for conflict, we need a really good bag of tricks if we want to have a successful project and career.
Instead of focusing on whether you will like everyone, let's talk about how to make the overall experience better. From understanding yourself and modifying your own behaviors to understanding others and modifying theirs, there's a lot to try.
Building distributed systems - whether we call them SOA or microservices - is not easy. Open source communities like Spring, NetflixOSS and Kubernetes bring decades of experience building these systems, but the question always begs to be asked "do we implement these patterns in the application layer or in the infrastructure layer"?
This is a Java developer-oriented presentation showing developers how to approach building microservices in the real world (influenced by experiences at large enterprise customers) using application-level components like Spring, Spring Cloud, and Netflix OSS and running them on infrastructure components like Docker and Kubernetes. We'll cover some gotchas, patterns, and overall best practices for developing with this ecosystem.
Specifically we'll cover:
Service discovery in a container, clustered environment
Client side? Server side discovery? When to use which?
Distributed configuration techniques in a container environment with Kubernetes and Archaius
Bulkhead microservice interactions with Netflix OSS
Application lifecycle management
When your company is acquired there is a level of change that is inevitable. But what actually happens when the little-fish company is acquired by a bigger-fish company? How hard is it to bring two company cultures together and ensure that the newcomers feel welcomed and accepted? In this talk, Paula Kennedy, former Chief Operating Officer of CloudCredo will talk about how the initial fears of acquisition and cultural change were supplanted by the realisation of being welcomed by family.
From one team and some hardware in a closet to becoming the platform of choice for hundreds of developers across multiple data centers - what has our journey with Pivotal Cloud Foundry looked like in our first year?
How did we get our development community to quickly adopt the platform? What are some things we did wrong and would like to help others avoid in their own transformation and adoption? What are some things we did right and would encourage? What were the technical, organizational, and people challenges along the way?
Some we solved. Some we are still working out. We would like to have an interactive discussion about where we are and see what we can all learn from each other about organizational change and driving adoption.
"The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.” - Bill Gates
Managing a developer platform is difficult. Managing many of them is fraught with complexity and opportunities for error. As Allstate has worked towards becoming a technology enabled enterprise, we have been focused on delivering a next generation developer platform with Pivotal Cloud Foundry at the core. Because we have varying security, disaster recovery and availability requirements, we manage many Pivotal Cloud Foundry environments. This session will cover our journey of optimizing the pain of patching stemcells, upgrading foundations, and upgrading tiles; turning those activities into predictable and repeatable tasks using Concourse as our automation engine. At Allstate, we have used Concourse as a tool to embrace DevOps by shortening feedback loops and reducing batch sizes. During the session we will talk about how we started with a very small and simple Concourse pipeline and evolved it into a platform automation powerhouse that delivers the entirety of our developer platform ecosystem. We will discuss challenges that we encountered through the journey as well as advanced capabilities that our platform team has been able to deliver as we have eased the burden of operational heavy lifting using Concourse.
Enterprise software security traditionally resists change as a matter of unquestioned policy. Vulnerability is a function that changes with time. The probability of being exploited increases with the accumulation of long lived credentials and unpatched code. The question that must be asked is: how can a security strategy which resists change keep up with the pace of the modern threat landscape? This asymmetry in speed and adaptiveness only creates advantages for the attacker. What if the only what to increase security is to move as fast as possible? Continuously rotating credentials, patching systems, and rebuilding clusters to minimize windows of vulnerability decreases the threat profile in time and severity. This presentation will outline principles and practices of Cloud Native Security and how Cloud Foundry can be part of your strategy to increase velocity and security.
Building a continuous delivery pipeline for your micro-service based architecture can be a real challenge when using more conventional CI systems like Jenkins and GoCD. How do you get a clear picture of the CI workflow and status? What artifact was deployed and when? How is this all configured?
Introducing Concourse (https://concourse.ci), an open source pipeline based CI system that focuses on simplicity, usability and reproducibility. It offers isolated builds, a range of integrations and is built upon a proven technology stack from Cloud Foundry.
This talk will demonstrate creating a continuous delivery pipeline for a Spring microservice-based application that uses Spring Cloud. You will see how the pipeline tests services, integrates and then blue / green deploys to Cloud Foundry.
Expect to rush to your laptop to try out Concourse after this session!
Enterprises want to enable continuous delivery and deployment of their digital products while also having the necessary security, robustness, monitoring, and management of the infrastructure. EnterpriseDB is integrating its Cloud Management provisioning capability with the Cloud Foundry Service Broker to allow data services and DBA groups to create templates for robust highly available PostgreSQL deployments while not impeding the speed and agility of the developer groups they serve. We’ll discuss how database provisioning through EDB’s Cloud Management can provide responsible DevOps models for the enterprise.
Cloud Foundry ignited our digital transformation. 1 year later, learn how we adopted new work patterns to continuously innovate and deliver on the world's best CNA Platform. We will walk you through the our adoption of a Devops culture and the innovative OS projects we have contributed as a Cloud Foundry dojo (@emcdojo).
Spring Data Cassandra was a community-maintained module for several years. The Spring Data team promotes the Cassandra module with the Ingalls release train to a core module. Project leads John Blum and Mark Paluch will guide you through the upcoming changes in Spring Data Cassandra and give you an impression what to expect from the upcoming version.
TDD, the savior of bad code, the promise of a better world. And yet… so many teams have tried TDD and failed. It’s a deceptively simple practice that actually requires a good deal of craftsmanship and skill to wield effectively. Through explanations and examples, we’ll examine a number of common problems teams face, including:
Many folks our community promote the idea that unit testing means having a test file for every production class, and a test for every public method. And yet this tightly couples tests to the underlying design patterns of the codebase, and makes it hard to refactor. We’ll look at a way to minimize the surface area of your testing and intentionally define an interface between your tests and production code.
Mocking (Hammer of the Gods)
Mockito (and libraries like it) have created very simple and powerful ways for Java developers to create and use test doubles in their tests. And yet those libraries have also led to a good deal of misunderstanding and misuse of test doubles. We’ll examine the five types of test doubles, their roles, and when they’re applicable – and we’ll also look at the common problems developers run into misusing these tools and concepts.
Death by a Thousand Flakes
Outside-in behavior driven development is a commonly used practice. And yet we have too often conflated “outside” with ”GUI” – with disastrous results. We’ll look at the problems this has caused, including slow test suites, flaky test suites, upside down testing pyramids, and more.
Test Suite Bankruptcy
When all of these bad practices combine, they lead to one place: test suite bankruptcy. We’ll examine a case study of a team that, with the best intentions, applied all of these practices together for the better part of a year, and was forced to declare test suite bankruptcy at the end. We’ll talk about the tell-tale signs that you are approaching bankruptcy, and what you should do if you ever find yourself in that situation (or inheriting that situation from others).
Designing a system in terms of [micro] services is hype du jour but it's not without trade-offs. Debugging a distributed system can be challenging. In this talk we will cover how one can troubleshoot a distributed service-oriented system, focusing on Java, Spring, and RabbitMQ.
Key points of the talk:
- Multi-service system stability depends on how applications are designed as much as middleware
- Multi-service systems are harder to debug
- Several known tools and techniques exist to help: the audience will learn about them
- Some problems are well understood and have known solutions: we will cover a few
- Some tools in this spaces are underdeveloped or lacking
- "Structured platforms" help with troubleshooting and visibility, and affect how applications can/should be developed
In this talk, I will discuss how Geode forms the core of many Wall Street derivative risk solutions. By externalizing risk from trading systems, Geode-based solutions provide cross-product risk management at speeds suitable for automated hedging, while simultaneously eliminating the back office costs associated with traditional trading system based solutions.
How is Manulife, a 125 year old enterprise and one of the largest insurance companies in the world, transforming the way it builds software? What does this transformation look like from the point of view of developers, operators and the business? This session is a moderated panel discussion with those pioneering this transformation in Manulife where you can gain real world insights about changing how your enterprise can build software.
The future of scalable data processing is event-driven microservices! They provide a powerful paradigm that solves issues typically associated with distributed applications, such as availability, data consistency, or communication complexity, and allows the creation of sophisticated and extensible data processing pipelines, bridging the gap between the big data and more traditional enterprise integration world.
Building on the ease of development and deployment provided by Spring Boot, the cloud native capabilities of Spring Cloud, and the messaging model and integration patterns of Spring Integration, the Spring Cloud Stream project provides a simple and powerful framework for event-driven microservices. It defines primitives and abstractions specifically addressing the needs of both event-driven integration, as well as data streaming. For addressing the complexity of deployment, at a higher level of abstraction, Spring Cloud Data Flow is an integrated orchestration layer that provides a highly productive experience for deploying and managing sophisticated data pipelines consisting of standalone microservices. A pluggable runtime SPI allows Spring Cloud Data Flow to coordinate these applications across a variety of distributed runtime platforms such as Apache YARN, Cloud Foundry, Kubernetes, or Apache Mesos. We will demonstrate how to easily create complex data processing pipelines that bridge the world of big data and enterprise integration together, by building Spring Cloud Stream applications from the ground up, and, in the end, how to orchestrate them with Spring Cloud Data Flow.
Applications running on Cloud Foundry often need to connect to data services such as relational databases, document and data structure stores, and messaging services. Spring Cloud Connectors, Spring Boot and Cloud Foundry make it easy to connect Java and Spring applications to these types of data sources. Spring Boot and the Cloud Foundry Java Buildpack provide auto-configuration capabilities that make it possible to connect to data services with no application code changes for simple use cases, yet back away gracefully when custom configuration of connections is required.
This talk will cover how these auto-configuration mechanisms work, their limitations, and how to explicitly configure connections when the need arises.
Cost of running workloads on the mainframe, lack of skilled personnel, speed of innovation as well as the window of despair between OLTP and Batch processing is leading to enterprises moving their legacy workloads to the cloud. This session will present strategies to replatform and refactor existing mainframe COBOL batch applications to Cloud Foundry. We will provide guidance and best practices in migrating monolithic mainframe apps and data including JCLs wrapped in CICS and IMS using Spring components like Spring Data Flow, Spring Cloud and Spring Batch.
This session will provide a pathway to migrate thousands of apps trapped on zOS to a 3 rd generation platform. Session we will delve into technologies like iBM Cloud Connect and IBM zOS API Connect that will open the door for mainframe developers to enter the PaaS ecosystem. Enterprises will benefit from a discussion on the role of CF for legacy mainframe workloads.
Latency analysis is the act of blaming components for causing user perceptible delay. In today's world of microservices, this can be tricky as requests can fan out across polyglot components and even data-centers. In many cases, the root source of latency isn't a component, but rather a link between components.
This session will overview how to debug latency problems, using call graphs created by Zipkin. We'll use trace zipkin itself, setting up from scratch using docker. While we're at it, we'll discuss how the model works, and how to safely trace production. Finally, we'll overview the ecosystem, including tools to trace ruby, c#, java and spring boot apps.
When you leave, you'll at least know something about distributed tracing, and hopefully be on your way to blaming things for causing latency!
Running multiple instances of microservices, deploying Docker images to Kubernetes is the current trend. But what about security? Are you encrypting passwords? Where do you store the key? How often do you rotate secrets? A modern system requires access to a multitude of secrets: database credentials, API keys for external services, credentials for service-oriented architecture communication and often much more. Traditional, manual patterns cannot keep the security bar high with dynamic deployment scenarios. Secrets should stay secret and not get distributed amongst the landscape. Come to this session to learn how to keep the security bar high while running services that require secrets. You'll see how to securely share and manage secrets (certificates, passwords, keys) for your services using Vault and how to use it with Spring Boot.
The recent releases of the widely used Spring tooling for Eclipse have focused a lot on making Spring Boot app and microservice development easier and more effective. In this talk we will showcase the latest features for working with Spring Boot - using live demos and live coding. We will show the easiest ways to get started with Spring Boot, move on to advanced features for dealing with Spring Boot properties in property and YAML files (including greatly improved content-assist, validations, hover help), and demo the Spring Boot dashboard. This major innovation in the Spring tooling makes it extremely easy to deal with potentially many Spring Boot microservice projects in your workspace. We will demo all the new features, including advanced editing of Cloud Foundry manifest files and the ability to detect and merge configuration changes between your cloud runtime and your workspace projects. The talk is all about being more effective in your IDE when working with Spring Boot and turning your IDE into a microservice development center when working with Spring Boot, Spring Cloud, and a cloud-native runtime like Cloud Foundry.
The apparent simplicity of the publisher/subscriber model as exposed in Reactive-Streams can be deceiving. The relatively fast release cycle for libraries in that space is not a myth, concurrency is hard. To keep out undesired side-effects, most Reactive projects have adopted a vertical approach potentially excluding developers from decision-making around execution model or sometimes language.
What if we were able to leave the developer in control, positioning as a robust foundation and making the most of the now industrial standard Java 8 ?
What if we hardened this foundation through open-source and research collaboration, with a direct feedback loop from Pivotal engineering ?
In essence, that's what we aim to achieve with Reactor 2.5. This session is an invitation to explore how the new Reactor design, structure and features can progressively help you go Reactive and show how it plays out in your applications today and tomorrow.
Spring Framework 4.3 is the last in the 4.x generation and it brings plenty of refinements to the @MVC programming model. In Spring 5 the same programming model will be supported on a new reactive foundation. This talk will review the main features in 4.x and preview the work towards Spring Framework 5.
There are seven fights that I have over and over again, whenever I start at a company. I'm here to convince you that it's valuable for everyone to have these things in mind from the inception of a project.
Having these fights early prevents you from doing the software equivalent of poking chocolate chips into an already-baked cookie.
Usually we think of compound interest as what adds magically to our retirement or makes our student loans last forever. But there is also a compound interest of technical debt, where a project is made harder and more expensive because of early "cost-saving" choices.
I think it's empowering for developers and other people involved in the inception of a project to have tools for making the project better long-term.
The seven things I think should be considered very early in development are:
- Localization. Are you ever planning on selling this to someone in another country?
- Security. Don't be the organization that has to pay someone for disaster PR. Building in security early saves you a bunch of time and user churn later.
- Extensibility. What makes you so sure this API will always be internal?
- Documentation. People do not buy software solely based on Powerpoints. You need public docs. The docs have to be more useful than Stack Overflow.
- Affordance. UI is not a word. The microtext matters.
- Acceptance. Have you shown this to any actual humans who are like the users?
- Accessibility. We all use computers different ways. Does your software allow that?
I expect this talk will be relevant to both senior people working on leading project teams, and empowering for juniors who don't have a structure for critiquing usability problems. I want people to leave with an understand of how small changes in the initial trajectory of a project can lead to greatly improved outcomes.
2015 was the year of microservices. It’s already common knowledge that creating distributed systems is not easy. It’s 2016 and it’s time to show how that complexity can be contained.
Service Discovery and Registry (Zookeeper / Consul / Eureka), easy request sending with client side load balancing (Feign + Ribbon), request proxying with Zuul. Everything is easy with Spring Cloud. Just add a dependency, a couple of lines of configuration and you’re ready to go.
That’s fixing difficulties related to writing code - what about solving the complexity of debugging distributed systems? Log correlation and visualizing latency of parts of the system? Spring Cloud Sleuth to the rescue!
In this presentation, we’ll describe how to do distributed tracing with Spring Cloud Sleuth and Zipkin. Additionally, we'll show a demo of incorporating these technologies into an existing stock trading application. By the end, you should feel empowered to add distributed tracing into your own applications!
Did Mom take her morning meds? Did she take the right meds?
Imagine a world where you receive notifications when your mother misses her morning medications and where her doctor automatically receives her Glucometer or Pulse Oximeter readings. This talk will be an introductory discussion about taking an Internet Of Things (IoT) approach to keeping our loved ones safe, in their own homes longer, and elongate their presence in our lives. We will be discussing the challenges around applying IoT technologies to personal healthcare and how we can use Pivotal Technologies to build a more efficient solution.
The discussion will start by reviewing the challenges with personal healthcare including the privacy and security concerns and considerations. We will also delve into how Arther C Clarke's third law can be used to describe IoT technologies. With this context, we will explore building a personal healthcare IoT solution on PCF using Spring Technologies.
It’s not always easy to get the data you need for analysis. And it becomes even more challenging if it is live streaming data you are working with. Learn how you can make Hadoop work for you in the most effective way possible, especially when it comes to adapting to the agile business requirements of today’s competitive environment. We will cover the Hadoop ecosystem – what is Hadoop, HDFS, MapReduce, Yarn, and then how leading open source projects such as Hive, Ambari, Ranger, Atlas, NiFi interact and integrate to support the variety of data used for analytics today.
Exploits are continually evolving making security hard. This is compounded by the fact that the technologies we need to secure are a moving target.
In this talk we will discuss how to easily secure an application with Spring Security 4.1. We will focus on some of the new features found in Spring Security 4.1 and discuss the future direction of Spring Security.
Distributed systems and fast data require new software patterns and implementation skills. Learn how Southwest Airlines uses Apache Geode, organizes team responsibilities, and approaches design tradeoffs. Drawing inspiration from real whiteboard conversations, we’ll explore:
- Common development pitfalls
- Environment capacity planning
- Streaming data patterns, like consumer checkpointing
- Support roles
- Production lessons learned
Every day, Apache Geode improves how Southwest Airlines schedules nearly 4,000 flights and serves over 500,000 passengers. It’s an essential component of Southwest’s ability to reduce flight delays and support future growth.
Find out how Cloud Foundry does continuous integration, from a GitHub pull request against a small repository to an official final release. See how we're striving to raise the bar for open source projects when it comes to rigor, automation, and transparency of our CI. We’ll talk about how we:
integrate work from community contributors and core Foundation contributors, spread across multiple teams and continents;
test at multiple layers, from fast, tightly-scoped unit tests, to full blown deployments and acceptance tests across multiple IaaSes; and
keep the full end-to-end process transparent to the community; not just the source code, but also the build pipelines and the discussions that surround artifact promotion.
The audience will come away with strategies for continuously integrating and deploying their own Cloud Foundry installations or other distributed systems.
Insurers are increasingly leveraging digital technologies to bring in significant changes to their business and operating models. Many strategic programs are currently underway within life, P&C and retirement service providers to embrace customer centricity, API-based distribution channels, loss control through real-time digital data and a lean operating model.
Join Cognizant’s session to learn how we bring together our industry expertise in Insurance and our Lean/Agile techniques, powered by vast experience with Spring and PCF, to innovate with our clients and create business value.
The first part of the session will cover Cognizant cloud-native digital business solutions and platforms (drone, IoT, innovation prototyping platforms etc.) that supports the business and next-gen IT transformations within insurers. Spring Framework, Cloud Foundry and container based technologies serves as architectural building blocks and delivery platforms.
While developing new applications using modern frameworks like Spring and Spring Boot already reduce the time to value for businesses, additional software components and tools further accelerate the time. The second part of this session will cover such tools as developer Blueprints, Microservices, and a single Portal for enabling these on multiple PaaS environments. These additional tools and software help our development teams accelerate value creation for clients by focusing on the business application rather than infrastructure and frameworks setup.
A microservice architecture is pattern that is most commonly associated with larger organizations where services and teams are organized around separate business capabilities. In a project our team recently completed, we used a microservice architecture to allow us to organize a large team to develop a large analytics platform at speeds that would not have been possible using a more typical service-oriented architecture.
In this session, we discuss the organizational structure and communication and development strategies and tools to allow teams to work in parallel without drowning in process overhead and coordination costs.
Pavi and I work on a project in Premier where we've embedded Liquibase into the start of our Spring Boot applications to upgrade our database in-direct coupling with the code we are deploying.
Using a measured and planned approach to agile database development and careful refactoring of the database with more frequent but smaller changes, we facilitate having no outage deployments along with database schema upgrades.
This talk touches on some key concepts in agile database refactoring with working examples of embedded Liquibase change sets within a Spring Boot application, demonstrating a no outage deployment using nginx to simulate a blue green deployment. While upgrading blue, green would still be available and functioning. Performing the cutover etc.
Tying these concepts together was very cool for us and greatly reduced the friction and risk of deploying a code update.
Data science is undoubtedly becoming a key component of every company’s core strategy for growth and increased revenue potential. To meet this market demand, the big data industry has exploded with a variety of tools to address various pieces of the data science value chain, from model scoring, to notebook interfaces, to niche algorithmic techniques. However, despite the increase in innovation in this area, many insights generated by data science teams end up “dying on the vine”. There has to be a better way of deploying operational models to end users through intuitive interfaces that they can use everyday.
In this session, we will demo how the joint solution between Alpine’s Chorus Platform and Cloud Foundry addresses this problem and closes the gap between data science insights and business value. We will demo an example of creating a machine learning model leveraging data within MPP databases such as Apache HAWQ or Greenplum Database integrated with the Chorus Platform and then deploying this as a micro service within Cloud Foundry as a scoring engine.
This turn-key solution will show attendees how easy it is to plug in analytic insights into end user applications that scale, without going through lengthy development cycles.
PCF Dev is a new distribution of Cloud Foundry designed to run on your laptop or workstation. It is intended for programmers who wish to develop and debug their applications locally on a fully-featured Cloud Foundry. Or PMs who want to do acceptance offline. Or newbies interested in exploring Cloud Foundry. It is definitely intended for you.
It is also a product that has gone through its fair share of metamorphoses to be the light-weight, easy to install tool you see before you today. So whether this is the first time you've heard of PCF Dev or you're already using it daily, join us to learn a little about its history, its roadmap, and what sort of peculiarities arise when you pack an entire Cloud Foundry onto one VM.
Within the Enterprise Services Team at Comcast, we have a platform that handles x million transactions a day. Over the course of a year we transformed from large monolithic deployments with cycle times of anything from 90 days to a series of lean and agile teams with cycle times measured in hours.
We achieved this through cultural and technological transformations. Our culture changed from one of individual siloed development to cross-functional teams embracing Agile methods, our technology changed from heavy application server platforms on bare metal to PaaS using Cloud Foundry, from disjointed and manual builds to continuous delivery. This is our story.