How do you grapple with a legacy portfolio? What strategies do you employ to get an application to cloud native?
How do you grapple with a legacy portfolio? What strategies do you employ to get an application to cloud native?
This talk will cover tools, process and techniques for decomposing monolithic applications to Cloud Native applications running on Pivotal Cloud Foundry (PCF). The webinar will build on ideas from seminal works in this area: Working Effectively With Legacy Code and The Mikado Method. We will begin with an overview of the technology constraints of porting existing applications to the cloud, sharing approaches to migrate applications to PCF. Architects & Developers will come away from this webinar with prescriptive replatforming and decomposition techniques. These techniques offer a scientific approach for an application migration funnel and how to implement patterns like Anti-Corruption Layer, Strangler, Backends For Frontend, Seams etc., plus recipes and tools to refactor and replatform enterprise apps to the cloud. Go beyond the 12 factors and see WHY Cloud Foundry is the best place to run any app - cloud native or non-cloud native.
Speakers: Pieter Humphrey, Principal Product Manager; Pivotal
Rohit Kelapure, PCF Advisory Solutions Architect; Pivotal
Hungry for more? Check out this blog from Kenny Bastani:
http://www.kennybastani.com/2016/08/strangling-legacy-microservices-spring-cloud.html
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...SlideTeam
Introducing An Architectural Deep Dive With Kubernetes And Containers PowerPoint Presentation Slides. Present the need for the containers in an organization with the help of a readily available PPT slideshow. Discuss container architecture, use cases details to make your presentation elaborative. Showcase the features, architecture, installation roadmap, and the 30-60-90 day plan in Kubernetes with the help of modern-designed PPT infographics. Familiarize your viewers with the various components of Kubernetes with the help of content-ready Kubernetes Docker PPT visuals. Make full use of high-quality icons to make your presentation attention-grabbing and meaningful. Compare and contrast Kubernetes with docker swarm based on various parameters with the help of this attention-grabbing PPT slideshow. Elaborate on Kubelet, Kubectl, and Kubeadm with the help of labeled diagrams. Showcase the networking model of Kubernetes, security measures, and the development process with this easy-to-use docker Architecture PowerPoint template. Therefore, hit the download button now to grab this amazing presentation. https://bit.ly/3vtLeFb
Containers and workload security an overview Krishna-Kumar
Beginner Level Talk - Presented at Bangalore container conf 2018 - Containers and workload security an overview. Hope it get starts your container security journey :-)
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
https://www.youtube.com/watch?v=YmIAatr3Who
Presented at Cloud and AI DevFest GDG Montreal on September 27, 2019.
Are you looking to get more flexibility out of your CICD platform? Interested how GitOps fits into the mix? Learn how Argo CD, Workflows, and Events can be combined to craft custom CICD flows. All while staying Kubernetes native, enabling you to leverage existing observability tooling.
Where SOA and Monolitch EAR have failed. It's not simple to have your Apps scaling automagically without a very complex architecture. We're going to show pros and cons of so called Cloud-Native Applications based on Microservices, Caas, DevOps, Continuous Delivery....
Today, there are several trends that are forcing application architectures to evolve. Users expect a rich, interactive and dynamic user experience on a wide variety of clients including mobile devices. Applications must be highly scalable, highly available and run on cloud environments. Organizations often want to frequently roll out updates, even multiple times a day. Consequently, it’s no longer adequate to develop simple, monolithic web applications that serve up HTML to desktop browsers.
This site describes a new, alternative architecture: microservices. Applications with a microservice architecture consist of a set of narrowly focused, independently deployable services. Read on to find out more about this approach and its associated trade-offs. A good starting point is the Monolithic Architecture pattern.
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux.[5] Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines.
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...SlideTeam
Introducing An Architectural Deep Dive With Kubernetes And Containers PowerPoint Presentation Slides. Present the need for the containers in an organization with the help of a readily available PPT slideshow. Discuss container architecture, use cases details to make your presentation elaborative. Showcase the features, architecture, installation roadmap, and the 30-60-90 day plan in Kubernetes with the help of modern-designed PPT infographics. Familiarize your viewers with the various components of Kubernetes with the help of content-ready Kubernetes Docker PPT visuals. Make full use of high-quality icons to make your presentation attention-grabbing and meaningful. Compare and contrast Kubernetes with docker swarm based on various parameters with the help of this attention-grabbing PPT slideshow. Elaborate on Kubelet, Kubectl, and Kubeadm with the help of labeled diagrams. Showcase the networking model of Kubernetes, security measures, and the development process with this easy-to-use docker Architecture PowerPoint template. Therefore, hit the download button now to grab this amazing presentation. https://bit.ly/3vtLeFb
Containers and workload security an overview Krishna-Kumar
Beginner Level Talk - Presented at Bangalore container conf 2018 - Containers and workload security an overview. Hope it get starts your container security journey :-)
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
https://www.youtube.com/watch?v=YmIAatr3Who
Presented at Cloud and AI DevFest GDG Montreal on September 27, 2019.
Are you looking to get more flexibility out of your CICD platform? Interested how GitOps fits into the mix? Learn how Argo CD, Workflows, and Events can be combined to craft custom CICD flows. All while staying Kubernetes native, enabling you to leverage existing observability tooling.
Where SOA and Monolitch EAR have failed. It's not simple to have your Apps scaling automagically without a very complex architecture. We're going to show pros and cons of so called Cloud-Native Applications based on Microservices, Caas, DevOps, Continuous Delivery....
Today, there are several trends that are forcing application architectures to evolve. Users expect a rich, interactive and dynamic user experience on a wide variety of clients including mobile devices. Applications must be highly scalable, highly available and run on cloud environments. Organizations often want to frequently roll out updates, even multiple times a day. Consequently, it’s no longer adequate to develop simple, monolithic web applications that serve up HTML to desktop browsers.
This site describes a new, alternative architecture: microservices. Applications with a microservice architecture consist of a set of narrowly focused, independently deployable services. Read on to find out more about this approach and its associated trade-offs. A good starting point is the Monolithic Architecture pattern.
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux.[5] Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines.
In this session, we’ll discuss the benefits of moving from monolithic to micro-services application architectures, and examine where micro-services can be used. We’ll share common transition strategies and relate them to the specifics of e-commerce and retail workloads, using customer examples. You’ll learn how to build micro-services using AWS services, and get a better understanding of the role of data storage, API endpoints and service discovery. Plus, you can learn from the real-life experience of Digital Goodie, an online retailing platform for connected commerce.
DevOps is a set of practices that aims to provide superior quality software quickly by integrating the processes between the development and the operation teams. DevOps is an agile relationship between development and IT operations. DevOps is the abbreviation for Development and Operations. The development includes Plan, Create, Verify and Package. Operations include Release, Configure, and Monitor.
We are on the cusp of a new era of application development software: instead of bolting on operations as an after-thought to the software development process, Kubernetes promises to bring development and operations together by design.
Kubernetes Secrets Management on Production with DemoOpsta
Are you still keep your credential in your code?
This session will show you how to do secrets management in best practices with Hashicorp Vault with a demo on Kubernetes
Jirayut Nimsaeng
Founder & CEO
Opsta (Thailand) Co., Ltd.
Youtube Record: https://youtu.be/kBgePhkmRMA
TD Tech - Open House: The Technology Playground @ Sathorn Square
October 29, 2022
Architectures for open and scalable cloudsRandy Bias
My presentation for 2012's Cloud Connect that goes over architectural and design patterns for open and scalable clouds. Technical deck targeted at business audiences with a technical bent.
Pulsar in the Lakehouse: Apache Pulsar™ with Apache Spark™ and Delta Lake - P...StreamNative
In this session, we provide an overview of the “Lakehouse” architecture and how Apache Pulsar™ can be used to support this architecture through integrations with the Apache Spark™ and Delta Lake to build your reliable data lake. We will also discuss the current state of Pulsar + Spark & Delta Lake connectors and discuss real world use cases and present the roadmap on what you can expect in the future of integrations between Spark, Delta Lake, and Pulsar communities.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
Applications built on a microservices-based architecture and packaged as containers bring several benefits to your organization. In this session, AWS highlights potential hurdles, how to plan your migration to microservices, and how to use containers and serverless architecture to manage this journey.
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
"Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!"
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2020/01/09/java-rest-api-showdown
GitHub repo: https://github.com/oktadeveloper/okta-java-rest-api-comparison-example
Microservices Integration Patterns with KafkaKasun Indrasiri
Microservice composition or integration is probably the hardest thing in microservices architecture. Unlike conventional centralized ESB based integration, we need to leverage the smart-endpoints and dumb pipes terminology when it comes to integrating microservices.
There two main microservices integration patterns; service orchestration (active integrations) and service choreography (reactive integration). In this talk, we will explore on, Microservice Orchestration, Microservice Choreography, Event Sourcing, CQRS and how Kafka can be leveraged to implement microservices composition
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Weaveworks
In this session, we’ve partnered with Upbound to showcase how to effectively manage application delivery while maintaining a high level of security using Weave GitOps and Upbound. Managing a stateful application deployment with a relational database, Weave GitOps can recognize if there is a policy violation and correct it before deploying the application.
Join us as we demonstrate the scenarios where:
All changes to application configuration are managed through Git workflows
Upbound’s Universal Crossplane allows you to build, deploy, and manage your cloud platforms
GitOps provides an extra layer of security by removing the need for direct access to Kubernetes clusters
Policy-as-Code guarantees security, resilience and coding standards compliance
Watch the recording: xx
Pivotal Cloud Foundry: A Technical OverviewVMware Tanzu
"Do your teams release software to production weekly, daily or every hour ? Do you practice software development with tools, process and culture that can respond to the speed of market and customer changes? Agility allows you to experiment with new business models, learn from your mistakes and identify patterns that work. Deliver faster, look for feedback, gain knowledge. In every market, speed wins.
Cloud Native describes the patterns of high performing organizations delivering software faster, consistently and reliably at scale. Continuous delivery, DevOps, and microservices label the why, how and what of the cloud natives, the true digital enterprises."
Speaker: Vijay Rajagopal, Advisory Platform Architect, Pivotal
The ability to deliver software is no longer a differentiator. In fact, it is a basic requirement for survival. Companies that embrace cloud native patterns of software delivery will survive; companies that don’t - will not.
In this webinar, we will:
- Look at the common patterns that distinguish cloud native companies and the architectures that they employ.
- Discover that an opinionated platform, one that stretches from the infrastructure all the way to the application framework, rather than ad-hoc automation, is an essential component to an enterprise's cloud native journey.
- Show that the combination of Pivotal Cloud Foundry and Spring is the complete cloud native platform.
Speaker:
Faiz Parkar
DIRECTOR OF PRODUCT MARKETING
As Director of Product Marketing for Pivotal in the Europe, Middle East and Africa region, Faiz Parkar loves working at the intersection of cloud native platforms, big data/analytics and agile application development to help organisations deliver compelling data-driven software experiences for their customers. With more than 25 years experience in the IT industry, Faiz has helped organisations large and small to take advantage of technology transitions from proprietary systems to client/server, from physical infrastructure to virtual, and from virtual infrastructure to cloud. His mission now is to help organisations accelerate their digital transformation journey and reinvent themselves as the digital leaders of the future.
In this session, we’ll discuss the benefits of moving from monolithic to micro-services application architectures, and examine where micro-services can be used. We’ll share common transition strategies and relate them to the specifics of e-commerce and retail workloads, using customer examples. You’ll learn how to build micro-services using AWS services, and get a better understanding of the role of data storage, API endpoints and service discovery. Plus, you can learn from the real-life experience of Digital Goodie, an online retailing platform for connected commerce.
DevOps is a set of practices that aims to provide superior quality software quickly by integrating the processes between the development and the operation teams. DevOps is an agile relationship between development and IT operations. DevOps is the abbreviation for Development and Operations. The development includes Plan, Create, Verify and Package. Operations include Release, Configure, and Monitor.
We are on the cusp of a new era of application development software: instead of bolting on operations as an after-thought to the software development process, Kubernetes promises to bring development and operations together by design.
Kubernetes Secrets Management on Production with DemoOpsta
Are you still keep your credential in your code?
This session will show you how to do secrets management in best practices with Hashicorp Vault with a demo on Kubernetes
Jirayut Nimsaeng
Founder & CEO
Opsta (Thailand) Co., Ltd.
Youtube Record: https://youtu.be/kBgePhkmRMA
TD Tech - Open House: The Technology Playground @ Sathorn Square
October 29, 2022
Architectures for open and scalable cloudsRandy Bias
My presentation for 2012's Cloud Connect that goes over architectural and design patterns for open and scalable clouds. Technical deck targeted at business audiences with a technical bent.
Pulsar in the Lakehouse: Apache Pulsar™ with Apache Spark™ and Delta Lake - P...StreamNative
In this session, we provide an overview of the “Lakehouse” architecture and how Apache Pulsar™ can be used to support this architecture through integrations with the Apache Spark™ and Delta Lake to build your reliable data lake. We will also discuss the current state of Pulsar + Spark & Delta Lake connectors and discuss real world use cases and present the roadmap on what you can expect in the future of integrations between Spark, Delta Lake, and Pulsar communities.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
Applications built on a microservices-based architecture and packaged as containers bring several benefits to your organization. In this session, AWS highlights potential hurdles, how to plan your migration to microservices, and how to use containers and serverless architecture to manage this journey.
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
"Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!"
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2020/01/09/java-rest-api-showdown
GitHub repo: https://github.com/oktadeveloper/okta-java-rest-api-comparison-example
Microservices Integration Patterns with KafkaKasun Indrasiri
Microservice composition or integration is probably the hardest thing in microservices architecture. Unlike conventional centralized ESB based integration, we need to leverage the smart-endpoints and dumb pipes terminology when it comes to integrating microservices.
There two main microservices integration patterns; service orchestration (active integrations) and service choreography (reactive integration). In this talk, we will explore on, Microservice Orchestration, Microservice Choreography, Event Sourcing, CQRS and how Kafka can be leveraged to implement microservices composition
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Weaveworks
In this session, we’ve partnered with Upbound to showcase how to effectively manage application delivery while maintaining a high level of security using Weave GitOps and Upbound. Managing a stateful application deployment with a relational database, Weave GitOps can recognize if there is a policy violation and correct it before deploying the application.
Join us as we demonstrate the scenarios where:
All changes to application configuration are managed through Git workflows
Upbound’s Universal Crossplane allows you to build, deploy, and manage your cloud platforms
GitOps provides an extra layer of security by removing the need for direct access to Kubernetes clusters
Policy-as-Code guarantees security, resilience and coding standards compliance
Watch the recording: xx
Pivotal Cloud Foundry: A Technical OverviewVMware Tanzu
"Do your teams release software to production weekly, daily or every hour ? Do you practice software development with tools, process and culture that can respond to the speed of market and customer changes? Agility allows you to experiment with new business models, learn from your mistakes and identify patterns that work. Deliver faster, look for feedback, gain knowledge. In every market, speed wins.
Cloud Native describes the patterns of high performing organizations delivering software faster, consistently and reliably at scale. Continuous delivery, DevOps, and microservices label the why, how and what of the cloud natives, the true digital enterprises."
Speaker: Vijay Rajagopal, Advisory Platform Architect, Pivotal
The ability to deliver software is no longer a differentiator. In fact, it is a basic requirement for survival. Companies that embrace cloud native patterns of software delivery will survive; companies that don’t - will not.
In this webinar, we will:
- Look at the common patterns that distinguish cloud native companies and the architectures that they employ.
- Discover that an opinionated platform, one that stretches from the infrastructure all the way to the application framework, rather than ad-hoc automation, is an essential component to an enterprise's cloud native journey.
- Show that the combination of Pivotal Cloud Foundry and Spring is the complete cloud native platform.
Speaker:
Faiz Parkar
DIRECTOR OF PRODUCT MARKETING
As Director of Product Marketing for Pivotal in the Europe, Middle East and Africa region, Faiz Parkar loves working at the intersection of cloud native platforms, big data/analytics and agile application development to help organisations deliver compelling data-driven software experiences for their customers. With more than 25 years experience in the IT industry, Faiz has helped organisations large and small to take advantage of technology transitions from proprietary systems to client/server, from physical infrastructure to virtual, and from virtual infrastructure to cloud. His mission now is to help organisations accelerate their digital transformation journey and reinvent themselves as the digital leaders of the future.
Are you being asked to put more cloud in your strategy? If you’re like most people, the answer is a definite yes. The word “cloud” can mean so many things, however, that making an actionable strategy is impossible. At Pivotal, we divide cloud into two distinct parts: migrating as many legacy applications into SaaS as possible and focusing on perfecting the software you build in-house that runs your business. Gartner is predicting that by 2020, 75% of applications used to support digital businesses will be built in-house. If you’re one of these companies, you’ll need to quickly evaluate how you develop and run your custom written software.
We believe that soon, every company will either be a software company or losing to a competitor who is. It’s time to focus on the craft of managing the software development life-cycle, and this brief, but dense webinar will help launch your efforts to become a software defined business.
Join us in the last installment in our series: Organization Transformation - to get the full benefit of a cloud native approach, you'll likely need to change how your organization functions and behaves: you'll have to change its culture. When software is thought of more as ongoing products instead of discrete projects, the way the IT department is managed and run changes accordingly. This last part covers the motivations for those changes and outlines how to start transforming everyday management, strategy, staffing, and operations to become a cloud native enterprise.
Presenter: Michael Coté
SpringOne Platform 2016
Speaker: Sam Ramji; Chief Executive Officer, Cloud Foundry Foundation
Sam Ramji, CEO of the Cloud Foundry Foundation, talks about the state of Cloud Foundry, love as open source, and how organizations and people can benefit from developing in the open.
Why Domain-Driven Design and Reactive Programming?VMware Tanzu
Enterprise software development is hard.
A poorly designed enterprise software application can result in exorbitant costs and overall project failure. Traditional approaches have had difficulty with promoting good design practices, resulting in applications that don’t meet the needs of the business and are costly and difficult to change. Ultimately, this severely limits the value of these applications.
Domain-Driven Design (DDD) and Reactive Programming are design patterns that address these issues head on. Both approaches address application development complexity by breaking your big problems into smaller problems.
DDD puts the focus on the core business domain ensuring that the highest business value areas are addressed first. DDD operates on the premise that your business needs will change, and your applications need to change accordingly. Working closely together, your business domain experts and technical team can deliver apps that evolve with your business.
Reactive Programming promotes simplicity by focusing on only a few important concepts. It reduces the complexity of building a big application by viewing it as a collection of smaller applications that respond to events. The stream of events that occur as part of your business operations can instantly trigger responses from the application, making Reactive Programming real-time, interactive, and engaging.
In this webinar, we will answer five key questions:
What causes software projects to lack well-designed domains?
What is a good domain model and how does it help with reducing complexity?
What is the Reactive model and how does it help developers solve complex application and integration problems?
How can you use these techniques to reduce time-to-market and improve quality as you build software that is more flexible, more scalable, and more tightly aligned to business goals?
How can in-memory data grids like open source Apache Geode and GemFire (Pivotal’s product based on Apache Geode) fit with these modern concepts?
The Journey from Monolith to Microservices: a Guided AdventureVMware Tanzu
SpringOne Platform 2016
Speaker: Mike Gehard; Senior Software Engineer, Pivotal
Are you starting a new application and wondering whether to go with a monolith or take the microservices path? Do you have an existing application that is getting too big to deliver business value with a predictable velocity? Ever wonder how to regain the agility you had when an application was smaller?
The current discussions around application architecture with microservices seem like an all or nothing journey without any stops along the way to catch your breath. This talk outlines questions to ask yourself to drive decisions along the way. It also demonstrates one possible path for future growth, complete with intermediate stops along the way where you can pause to evaluate your next step. This path avoids implementing too much complexity early in the process.
At the end of the journey you will not only have ideas to guide your own path, but tools that you can use to make the journey easier and less costly.
This presentation covers both the Cloud Foundry Elastic Runtime (known by many as just "Cloud Foundry") as well as the Operations Manager (known by many as BOSH). For each, the main components are covered with interactions between them.
SpringOne Platform 2016
Speaker: Andy Zitney; SVP Infrastructure Services, McKesson
Andy Zitney, SVP of Infrastructure Services at McKesson Corporation, talks about how we can go about saving the yak-shaving enterprises. He discusses legacy environments, getting management on board, and how development can be more creative, empowering, and energetic.
Containers Will Not Fix Your Broken Culture (and Other Hard Truths)VMware Tanzu
SpringOne Platform 2016
Speaker: Bridget Kromhout; Principal Technologist, Pivotal
Bridget Kromhout, Principal Technologist at Pivotal, says how things like containers are good tools, but they will not fix communication or team problems. A huge takeaway from this talk was the importance of decomposing the culture behind the monolith, not just the technical architecture itself.
SpringOne Platfrom 2016
Speaker: Justin Erenkrantz; Head, Compute Architecture, Bloomberg
Learn how Bloomberg transformed their platform and their culture.
What does being "cloud native" mean? In this session, presented at the Austin Microservices Meetup, I explore the four levels of the ODCA Cloud Application Maturity Model and discuss how microservices and containers can help transform applications.
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)VMware Tanzu
Business Track presented by Michael Maximilien, Chief Architect PaaS Innovation at IBM & James Bayer, Director of Product Management, Cloud Foundry at Pivotal.
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...Amazon Web Services
Gilt, a global e-commerce company, implemented a sophisticated microservices architecture on AWS to handle millions of customers visiting their site at noon every day. The microservices architecture pattern enables independent service scaling, faster deployments, better fault isolation, and graceful degradation. In this session, Emerson Loureiro, Sr. Software Engineer at Gilt, will share Gilt's experiences and lessons learned during their evolution from a single monolithic Rails application in a traditional data center to more than 300 Scala/Java microservices deployed in the cloud. Derek Chiles, AWS Solutions Architect, will review best practices and recommended architectures for deploying microservices on AWS.
Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...VMware Tanzu
[Lightning Talk] Mark Kropf, Runtime Product Manager, Cloud Foundry delivered a presentation on Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale at Cloud Foundry Summit 2014.
The vision of Pivotal Web Services is to provide a public cloud for agile development, powered by Cloud Foundry. In this session, we'll share all the cool things we've done to bring speed and simplicity to agile teams since relaunching CloudFoundry.com as Pivotal Web Services. You'll also get a brief glimpse of what developers can look forward to. Gain an insider's perspective of what it takes to run one of the world's largest Cloud Foundry instances serving tens of thousands of developers.
Migrate Heroku & OpenShift Applications to IBM BlueMixRohit Kelapure
This slide deck describes some of the architectural principles behind the Heroku, OpenShift, Cloud Foundry and BlueMix enterprise PaaS. The commonalities and differences in designing and porting apps across these platforms to Cloud Foundy/BlueMix are explored.
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
Digital transformation includes replatforming applications to streamline release cycles, improve availability, and manage apps and services at scale. But many enterprises are afraid to take the first step because they don’t know where to start. In this webinar, Rohit will provide a step-by-step guide that covers:
● How to find high-value modernization projects within your application portfolio
● Easy tools and techniques to minimally change applications in preparation for replatforming
● How to choose the platform with the right level of abstraction for your app
● Examples that show how Java EE Websphere applications can be deployed to Pivotal Cloud Foundry
Speaker: Rohit Kelapure, Pivotal Consulting Practice Lead
Migration to cloud is no easy task. Start small and learn the core technologies before leveraging the advanced features of the cloud. The cultural change will affect the whole organization from development to business management and sales.
Cloud native applications are the future of software. Modern software is stateless, provided from cloud to heterogeneous clients on demand and designed to be scalable and resilient.
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsIBM UrbanCode Products
Today, competitive advantage is often driven by software. The business that can deploy solutions to their customers more quickly across a range of platforms, with the flexibility to continuously delivery new functionality, is poised to succeed. DevOps enables organizations to manage complex enterprise applications that are hybrid in nature - often with cloud or mobile components being fed by data from traditional back-end systems like databases or mainframes.
This eSeminar explores hybrid cloud use cases, along with solutions that equip businesses to deliver value to their customers with speed, quality, and security.
App modernization projects are hard. Enterprises are looking to cloud-native platforms like Pivotal Cloud Foundry to run their applications, but they’re worried about the risks inherent to any replatforming effort.
Fortunately, several repeatable patterns of successful incremental migration have emerged.
In this webcast, Google Cloud’s Prithpal Bhogill and Pivotal’s Shaun Anderson will discuss best practices for app modernization and securely and seamlessly routing traffic between legacy stacks and Pivotal Cloud Foundry.
by Filippo Lambiente - This round table represents a unique chance to meet the main solution vendors and learn directly from their specialists how PaaS adoption can streamline continuous delivery processes and increase team focus and productivity to dramatically improve time to market. Continuous delivery is an agile approach to software delivery that helps to achieve frequent and reliable releases through team collaboration and full automation. Platform as a service (PaaS) is a cloud computing paradigm that enables rapid deployment of applications without the complexity of managing the underlying infrastructure.
The twelve-factor app is designed for continuous deployment by keeping the gap between development and production small. For example, make the time gap small, make the personnel gap small & make the tools gap small. Learn more about how a Cloud vendor must provide a platform for 12-factor / Cloud Native development and deployment with identified anti-patterns.
The Tanzu Developer Connect is a hands-on workshop that dives deep into TAP. Attendees receive a hands on experience. This is a great program to leverage accounts with current TAP opportunities.
The Tanzu Developer Connect is a hands-on workshop that dives deep into TAP. Attendees receive a hands on experience. This is a great program to leverage accounts with current TAP opportunities.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
1. Breaking The Monolith
Migrating Your Legacy Portfolio to the Cloud with Spring and Cloud Foundry
Rohit Kelapure, Pieter Humphrey
2. We believe that monoliths are an
appropriate early stage choice, but
outlive their design in the later stages
of the application’s adoption lifecycle.
2
3. Legacy Portfolio Realities
Things we hear:
Our portfolio is complicated, documentation is sparse
and it’s a mix of many things
Architecture is often tightly coupled code and complex
dependencies
Many people spend their days working with legacy
technology; they lack new skills
What we believe:
Pivotal Cloud Foundry is the comprehensive Cloud
Native platform to build the future
You get value by building apps on it
You see more value by moving existing apps
4. The Cloud Native Applications Journey
RUNS ON
LEGACY IT
RUNS ON
PIVOTAL CLOUD
FOUNDRY
RUNS WELL ON
PIVOTAL CLOUD
FOUNDRY
RUNS GREAT ON
PIVOTAL CLOUD
FOUNDRY
Your Existing Apps Running
on Current-Era Stacks
Supported by Time-Tested
People and Process
APPS REPLATFORMING
Suitable Apps Moved to
PCF with Minimal Code
Change; Better Ops Thanks
to Platform Automation
OPS & ORG TRANSFORMATION
Legacy Apps Refactored
Using 12-Factor Principles
and Modern Software
Process (TDD, CI/CD),
Optimized for PCF
Cross-Functional Teams
Delivering Continuous
Software Updates Into PCF
End-to-End Through
Modern Principles
APPS MODERNIZATION
CLOUD
NATIVE
Microservices,
Business Capability
Teams, API First Design
MICROSERVICES
6. A Legacy Maturity Model
4. CLOUD
NATIVE
3. RUNS GREAT
ON CLOUD
2. RUNS WELL
ON CLOUD
1. RUNS ON
CLOUD
• Microservice Architecture and Principals
• API First Design
• Use CI / CD tooling and methodology
• Design for failure, Proactive testing for failure (TDD)
• Apps unaffected by dependent service failure
• Metrics and Monitoring baked-in
• Cloud Agnostic runtime implementation
• Adherence with all 12-Factor App principals*
• Horizontally scalable
• Leverage platform for HA
• No file-system requirements or uses S3 API
• Self contained app (Fat JAR)
• Platform managed ports and addressing
• Consume off platform services using platform semantics
* We believe there are more like 15 “factors” that exemplify a true, “Cloud Native” application… more later
4 to 7 of the Factors
12-Factors + Advanced
Platform Automation
Product capability teams,
native microservices for
both App + Data
7. Why Bother Migrating Monoliths to PCF?BENEIFTS
Cloud Portability – free to run on any Cloud
Significant operational efficiencies – reduce headcount
Auto-scaling; efficiencies for spikey workloads
Automate patching, upgrading, and lifecycle
management
Standardize on dev stacks and platform-provided
services
Constant innovation of platform capabilities
Management and monitoring through the platform
Runtime consolidation and reduction of multiple vendors
9. Traditional Ways of Tackling Modernization
Lots of Upfront Study in a Multi-Phased Program
Uses Tools and/or Surveys to Gather Information
- Consultants who cast a wide net over everything
- Delivery of an expensive report and phased roadmap definition
Long projects with big budgets and large batches of work
- Failure is slow; it takes time and a lot of money to see problems
- Value is slow; measured returns often take years
PORTFOLIO ANALYSIS DESIGN MIGRATION TESTING ACCEPTANCE
10. Recommended Migration Path
Start here
Work up
from #2 to
#4 at your
own pace
4. CLOUD
NATIVE
3. RUNS GREAT
ON CLOUD
2. RUNS WELL
ON CLOUD
1. RUNS ON
CLOUD
• Microservice Architecture and Principals
• API First Design
• Use CI / CD tooling and methodology
• Design for failure, Proactive testing for failure (TDD)
• Apps unaffected by dependent service failure
• Metrics and Monitoring baked-in
• Cloud Agnostic runtime implementation
• Adherence with all 12-Factor App principals*
• Horizontally scalable
• Leverage platform for HA
• No file-system requirements or uses S3 API
• Self contained app (Fat JAR)
• Platform managed ports and addressing
• Consume off platform services using platform semantics
11. Don’t Plan Everything; Start Small and Let Your Work Inform the Strategy
To begin
SCOPE
DISCOVER &
FRAME
TIME BOUND
PILOT
13. http://12factor.net/
A “manifesto” of sorts published in 2012 by a team at Heroku
The goal of these 12-factors is to teach developers how to build
cloud-ready applications using declarative formats for automating
setup, had a clean contract with underlying operating system and
were prepared for dynamic scaling
The 12-Factors
14. I. One Codebase, One App*
II. Dependency Management*
V. Build, Release, Run*
III. Configuration*
XI. Logs*
IX. Disposability
IV. Backing Services
X. Environmental Parity*
XII. Administrative Process
VII. Port Binding*
VI. Process
VIII. Concurrency
VALUE, APPROACH
= Time to Market; find the seams; use good SDLC practices
= Dev Productivity; standardize & remove surprises
= Release Mgmt Hygiene; use CI/CD automation /w PCF
= Release Mgmt Hygiene; move to environment vars
= Real-Time Metrics; use PCF features; stdout / stderr
= Auto-Scale; move slow processes to backing services
= Resiliency / Agility; use circuit breaker; loose binding
= Reliability; use well architected PCF, get parity
= Reliability; move to backing service(s), expose as REST
= Ops Efficiency; use PCF features like routing, scaling, etc.
= Cloud Compatibility; move state to backing service(s)
= Auto-Scale, ZDD; design for cloud, use PCF features
15. Looking Beyond 12-Factors
12-Factor App Was Published in 2012
- In context of Heroku
- A LOT has changed
This Book Provides New Guidance
- With emphasis on Enterprise Java & PCF
- Adds 3 new “factors”
• API First
• Telemetry – APM, Logs, Domain-Specific
• Authn / Authz – Security First Design
A Must Read for Cloud App Architects
16. Evaluating Migration Suitability
WON’TRUNONCLOUD
Accepts inbound connections for non-HTTP protocol
Application Container Hosted Clustering
- Relies on container-based clustering for resiliency and scale
- Relies on container for shared state (see stateful process)
Stateful Process
- Uses in-memory cache (in-process)
- Could cause corruption or data loss if application was restarted without warning
Filesystem I/O (Reading files from disk; Writing files to disk; I/O with NFS mount)
Logging to any destination other than STDOUT or STDERR (console)
Use of distributed transactions of any kind, including XA
Extremely long application startup and shutdown time – those measured in minutes
Use of Java properties files/.NET web.config files
Use of hardcoded configuration – URLs, Credentials, Database connection information, Queues and Topics
Nonstandard security - App relies on a nonstandard security mechanism that conflicts with standardized
Siteminder security in customized buildpacks
Batch Processing - Autosys or cron invoke shell or batch scripts to invoke ad hoc functionality
17. Work with One Group; Move “10s” of Apps in 10 Weeks
Start by Replatforming Suitable Applications
REVIEW
MODIFY
TEST
TYPICALACTIVITIES
PATTERNS
& SAMPLES
PRODUCTION
PCF APPS
Discovery & Framing
Suitability Workshops; Technology Planning
Backlog Development, Grooming & Prioritization
Platform Extensibility
Buildpack Engineering; Apps Configuration
Test Automation
Build CI/CD Pipelines; Automate Testing for App
& Backing Services (e.g. Connectivity, Perf.)
Refactoring
Backing Service Location / Configuration
File System Usage, Messaging, etc.
Process and Documentation
CI Everything (Including Docs)
Reference Patterns Informed by Work
18. Replatforming Java apps
SPRING
TYPEOFAPPLICATION
Java EE
.NET
OTHER…
FULL
PROFILE
MODERNIZE
WEB
PROFILE
DOCKER
BUILDPACKORPCF1.6+FEATURE
JAVA
(BUILDPACK)
DIEGO
(GARDEN LINUX)
3rd PARTY
(BUILDPACKS)
Spring Java
Buildpack
Java EE
3rd party
Buildpack
Full Profile
Web Profile
Other Java
Groovy, Grails,
Scala, Play Java
Buildpack
PCF Garden
Linux
Docker
19. Replatforming to Spring Boot
● Introduce Spring Boot Dependencies
● Introduce Cloud Profile that can read
configuration settings from
VCAP_SERVICES
● Application should be able to run on
PCF and on standalone Tomcat
● Modify the spring boot packaging to
use executable jar/war
● Profile Cleanup - A separate profile for
every environment / easy and clean
● Tune your CI / CD pipeline to take full
advantage of Spring Boot
22. Breaking the Monolith – Picking Seams
Stability and Point of Evolution
Inbound and Outbound Coupling
Tools - Xray, JDepend, Structure101
Databases & Data Stores
Transaction Boundaries
Modes of Communication
Team Organization and Structure
Use Cases/User Journeys
Business Processes
Verbs & Operations
Nouns & Resources
Separated models for reading and writing
23. Generic Bounded Context Refactoring Recipe
BOOT+HEXARCHITECTURE
Search for all the call sites into the bounded context
Analyze the current interfaces exposed by the bounded context
Define the required ports for the bounded context
Analyze external dependencies used by the bounded contexts
Define the required adapters for the bounded context
Analyze how the bounded context will stay in sync with the rest of the system
Define what domain events the bounded context will emit
Define what events the bounded context will listen for
Copy and paste the code from the old project s
Create a new spring boot project for hosting the refactored code
Add the newly configured project to the CI / CD Pipeline
Write unit and integration tests
Cut and paste code and refactor it
Iterate until done
29. Wrapping software
features in a way
that let you turn
them on or off
Dark Launching/Feature Flags
Why?
- Private beta release
- Commit your code in logical chunks
- Release a new feature to all your users at a specific
date
- Not confident in how stable or how scalable a new
feature is
How?
- Boolean – Feature will be on or off
- Percentage – Certain % of Users, Cookie, Random,
Group
- List – User ID, Group ID, Organization ID, …
- Identity – Always on! and cannot be turned off.
- Nil - Always off! and cannot be turned on.
Cloud Foundry Constructs
- cf scale, Configuration Server, Route
Services
30. Migrating
Data
Tools – SchemaSpy – graphical
relationship viewer
Tools - Liquibase, Flyway, jooQ to
Auto apply bundles of database
refactorings
Require a transition period during
which both the original and new
schemas exist in production
Expose a Facade service to
encapsulate DB changes
Move logic and constraints to the
edge aka services
Implement retry and compensations
Database Transformation Patterns
cataloged in “Refactoring Databases”
seminal book by by Scott J Ambler
and Pramod J. Sadalage
31. ESB to Microservices
DECENTRALIZTION
• Follow a phased approach to migrating ESB composite and provider
services
• Business logic should reside in Java apps and only fundamental ESB
functions like legacy adapters and pure transformation and mediation
should be handled by the ESB
• Where existing ESB services do not already exist, start greenfield net
new development with a pure microservices based approach
• 5 Step Evolution of the ESB to the Cloud
• 1. Co-exist 2. Lift & Shift 3. Refactor 4. Replace 5. Transform
32. Modernizing Batch
Address Concurrent Batch
and Online
z/OS v2 Connect
Eliminate needless Data
Movement
Eliminate file transfer and
unnecessary app integration
Scheduling and Job
Management
Technical Solutions
Leverage Distributed Batch
33. A word about organization structure
Conway's Law asserts that organizations are constrained
to produce application designs which are copies of their
communication structures
Leads to unintended friction points.
Evolve your team and organizational structure to promote
your desired architecture
Break down silos to foster collaboration
Your technology architecture is then isomorphic with your
business architecture.
35. Persist operation state in the client microservice and track to success or
compensate
Application Level Eventual Consistency
Databases SQL or NoSQL Gemfire
Queues ( RabbitMQ, JMS, WebSphereMQ, Tibco .. etc)
Spring State Machine
Java 8 Completeable Futures
“Distributed transactions in Spring, with and without XA” from
Dave Syer http://www.javaworld.com/article/2077963/open-
source-tools/distributed-transactions-in-spring--with-and-
without-xa.html
36. Make a UI Microservice that is exposed to end users and have it serve up the UI?
Monolithic Edge UI Gateway
A B C
Browser
UI
Native Mobile
37. How are Foreign Key Constraints Validated Across Table is Different Bounded Contexts
Foreign Keys Constraints
Enforcing Foreign Key Constraints between microservices
becomes an application level problem to be handled by
the microservices rather than the database
Usage of Immutable Stable URI’s to identify Foreign keys
can be helpful
38. Turn Static Shared Data into Code Accessible via dependency manager
Shared Static Data Becomes Code
39. Extend each UI experience with a dedicated backend component for UI
http://samnewman.io/patterns/architectural/bff/
Back End For Front End
A B C
Browser
WE
B
BFF
Android Mobile
Androi
dBFF
40. Use JSON Web Token to pass user info between microservices
Use JWT Tokens
Microservice A Microservice BJWT
JSON Web Tokens are an open, industry standard
RFC 7519 method for representing claims securely
between two parties.
41. Pivotal has got you covered!
Distributed Systems are Hard!
Spring Cloud Services
for PCF
Editor's Notes
Scope
Get the right people in a room
Define the business value to drive
Identify candidate apps
Discover & Frame
Assess from a 15-factor standpoint
Decide on migration flows
Flag risks and assumptions
Begin With a Time-Bound Pilot
Designate the right people
Work for 6 to 10 weeks
Translate lessons into patterns
One Codebase: Single code base managed in SCC; or set of repositories from a common root. Look for “the seams” in the “app” and try and break things up a bit if possible. Getting to a single codebase makes it cleaner to build and push any number of immutable releases across various environments. The best example of violating this is when your app is composed of a dozen or more code repos. Or when one code repo is used to produce a bunch of applications.
Dependency Management: The classic enterprise might rely on either “bootstraping” (bundling all dependencies with the app binary) or use of a “mommy server” (providing everything the app needs – a server to host and all it’s dependencies). Most contemporary languages take advantage of facilities like Maven and Gradle or Nuget for .NET. Regardless of tool the idea is … allow developers to declare dependencies and let the tool ensure it’s satisfied. Just need to ensure the tool being used doesn’t package dependencies in a folder structure under the app itself.
Build, Release, Run: a single codebase taken through a build process to produce a single artifact; then merged with configuration information external to the app. This is then delivered to cloud environments and run.
Configuration: this is about externalizing your config is easy to say but can be challenging depending on how the app was built. There are various solutions – refactor your code to look for environment variables. You could use Spring Config server or other products
Logs: should be treated as event streams, that is a time-ordered sequence of events emitted from an app. You can’t log to a file in a cloud. You log to stdout / stderr and let the cloud provider or related tools deal with it
Disposability: in a cloud process is disposable – it can be destroyed and created at any time. Designing for this is important to ensure good uptime and to get the benefit of auto scaling, etc. If you have processes that take a while to start up or shut down they should be separated as a backing service and optimized to accelerate performance
Backing Services: a backing service is something your app depends on – like a database or some kind of REST service. The app should declare it needs a backing service via external config. The Cloud will bind your app to the service. And it should be possible to attach and reattach without restarting the app. This loose coupling has a LOT of advantages. It also allows you to use a circuit breaker (part of the Netflix OSS and SCS) to gracefully handle an outage scenario.
Environmental Parity: we’ve all probably worked in situations where a shared dev sandbox has a different scale and reliability profile than QA, which is also different than prod. Keeping environmental consistency is much easier in a Cloud environment like PCF. Doing this and automating as much of the SDLC as possible will help you confidently deploy smaller things more often
Administrative Process: these are things like timer jobs, one-off scripts and other things you might have done using a programming shell. These are fine in the monolithic world but get complicated when you scale horizontally with multiple instances of the same app trying to kickoff a job. An alternate approach might be to break apart the job into it’s own microservice with a rest end point for controlled invocation
Port Binding: in the non-cloud world it’s typical to see a bunch of apps running in the same container, separating each app by port number and then using DNS to provide a friendly name to access. In the Cloud you avoid this micro-management – the Cloud provider will manage port assignment along with routing, scaling, etc.
Process: the original 12-factor definition here says that apps must be stateless. But state needs to be somewhere! Our guidance is to move any long-running state into external, logical backing services that rely on Redis or Mongo or whatever to manage what they need.
Concurrency: PCF and other cloud platforms are built to scale horizontally. There are design considerations here – your app should be disposable, stateless and use share-nothing processes. This allows you to leverage features like auto-scale, blue-green deployment, etc.
API First – this is about design; from the beginning of a project, it’s the notion that every functional requirement will be met through consumption of an API. Teams of developers interact with APIs using public contracts without interfering with internal development processes.
Telemetry – falls into categories like APM (keep tabs on performance), health and system logs (keep tabs on system events and domain-specific (event stream fed into a big data system for processing)
Authentication / Authorization – RBAC all end-points and use of Oauth, OpenID, etc. for security
http://cloud.rohitkelapure.com/2016/06/replatforming-net-applications-to-cloud.html
• For Greenfield Applications Try “Core First” approach
• For Replatforming and migrating Existing Apps Probably ASP.NET 4.x
• Dependencies and framework requirements will likely dictate choice
• All versions of the .NET SDK supported by Windows Server 2012 R2 are supported on PCF including 3.5, 4.5, 4.5.1 and 4.6
Global Assembly Cache (GAC) file system usage
Migration issues must be addressed:
• Nearly every app will need refactoring to use Console logging and tracing. Customers who mess with applicationHost.config can interfere with tracing, logging, etc.
• Reading/Writing to the Registry.
• Reading/Writing to the local disk. File systems are ephemeral. Replace usage of the file system e.g. disk logging even temp files with a S3 compatible blob store or external file store.
• Replace Integrated Windows Auth. with ADFS/OAuth2 to leverage UAA and Pivotal SSO Tiles
• In-Process Session State / Sticky Sessions. Replace InProc, StateServer with out-of-process data store e.g. Redis, SQL Server
• Externalize environment-specific config in web.config into VCAP environment variables. If value changes between environments, don’t get it from web.config. Don’t use externalization methods that only work in Azure. If app relies on machine.config or applicationHost.config, could have issues in PCF.
• For MSI-Installed services or drivers, Bin deploy dependencies with app.
• 32 bit ASP-Net builds/References/Builds/apps depending on 32-bit libraries will not work.
• WCF Self-hosted services and SharePoint apps will not work in CF.
• Apps requiring assemblies in Global Assembly Cache won't work in CF.
• Backing Service Drivers requiring native installers / DLLs may not work in CF.
• On Demand Apps and ones triggered by job controller will need to be refactored to run in CF to use CF one-off task support coming in the CC v3 API.
• MSMQ and tight integration with other MSFT server products via on-server dependencies will need to be refactored to use external backing services. .NET Core is now supported in the RabbitMQ .NET client.
• Routing to non-HTTP WCF endpoints and listeners for third party middleware will not work since only HTTP based inbound traffic is routed to the windows containers.
http://changelog.ca/log/2012/07/19/dark_launching_software_features
Why ?
Private beta release
Commit your code in logical chunks
Release a new feature to all your users at a specific date
Not confident in how stable or how scalable a new feature is
How ?
Boolean – Feature will be on or off
Percentage – Certain % of Users, Cookie, Random, Group
List – User ID, Group ID, Organization ID, …
Identity – Always on! and cannot be turned off.
Nil - Always off! and cannot be turned on.
Cloud Foundry Constructs
cf scale, Configuration Server, Route Services
Operators
Responding to individual developer needs is time consuming
Responding promptly is difficult, and requests may not be aligned with policies
We want to provide operators with solution they can put in place once, configured with policy, and enable developers to pick and choose, self-service
Developers
Features like authorization and rate limiting are common requirements in application development and operation
Currently developers must either build these features into their applications or coordinate with IT to provide them
Eliminate unnecessary development and support ticket wait-time
Automated, self-service, on-demand, integrated services