In this presentation, Andrew Spyker and I present our experience with adopting Netflix OSS, both from a deep runtime perspective for various applications and services as well as managing deployed services for scalability and failover.
Distributed Design and Architecture of Cloud FoundryDerek Collison
In this session we will dig deep into Cloud Foundry's core architecture and design principles. We will discuss the challenges around scaling and operating a large scale service as we combined the PaaS and traditional IaaS layers, and how we achieve multiple updates per week to the system with no perceived downtime. Allowing user to download a single virtual machine that is a complete replica of the service presented some challenges as well, and we will discuss our approach to offering up the downloadable private cloud.
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Amazon Web Services
Learning Objectives:
- Learn best practices for creating a CICD pipeline for containerized workloads
- Learn how to leverage the Amazon EC2 Container Registry (ECR) to host container images for version control during development and deployment
- Understand best practices for scaling CICD
Containers can make it easier to scale applications in the cloud. In this session, we will explore how developers can build effective CICD workflows to manage their containerized code deployments using Amazon EC2 Container Service, Amazon EC2 Container Registry, and other common tools such as Github and Jenkins. We will walk through best practices for CICD architectures used by our customers to deploy containers to AWS and we will also deep dive into topics such as creating an accessible CICD platform and Blue-Green deployments. We'll also demo how you can easily use AWS to create a CICD pipeline and deploy containers on Amazon ECS.
A presentation covering three new services from Amazon Web Services: the new Application Load Balancer (ALB), recent updates to the EC2 Container Service (ECS), and the new Kinesis Analytics.
SV Forum Platform Architecture SIG - Netflix Open Source PlatformAdrian Cockcroft
Architecture overview of Netflix Cloud Architecture with a focus on the Open Source components that Netflix has put and is planning to release on http://netflix.github.com
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Latest version of the Netflix Cloud Architecture story was given at Gluecon May 23rd 2012. Gluecon rocks, and lots of Van Halen references were added for the occasion. There tradeoff between developer driven high functionality AWS based PaaS, and operations driven low cost portable PaaS is discussed. The three sections cover the developer view, the operator view and the builder view.
Distributed Design and Architecture of Cloud FoundryDerek Collison
In this session we will dig deep into Cloud Foundry's core architecture and design principles. We will discuss the challenges around scaling and operating a large scale service as we combined the PaaS and traditional IaaS layers, and how we achieve multiple updates per week to the system with no perceived downtime. Allowing user to download a single virtual machine that is a complete replica of the service presented some challenges as well, and we will discuss our approach to offering up the downloadable private cloud.
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Amazon Web Services
Learning Objectives:
- Learn best practices for creating a CICD pipeline for containerized workloads
- Learn how to leverage the Amazon EC2 Container Registry (ECR) to host container images for version control during development and deployment
- Understand best practices for scaling CICD
Containers can make it easier to scale applications in the cloud. In this session, we will explore how developers can build effective CICD workflows to manage their containerized code deployments using Amazon EC2 Container Service, Amazon EC2 Container Registry, and other common tools such as Github and Jenkins. We will walk through best practices for CICD architectures used by our customers to deploy containers to AWS and we will also deep dive into topics such as creating an accessible CICD platform and Blue-Green deployments. We'll also demo how you can easily use AWS to create a CICD pipeline and deploy containers on Amazon ECS.
A presentation covering three new services from Amazon Web Services: the new Application Load Balancer (ALB), recent updates to the EC2 Container Service (ECS), and the new Kinesis Analytics.
SV Forum Platform Architecture SIG - Netflix Open Source PlatformAdrian Cockcroft
Architecture overview of Netflix Cloud Architecture with a focus on the Open Source components that Netflix has put and is planning to release on http://netflix.github.com
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Latest version of the Netflix Cloud Architecture story was given at Gluecon May 23rd 2012. Gluecon rocks, and lots of Van Halen references were added for the occasion. There tradeoff between developer driven high functionality AWS based PaaS, and operations driven low cost portable PaaS is discussed. The three sections cover the developer view, the operator view and the builder view.
Continuous Integration and Continuous Delivery help developers rapidly and reliably release updates for their applications in a standardized and safe manner. The faster you can release new features and fix bugs, the quicker you can innovate and respond to customer needs. Serverless computing has changed the game for application development, including how to properly perform CI/CD for your application. AWS provides developer tools that help you automate the end-to-end lifecycle of your serverless application. In this session, we’ll discuss how to build multi-stage pipelines that let you build and test your application in an automated way using AWS CodePipeline and AWS CodeBuild. We’ll also cover the built-in capabilities of AWS Lambda and Amazon API Gateway that allow you to create multiple versions, stages, and environments for your serverless applications.
Architecture talk aimed at a well informed developer audience (i.e. QConSF Real Use Cases for NoSQL track), focused mainly on availability. Skips the Netflix cloud migration stuff that is in other talks.
Introduction to the Netflix Open Source Software project, explains why Netflix is doing this, how all the parts fit together and what is planned to come next. Presented at the inaugural NetflixOSS Meetup February 6th 2013 at Netflix headquarters in Los Gatos.
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
This presentation covers our work starting with Acme Air web scale and transitioning to operational lessons learned in HA, automatic recovery, continuous delivery, and operational visibility. It shows the port of the Netflix OSS cloud platform to IBM's cloud - SoftLayer and use of RightScale.
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...Adrian Cockcroft
Presentation given in October 2011 at the High Performance Transaction Systems Workshop http://hpts.ws - describes how Netflix used AWS to run a set of highly scalable Cassandra benchmarks on hundreds of instances in only a few hours.
Microservices and functional programmingMichael Neale
A talk I did recently on microservices and functional programming. Microservices are small, single purpose apps that are run as a service, which are usually composed together to provide the real app.
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAmazon Web Services
Jinesh Varia, Technology Evangelist, Discusses AWS architecture best practices and design patterns at the AWS Enterprise Tour - SF - 2010
http://jineshvaria.s3.amazonaws.com/public/cloudbestpractices-jvaria.pdf
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...Amazon Web Services
AWS Elastic Beanstalk provides a number of simple and flexible interfaces for developing and deploying your applications. Follow Thinknear's rapid growth from inception to acquisition, scaling from a few dozen requests per hour to billions of requests served each day with AWS Elastic Beanstalk. Thinknear engineers demonstrate how they extended the AWS Elastic Beanstalk platform to scale to billions of requests while meeting response times below 100 ms, discuss tradeoffs they made in the process, and what did and did not work for their mobile ad bidding business.
The fourth in our series of webinars, 'Journey Through the AWS Cloud'. This complimentary presentation discusses the use of services offered by AWS that alleviate the need for you to install and manage software on EC2 instances. We introduce the key services customers employ to keep them focused on developing their applications, whilst AWS takes care of running the scalable and reliable building blocks upon which they are built.
Building a CICD Pipeline for Container Deployment to Amazon ECSAmazon Web Services
Containers can make it easier to scale applications in the cloud, but how do I setup my CICD workflow to efficiently test and deloy my code to containerized apps? In this session, we will explore how developers can build effective CICD workflows to manage their containerized code deployments using Amazon EC2 Container Service, Amazon EC2 Container Registry, and other common tools. We will walk through best practices for CICD archiectures used by our customers to deploy containers to AWS and we will also deep dive ino topics such as creating an accessible CICD platform and Blue-Green deployments. We'll also demo how you can easily use AWS to create a CICD pipeline and deploy containers on Amazon ECS.
Continuous Integration and Continuous Delivery help developers rapidly and reliably release updates for their applications in a standardized and safe manner. The faster you can release new features and fix bugs, the quicker you can innovate and respond to customer needs. Serverless computing has changed the game for application development, including how to properly perform CI/CD for your application. AWS provides developer tools that help you automate the end-to-end lifecycle of your serverless application. In this session, we’ll discuss how to build multi-stage pipelines that let you build and test your application in an automated way using AWS CodePipeline and AWS CodeBuild. We’ll also cover the built-in capabilities of AWS Lambda and Amazon API Gateway that allow you to create multiple versions, stages, and environments for your serverless applications.
Architecture talk aimed at a well informed developer audience (i.e. QConSF Real Use Cases for NoSQL track), focused mainly on availability. Skips the Netflix cloud migration stuff that is in other talks.
Introduction to the Netflix Open Source Software project, explains why Netflix is doing this, how all the parts fit together and what is planned to come next. Presented at the inaugural NetflixOSS Meetup February 6th 2013 at Netflix headquarters in Los Gatos.
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
This presentation covers our work starting with Acme Air web scale and transitioning to operational lessons learned in HA, automatic recovery, continuous delivery, and operational visibility. It shows the port of the Netflix OSS cloud platform to IBM's cloud - SoftLayer and use of RightScale.
Global Netflix - HPTS Workshop - Scaling Cassandra benchmark to over 1M write...Adrian Cockcroft
Presentation given in October 2011 at the High Performance Transaction Systems Workshop http://hpts.ws - describes how Netflix used AWS to run a set of highly scalable Cassandra benchmarks on hundreds of instances in only a few hours.
Microservices and functional programmingMichael Neale
A talk I did recently on microservices and functional programming. Microservices are small, single purpose apps that are run as a service, which are usually composed together to provide the real app.
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAmazon Web Services
Jinesh Varia, Technology Evangelist, Discusses AWS architecture best practices and design patterns at the AWS Enterprise Tour - SF - 2010
http://jineshvaria.s3.amazonaws.com/public/cloudbestpractices-jvaria.pdf
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...Amazon Web Services
AWS Elastic Beanstalk provides a number of simple and flexible interfaces for developing and deploying your applications. Follow Thinknear's rapid growth from inception to acquisition, scaling from a few dozen requests per hour to billions of requests served each day with AWS Elastic Beanstalk. Thinknear engineers demonstrate how they extended the AWS Elastic Beanstalk platform to scale to billions of requests while meeting response times below 100 ms, discuss tradeoffs they made in the process, and what did and did not work for their mobile ad bidding business.
The fourth in our series of webinars, 'Journey Through the AWS Cloud'. This complimentary presentation discusses the use of services offered by AWS that alleviate the need for you to install and manage software on EC2 instances. We introduce the key services customers employ to keep them focused on developing their applications, whilst AWS takes care of running the scalable and reliable building blocks upon which they are built.
Building a CICD Pipeline for Container Deployment to Amazon ECSAmazon Web Services
Containers can make it easier to scale applications in the cloud, but how do I setup my CICD workflow to efficiently test and deloy my code to containerized apps? In this session, we will explore how developers can build effective CICD workflows to manage their containerized code deployments using Amazon EC2 Container Service, Amazon EC2 Container Registry, and other common tools. We will walk through best practices for CICD archiectures used by our customers to deploy containers to AWS and we will also deep dive ino topics such as creating an accessible CICD platform and Blue-Green deployments. We'll also demo how you can easily use AWS to create a CICD pipeline and deploy containers on Amazon ECS.
Manual application deployment processes tend to be error prone and inefficient and can make achieving consistent deployments seem impossible.
There is good news. You don’t need to choose between a careful, rigorous approach and a speedy but haphazard one. It’s possible to implement an automated deployment solution that provides consistency and audit trails while improving productivity for your release engineers, operations personnel, and testers. See how!
Learn more about UrbanCode: http://ibm.biz/learnurbancode
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant OpenCredo
Daniel Bryant's slides from his talk at Haufe Microservices Architecture Day 2016.
Microservice platforms are finally becoming a reality: Mesos, Kubernetes, and a whole bunch of PaaS-style offerings are available, but the reality is that these platforms still don’t provide everything you need in order to build a fully functional microservice ecosystem. Come to this session to learn about the essential deployment, orchestration, and glue components that often have to be self-assembled. The presentation begins by looking at deployment techniques and tools and examines where to test (QA, staging, or production), how to test (integration and contracts), and how to separate deployment and release. It then discusses orchestration, configuration, and service discovery. Finally it looks at essential glue such as logging, monitoring, and alerting.
Poornaprajna Udupi and Rudra Peram representing the Product and Application Security team at Netflix, discuss making security consumable in the form of tools, libraries and self-service applications to enable developers attain a rapid velocity of feature delivery while simultaneously being secure. This presentation to the audience of billing and payments enthusiasts, covers a few security techniques: infrastructure segmentation, tokenization, utilization of big data for fraud and abuse detection, prevention and sanitization. Some of the open source security projects such as Scumblr, Sketchy and others in the pipeline also get mentioned
Video: 6 Faces of the Future of Marketing (keynote for The Economist)David Rogers
Author, consultant, and faculty at Columbia Business School, David Rogers discusses six trends shaping the near future of marketing in the digital age. (At The Economist's "Big Rethink" conference.)
Sildes of an internal talk given at Twitter similar to a previous webinar for Redhat with the same title.
Speeding up development is a key concern, cloud and technology improvements like Docker speed up key steps that make continuous delivery possible. Breaking up the work into many separate microservices and datastores with stable APIs allows teams to make progress independently so that the organization scales. Monolithic apps are preferred for small projects, built by small teams and when very low latency and high efficiency is the primary requirement. Monitoring microservices is currently a challenge with solutions starting to emerge.
Architecting for the Cloud using NetflixOSS - Codemash WorkshopSudhir Tonse
Cloud development is inherently different than data center development. Understanding those differences, and architecting for them is critical to successful cloud solutions. In this workshop, we will both describe Netflix OSS platform components and show you how you can piece them together to build your own fault-tolerant REST services. These include: Hystrix, Ribbon, Eureka, and Archaius. In this hands-on lab, you will both learn the benefits of each of these services and use them in a sample application (in a test account). If you want to get things running in your own account, you may want to attend the afternoon session (Setting up your environment for the AWS cloud).
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
Netflix has been using and contributing to open source for several years. Over the years, Netflix has released over one hundred Netflix Open Source (aka NetflixOSS) libraries, servers, and technologies. Netflix engineers benefit by accepting contributions and gathering feedback with key collaborators around the world. Users of NetflixOSS from many industries benefit from our solutions including Big Data, Build and Delivery Tools, Runtime Services and Libraries, Data Persistence, Insight, Reliability and Performance, Security and User Interface. With such a large and mature open source program, Netflix has worked on approaches and tools that help manage and improve the NetflixOSS source offerings and communities. Netflix has taken a different approach to building support for open source as compared to other Internet scale companies. Come to this session to learn about the unique approaches Netflix has taken to both distribute and automate the responsibilities of building a world-class open source program.
Video: https://www.youtube.com/watch?v=FJW8nGV4jxY and https://www.youtube.com/watch?v=zrr2nUln9Kk . Tutorial slides for O'Reilly Velocity SC 2015, by Brendan Gregg.
There are many performance tools nowadays for Linux, but how do they all fit together, and when do we use them? This tutorial explains methodologies for using these tools, and provides a tour of four tool types: observability, benchmarking, tuning, and static tuning. Many tools will be discussed, including top, iostat, tcpdump, sar, perf_events, ftrace, SystemTap, sysdig, and others, as well observability frameworks in the Linux kernel: PMCs, tracepoints, kprobes, and uprobes.
This tutorial is updated and extended on an earlier talk that summarizes the Linux performance tool landscape. The value of this tutorial is not just learning that these tools exist and what they do, but hearing when and how they are used by a performance engineer to solve real world problems — important context that is typically not included in the standard documentation.
[Capitole du Libre] #serverless - mettez-le en oeuvre dans votre entreprise...Ludovic Piot
Tout comme le Cloud IaaS avant lui, le serverless promet de faciliter le succès de vos projets en accélérant le Time to Market et en fluidifiant les relations entre Devs et Ops.
Mais sa mise en œuvre au sein d’une entreprise reste complexe et coûteuse.
Après 2 ans à mettre en place des plateformes managées de ce type, nous partagons nos expériences de ce qu’il faut faire pour mettre en œuvre du serverless en entreprise, en évitant les douleurs et en limitant les contraintes au maximum.
Tout d’abord l’architecture technique, avec 2 implémentations très différentes : Kubernetes et Helm d’un côté, Clever Cloud on-premise de l’autre.
Ensuite, la mise en place et l’utilisation d’OpenFaaS. Comment tester et versionner du Function as a Service. Mais aussi les problématiques de blue/green deployment, de rolling update, d’A/B testing. Comment diagnostiquer rapidement les dépendances et les communications entre services.
Enfin, en abordant les sujets chers à la production : * vulnerability management et patch management, * hétérogénéïté du parc, * monitoring et alerting, * gestion des stacks obsolètes, etc.
New Features in Confluent Platform 6.0 / Apache Kafka 2.6Kai Wähner
New Features in Confluent Platform 6.0 / Apache Kafka 2.6, including REST Proxy and API, Tiered Storage for AWS S3 and GCP GCS, Cluster Linking (On-Premise, Edge, Hybrid, Multi-Cloud), Self-Balancing Clusters), ksqlDB.
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
Microservices, events, containers, and orchestrators are dominating our vernacular today. As operations teams adapt to support these technologies in production, cloud-native platforms like Pivotal Cloud Foundry and Kubernetes have quickly risen to serve as force multipliers of automation, productivity and value.
Apache Kafka® is providing developers a critically important component as they build and modernize applications to cloud-native architecture.
This talk will explore:
• Why cloud-native platforms and why run Apache Kafka on Kubernetes?
• What kind of workloads are best suited for this combination?
• Tips to determine the path forward for legacy monoliths in your application portfolio
• Demo: Running Apache Kafka as a Streaming Platform on Kubernetes
This presentation was presented to the Fachhochschule Bern. The course was part of the Master program and we covered the topics of Cloud Native & Docker
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
Microservices, events, containers, and orchestrators are dominating our vernacular today. As operations teams adapt to support these technologies in production, cloud-native platforms like Cloud Foundry and Kubernetes have quickly risen to serve as force multipliers of automation, productivity and value. Kafka is providing developers a critically important component as they build and modernize applications to cloud-native architecture. This talk will explore:
• Why cloud-native platforms and why run Kafka on Kubernetes?
• What kind of workloads are best suited for this combination?
• Tips to determine the path forward for legacy monoliths in your application portfolio
• Running Kafka as a Streaming Platform on Container Orchestration
Your developers are asking for it. The boss is wondering how much longer it's going to take. You need to get Kubernetes up and running. This session will explore core Kubernetes concepts as it relates to our knowledge as a vSphere administrator. We will explore the differences between open source and commercialized versions of Kubernetes and take a quick look at different application deployment mechanisms. You’re going to leave with a better understanding of Kubernetes architecture and how to take the next step towards containerization.
AWS Webcast - Best Practices in Architecting for the CloudAmazon Web Services
Join us to get a better understanding around architecting scalable, reliable applications for the cloud. You'll learn about monitoring, alarming, automatic scaling, load balancing, replication, and more, direct from AWS Senior Evangelist Jeff Barr.
In recent years, Docker containers have become a key component of modern application design. Increasingly, developers are breaking their applications apart into smaller components and distributing them across a pool of compute resources. Using Docker on your local development machine is simple, but running Docker applications at scale in production can be difficult. In this session, we will discuss the difficulties of running Docker in production and how Amazon EC2 Container Service (ECS) can be used to reduce the operational burdens. We will give an overview of the core architectural principles underlying Amazon ECS., and we will walk through a number of patterns used by our customers to run their microservices platforms, to run batch jobs, and for deployments and continuous integration. We will also demonstrate how to define multi-container applications, deploy and scale them seamlessly on a cluster with Amazon ECS.
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...Amazon Web Services
As both new and established businesses work to increase their customer numbers, revenue and relevance to the market – they are working to deliver software that scales larger than ever before. The challenge of being the "victim of your own success" be it from viral marketing, social media or simply dramatic uptake of a new service; is something that troubles the minds of CIOs and Engineers alike. This session will focus on ways to avoid creating "technical debt" during initial development, and will share well established practices and approaches to building applications that can tolerate and revel in the challenges of scaling to "web scale". Working through a range of architectural dimensions, patterns and pithy examples – attendees will leave this session with useful ideas on how to design new applications, as well as the "retro-fitting" that can be done to existing applications to enable them to scale on AWS.
How to build "AutoScale and AutoHeal" systems using DevOps practices by using modern technologies.
A complete build pipeline and the process of architecting a nearly unbreakable system were part of the presentation.
These slides were presented at 2018 DevOps conference in Singapore. http://claridenglobal.com/conference/devops-sg-2018/
Serverless frameworks are changing the way we do computing. In open source container world, Kubernetes is playing a pivotal role in manifesting this. This presentation will go deep into various features of Kubernetes to create serverless functions.
Also includes a comparative study of various serverless frameworks such as Kubeless, Fission and Funktion are available in open source world. Will conclude with an implementation demo and some real world use cases.
Presented in serverless summit 2017: www.inserverless.com
Kubernetes for FaaS (Function as a Service) - Serverless evolution, some basic constructs, kubenetes features, comparisons - from Serverless conference 2017 Bangalore.
Introducing github.com/open-cluster-management – How to deliver apps across c...Michael Elder
Introducing Open Cluster Management, a community-driven project focused on multicluster and multicloud scenarios for Kubernetes apps. Open APIs are evolving within this project for cluster registration, work distribution, dynamic placement of policies and workloads and cluster and workload health management. In this session, Michael will introduce the project and demonstrate what you can do on OpenShift and Managed Kubernetes as a Service today from community operators on OperatorHub.io.
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise AppsMichael Elder
Brad Topol & Michael Elder, IBM
“12 Factor” is a software methodology for building scalable microservice applications that provides best practices designed to enable applications to be built with portability, resilience, and scalability when deployed to the web. In this talk we provide an overview of the 12 Factor methodology and describe how the core constructs provided by Kubernetes can be leveraged to support the 12 factors for scalable web apps. In this talk we will provide live demonstrations of how Kubernetes can support 12 Factor for not only newer cloud native applications, but also for legacy enterprise middleware applications that include stateful and transactional workloads.
How IBM is helping developers win the race to innovate with next-gen cloud se...Michael Elder
In the race to transform, enterprises employ cloud to deliver innovation and stay ahead of the competition. New services are built natively on cloud, but what about the 80% of enterprise applications that have not yet moved to the cloud.
In this session, we'll answer these questions: How do I integrate next-gen technology like Blockchain, Watson IoT, and Data &AI into my new applications? How do I make multicloud an advantage instead of adding new complexity?
Portable Apps across IBM Kubernetes Service and IBM Cloud Private (#Think2019...Michael Elder
Building apps to run in your local Kubernetes or managed Kubernetes environment is easy and straightforward. A common packaging mechanism based on container images and open source Helm to distribute your Kubernetes apps can be produced to your continuous delivery pipeline. These apps can then be deployed wherever needed. Deploying in your datacenter? Great! You can run Kubernetes with IBM Cloud Private anywhere! Want Kubernetes but don’t want to manage it yourself? Great! You can consume Kubernetes-as-a-Service with IBM Cloud Kubernetes Service! In this talk, we’ll demonstrate how to leverage each of these offerings to build and run apps. We’ll also cover some of the nuances of running in a hybrid cloud operating model.
Creating Production-Ready, Secure and Scalable Applications in IBM Cloud Priv...Michael Elder
What does it really take to make sure your application is production-ready? With new privacy regulations being added, many aspects need to be taken into account when deciding when to deliver your final product to the public. Can your application handle multiple users with different levels of access? Can you extend your application to use existing authentication and authorization platforms? Have you invested in using Mutual TLS authentication for communication between components? How do you manage the certificates and passwords used within your application? Does it connect to the database securely? This talk will cover all aspects from start to finish on how to deliver production-ready code.
Client Deployment of IBM Cloud Private (IBM #Think2019 #5964)Michael Elder
As you plan for the adoption of Kubernetes in your datacenter, you’ll face several common questions. How much capacity will your clusters need? How should you manage the network security of the cluster? How do you expose services on the cluster to your existing network fabric? What are the tradeoffs to consider between different storage providers? What should you do for backup and disaster recovery scenarios? In this session, we’ll review several examples of client deployment architectures that will help you get started on your journey to a hybrid, multicloud architecture for your apps!
An architect’s guide to leveraging your incumbencyMichael Elder
O'Reilly Software Architecture Conference 2018 (London)
Continuous delivery for 12-factor Microservices works because it’s by design. When you can architect a solution for continuous delivery, you control all the angles but what do you do when you don’t have that luxury? This session will highlight how modernizing existing IT infrastructure with containers enables you to manage change through continuous delivery and reduce ongoing operational costs.
Abstract
While the industry has promoted a dramatic trend to build new, improved styles of architecture; there remains a gap in how to address the ongoing and continuous improvement and operation of existing enterprise IT systems alongside these new 12-factor apps.
In this session, we will review why 12-factor apps are a natural fit for Kubernetes by design. We will demonstrate how Kubernetes addresses virtually all of the 12 factors for scalable web apps. Then we will take a step back and consider the important question: how well will stateful and transactional workloads that were not designed for 12-factor be able to run within Kubernetes?
Even with purist gaps from 12-factor for traditional enterprise workloads, there are real benefits to velocity and cost management to move stateful and transactional workloads to containers. With a container based orchestrator like Kubernetes, all workload types can take advantage of automated DevOps release pipelines, provide rich feedback loops with canary testing, leverage better automated failure recovery in production, and provide easier visibility into the operational health of services running within Kubernetes. Leveraging a standard platform for a blend of architectural types enables an enterprise to standardize operational practices for across the board. The end result might be the right path for your enterprise to drive your digital transformation.
Introduction to IBM Cloud Private - April 2018Michael Elder
The following deck provides a general introduction to the business value, technical architecture, and available content for IBM Cloud Private. IBM Cloud Private offers a fully-supported distribution of Kubernetes and Cloud Foundry along with a rich catalog of content including Images, Helm Charts, Open Service Brokers, and Terraform templates.
#8311: Transform the Enterprise with IBM Cloud PrivateMichael Elder
Does your organization need to improve development agility and operational efficiency? Does it also need to accelerate the delivery of applications to market? Bottom line: do you need to become cloud native with your application development, but face security and compliance challenges that limit your adoption of public cloud? The enterprise needs a platform on which it can create new, cloud native applications, modernize and optimize existing ones, and gain access to capabilities in public cloud for secure integration with applications being developed behind the firewall. The new IBM Cloud Private helps your organization meet these enterprise challenges. Come learn more about IBM Cloud Private and how you can leverage it.
Presented at IBM Think 2018.
Accelerate Digital Transformation with IBM Cloud PrivateMichael Elder
Accelerate the journey to cloud-native, refactor existing mission-critical workloads, and catalyze enterprise digital transformations.
How do you ensure the success of your enterprise in highly competitive market landscapes? How will you deliver new cloud-native workloads, modernize existing estates, and drive integration between them?
Accelerate Digital Transformation with IBM Cloud PrivateMichael Elder
Latest version: https://www.slideshare.net/MichaelElder/accelerate-digital-transformation-with-ibm-cloud-private-81258443
Accelerate the journey to cloud-native, refactor existing mission-critical workloads, and catalyze enterprise digital transformations.
How do you ensure the success of your enterprise in highly competitive market landscapes? How will you deliver new cloud-native workloads, modernize existing estates, and drive integration between them?
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...Michael Elder
Development teams want to move quickly. Operations teams want to move forward with effective risk management. How do you balance these concerns? With IBM Continuous Delivery for Bluemix, developers are empowered to deliver changes at cloud speed, while release managers can establish policies that ensure compliance with standards. Promotions can be automated all the way to production while enforcing team policies around test coverage and automated test success. And of course, environment inventories are always just a click away. In this talk, you’ll learn how to enable your enterprise teams to deliver like a startup, without violating corporate regulations like separation of duties.
CTO Forum - Rethink Technology Agile KeynoteMichael Elder
As a large enterprise, how do you apply agile development practices? In this presentation, I'll take you through some lessons learned in my own experience managing large teams within a large enterprise.
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudMichael Elder
Delivering quickly means leaving automation across applications and infrastructure as a wholistic approach to development, test, and operations. At IBM, we've made it easy to extend your existing VMware platform onto IBM Cloud - from provisioning new VMware clusters with vRealize Automation management all the way through deploying and operating your applications using IBM UrbanCode Deploy, the market leading DevOps release automation provider. We'll show you how to optimize existing app delivery processes without significantly re-architecting what you're running today. We will demonstrate how the creation of infrastructure automation can be done seamlessly onto the Cloud Foundation platform with direct UrbanCode integration into vRealize.
How do you deliver your applications to the cloud?Michael Elder
Cloud, Docker, Bluemix, and DevOps. You feel the pressure of a hyper-competitive marketplace, and you want to win. Your goal is to deliver apps to that make your users happy and excited about your brand and products, but how do you do that? In this talk, we'll provide a technical briefing for how you can use a DevOps-enabled toolchain to deliver your apps with speed and reliability to the cloud platform of your choice. We'll review how UrbanCode Deploy can deliver your applications to OpenStack, IBM SoftLayer, Amazon, and VMWare with a consistent and portable Infrastructure-as-a-Service approach; or how you can use Containers and Cloud Foundry for app tiers that change potentially many times a day. We’ll also focus in on some exciting new capabilities on our roadmap around Toolchains, Pipelines, Insights, and Releases.
Come take a look and ask your questions, and hopefully come away with a game plan to improve your delivery process today.
Provides an overview of DevOps techniques and principles in applying DevOps practices to IBM Commerce. Includes details of applying UrbanCode Deploy to manage IBM Commerce assets
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...Michael Elder
Provides an introduction to different types of workloads, delivery approaches, and delivery scenarios for combining UrbanCode Deploy and IBM DevOps Services.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
First Steps with Globus Compute Multi-User Endpoints
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix Libraries can Improve Your Application or Service!
1. 1
IBM Confidential
Streaming Movies brings you Streamlined Applications --
How Adopting Netflix Libraries can Improve Your Application
or Service!
March, 2014
Andrew Spyker, STSM Michael Elder, STSM
aspyker@us.ibm.com mdelder@us.ibm.com
@aspyker @mdelder
2. 2
2012
2013
2014
Beyond
SPECjEnterprise
AcmeAir
Cloud/Mobile
Sample/Benchmark
born
Sample
applicaBon
cloud
prize
work
AcmeAir
Run
On
IBM
Cloud
at
“Web
Scale”
Portability
cloud
prize
work
Scalable
Services
Fabric
internally
for
IBM
Services
Landscaper
&
JazzHub
adopBon
of
NOSS
libraries
Historical
Context
SoSLayer
and
BlueMix
services
3. Ne0lixOSS
• “Technical
indigesBon
as
a
service”
– Adrian
CockcroS
• neWlix.github.io
– 40+
OSS
projects
– Expanding
every
day
• Focusing
more
on
interacBve
mid-‐Ber
server
technology
today
…
4. What
is
service
opera7onal
excellence?
¡ OperaBng
a
24/7
producBon
public
cloud
service
with
paying
customers
means
…
¡ High
availability
¡ No
SPOF’s,
all
components
at
least
triple
clustered
¡ AutomaBc
Recovery
¡ ParBal
failure
should
be
recovered
by
system
¡ ConBnuous
Delivery
¡ Changes
delivered
frequently
with
zero
downBme
¡ ElasBc
Scalability
¡ SoluBon
can
scale
out
easily
¡ OperaBonal
Visibility
¡ Operators
have
live
view
of
contextualized
state
of
system
5. Micro
service
ImplementaBon
Call
“Auth
Service”
Ribbon
REST
client
with
Eureka
Web
App
Front
End
(REST
services)
App
Service
(auth-‐service)
Execute
auth-‐service
call
Hystrix
Eureka
Server(s)
Eureka
Server(s)
Eureka
Server(s)
Karyon
&
Archaius
Fallback
ImplementaBon
Implementa7on
Detail
Benefits
Decompose
into
micro
services
• Key
user
path
always
available
• Failure
does
not
propagate
across
service
boundaries
Karyon
/w
automaBc
Eureka
registraBon
using
Archaius
for
property
management
• New
instances
are
quickly
found,
failing
individual
instances
disappear
• Per
deployment
environment
composite
property
sources
provide
dynamic
behavior
at
runBme
Ribbon
client
with
Eureka
awareness
• Load
balances
&
retries
across
instances
with
“smarts”
• Handles
temporal
instance
failure
Hystrix
as
dependency
circuit
breaker
• Allows
for
fast
failure
• Provides
graceful
cross
service
degradaBon/recovery
Highly
Available
Service
Run7me
Recipe
6. Region
(Dallas)
DAL01
Datacenter
(DAL06)
DAL05
Eureka
Local
LBs
Web
App
Auth
Service
Booking
Service
Cluster
Auto
Recovery
and
Scaling
Services
Global
Load
Balancers
Rule
Why?
Always
>
2
of
everything
1
is
SPOF,
2
doesn’t
web
scale
and
slow
DR
recovery
Including
IaaS
and
cloud
services
You’re
only
as
strong
as
your
weakest
dependency
Use
auto
scaler/recovery
monitoring
Clusters
guarantee
availability
and
service
latency
Use
applicaBon
level
health
checks
Instance
on
the
network
!=
healthy
IaaS
High
Availability
7. Our
goals
for
this
talk
¡ Change
your
perspecBve:
as
we
move
into
hosted
offerings,
scalability
and
availability
are
criBcal
to
our
business
¡ We’ll
look
at
NeWlix
RunBme
Libraries
that
you
can
adopt
in
your
products
today
–
regardless
of
whether
you’re
building
a
hosted
service
¡ The
Libraries
promote
good
development
pracBces
and
architectural
paperns
8. Pre-‐req:
Inversion
of
Control
PaJern
¡ Inversion
of
Control
or
Dependency
Injec4on
is
a
soSware
design
papern
that
defines
a
set
of
callback
interfaces
which
are
provided
with
their
data
or
references
when
needed
¡ The
client
“inverts
control”
back
to
some
container
to
tell
it
what
references
to
use
during
execuBon
¡ Spring,
Java
Persistence
API,
Servlet,
etc
are
all
forms
of
this
papern
¡ NeWlix
leverages
Google
Guice
(hpps://code.google.com/p/google-‐guice/)
and
makes
heavy
use
of
injecBon
for
their
lifecycle
management
library
(Karyon)
9. 9
IBM Confidential
Lifecycle
Management:
Karyon
¡ In
order
to
support
microservices,
it’s
important
to
componenBze
your
architecture
between
microservices
¡ But
within
microservices,
there
are
similar
logically
independent
segments
–
EmailNoBficaBon,
Database
API,
Storage
API,
etc
¡ If
you
have
a
big
ServletContextListener
today
which
does
a
bunch
of
iniBalizaBon,
pay
apenBon
here
–
this
will
help
you
refactor
that
code
into
a
more
manageable
approach
StorageComponent
DatabaseComponent
EmailNotificationComponent
MyProductApplication
http://…/yourservice
http://…/myservice
10. 10
IBM Confidential
Lifecycle
Management:
Karyon
¡ Karyon
defines
@ApplicaBon
and
@Component
annotaBons
¡ Well
defined,
loosely
coupled
classes
form
the
larger
applicaBon
(e.g.
Components)
¡ Allows
us
to
change
the
monolithic
ConfiguraBonService
class
(1500
lines
originally)
into
about
65
lines
¡ Any
new
parts
of
the
architecture
should
be
defined
as
Components
¡ Also
defines
a
“HealthCheck”
type
to
be
subclassed
for
each
ApplicaBon
package com.urbancode.landscape.web.core;
…
@Application
@Singleton
public class LandscaperApplication {
private static final Logger logger = LoggerFactory
.getLogger(LandscaperApplication.class);
@Inject
private ServletContext context;
@Inject
private LocalStorage storage;
@Inject
private PersistenceConfig persistenceConfig;
@Inject
private ServiceBusClient serviceClient;
@Inject
private NotificationConfig notificationConfig;
@PostConstruct
public void initialize() {
..
}
}
11. 11
IBM Confidential
Karyon:
@Component
¡ @Components
break
up
logical
parts
of
the
larger
applicaBon
(as
expected)
¡ Components
can
declare
other
Components
in
their
InjecBons
(e.g
PersistenceConfig
-‐>
LocalStorage)
¡ Components
are
iniBalized
**BEFORE**
the
ApplicaBon
(hence
cannot
depend
on
the
ApplicaBon)
¡ Components
may
choose
to
be
@Singleton
¡
Components
may
declare
@PreDestroy
methods
package com.urbancode.landscape;
…
@Component
@Singleton
public class LocalStorage {
@Inject
private ServletContext context;
..
@PostConstruct
public void initialize() {
..
}
…
}
12. 12
IBM Confidential
Karyon
Admin
Console
¡ Available
at
hpp://localhost:8077/
(just
by
launching
Tomcat)
¡ Provides
detailed
informaBon
about
the
process
including
classpath,
environment
variables,
properBes,
and
a
web-‐based
JMX
console
13. 13
IBM Confidential
Configura7on
Management:
Archaius
¡ Archaius
defines
a
library
for
managing
applicaBon
properBes
¡ Exposed
automaBcally
through
Karyon
admin
console
¡ Allows
you
to
define
“composite”
sources:
¡ pull
from
properBes
file,
¡ then
database,
¡ then
environment-‐specific
properBes
file
¡ Makes
overriding
properBes
much
easier
14. 14
IBM Confidential
Dynamic
Proper7es
with
Archaius
¡ Archaius
also
defines
dynamic
properBes
¡ Dynamic
property
API
updates
properBes
for
each
request
¡ Allows
you
to
update
configuraBon
without
forcing
a
reboot
¡ ProperBes
can
be
manipulated
by
JMX
at
runBme
// Create the dynamic property
DynamicStringProperty novaEndpoint =
DynamicPropertyFactory.getInstance()
.getStringProperty(“key”, ”default_value");
// each new request will get the latest known value
novaEndpoint.get();
15. 15
IBM Confidential
Latency
&
Fault
Tolerance:
Hystrix
¡ Failure
happens.
Daily.
Hourly.
This
minute
even.
¡ Failure
cannot
be
prevented,
it
can
only
be
protected
against
through
isolaBon
¡ When
one
dependency
fails,
it
can
cause
cascading
failures
or
chain
reacBons
which
have
a
much
broader
impact
¡ Release
It!
describes
many
paperns
and
anBpaperns
around
stability
and
availability
moBvated
by
exactly
this
kind
of
use
case
16. 16
IBM Confidential
Bulkhead
PaJern
¡ When
a
cascading
failure
or
chain
reacBon
occurs,
the
enBre
user
experience
can
be
destroyed
by
one
bad
actor
¡ In
this
case,
or
in
similar
examples
where
one
or
more
dependencies
all
fail
due
to
an
upstream
service,
you
want
to
isolate
that
failure
so
that
it
doesn’t
impact
the
rest
of
the
architecture
¡ We
call
this
protecBon
the
“Bulkhead”
papern
17. 17
IBM Confidential
Circuit
Breaker
PaJern
¡ When
a
failure
occurs
over
and
over
again,
a
backend
system
may
be
down
or
experiencing
too
much
load
¡ In
the
case
of
too
much
load,
you
can
“shed
load”
to
prevent
further
degradaBon
¡ We
can
“trip
the
circuit”,
meaning
that
we
avoid
sending
new
requests
aSer
some
failure
threshold
(default
to
50%)
¡ We
call
this
“Circuit
Breaker”
18. 18
IBM Confidential
Fail
Fast
PaJern
¡ When
a
circuit
is
“open”
(e.g.
the
backend
service
is
failing
consistently),
any
new
requests
are
immediately
rejected
or
the
fallback
mechanism
is
invoked
¡ We
call
this
failing
fast.
¡ Enables
you
to
respond
to
failure
in
a
predictable
way
by
implemenBng
fallbacks
in
each
command
19. 19
IBM Confidential
Encapsula7ng
Service
Dependencies:
HystrixCommand<R>
¡ Each
command
extends
a
common
type
¡ The
constructor
configures
Group
ID,
Command
ID,
and
other
sevngs
¡ A
run
method
implements
the
behavior
public class OSGetAccessTokenCommand extends
HystrixCommand<Access> {
private static final HystrixCommandKey
GET_ACCESS_TOKEN_CMD_KEY =
HystrixCommandKey.Factory.asKey("GetAccessToken”);
public OSGetAccessTokenCommand(…) {
super(Setter.withGroupKey(
HystrixCommandGroupKey.Factory.asKey(KEYSTONE_GROUP_ID))
.andCommandKey(GET_ACCESS_TOKEN_CMD_KEY)
.andCommandPropertiesDefaults(HystrixCommandProperties.Setter()
));
...
}
...
protected Access run() throws Exception {
...
}
}
20. 20
IBM Confidential
More
than
your
money’s
worth
¡ All
commands
with
the
same
Group
ID
have
their
own
resource
pool
(more
on
that
in
a
bit)
¡ Commands
have
configurable
Bmeouts
which
are
automaBcally
enforced
¡ Commands
can
define
fallbacks
in
case
of
Bme
out
or
dependency
failure
¡ Support
opBmizaBons
such
as
Request
Collapsing
and
Request
Caching
Future<Access> request =
new OSGetAccessTokenCommand(
identityEndpoint.get(),
identityUsername.get(),
identityPassword.get())
.queue();
Access credentialToken = request.get();
21. 21
IBM Confidential
In
case
of
emergency
…
¡ Implement
getFallback()
when
failures
occur
¡ OpBons
might
include
returning
mock
data
or
non-‐personalized
data
¡ OpBonally
check
for
the
failure
reason
with
getFailedExecuBonExcepBon()
(Bmeout,
excepBon,
etc)
¡ When
using
Jersey
for
REST
API,
use
javax.ws.rs.core.Response
as
your
response
type,
and
decide
proper
Response
in
getFallback()
public class UCDGetComponentsCommand extends
UCDAbstractCommand<JSONArray> {
@Override
protected JSONArray getFallback() {
JSONArray componentsArray = new JSONArray();
// Return mock data in case of failure
for (String name : new String[]
{ "JKE Web", "JKE Database",
"Mortgage App", "JPetStore Web" }) {
try {
MockData.getInstance()
.createComponentResource(componentsArray,
name);
} catch (JSONException e) {
…
}
}
return componentsArray;
}
22. 22
IBM Confidential
Methods
of
Isola7on
for
Commands
¡ Hystrix
supports
two
forms
of
IsolaBon:
Thread
Pool
and
Semaphore
¡ Thread
Pool
is
the
easiest
to
understand
–
each
Group
has
its
own
dedicated
Thread
Pool
and
when
requests
come
in
while
the
thread
pool
they
fail
fast
¡ Semaphore
is
useful
though
if
you
want
IsolaBon
but
don’t
want
to
break
your
exisBng
Threading
model
–
example
session
filters
which
configure
ThreadLocals
for
Servlets
or
Jersey
Resources
public abstract class UCLAbstractDBCommand<R> extends
UCLAbstractCommand<R>{
public UCLAbstractDBCommand(
HystrixCommand.Setter setter) {
super(setter.andCommandPropertiesDefaults(
HystrixCommandProperties.Setter()
.withExecutionIsolationStrategy(
ExecutionIsolationStrategy.SEMAPHORE)));
}
@Override
protected final R run() throws Exception {
return doRun();
}
# Runs in the Jersey Resource’s thread
# Leverages ThreadLocals from Hibernate Session Filter
protected abstract R doRun() throws Exception;
}
23. 23
IBM Confidential
When
to
throw
in
the
towel
…
(configuring
7meouts,
etc)
¡ Virtually
all
of
the
HystrixCommand’s
opBons
can
be
configured
at
runBme
through
Archaius
¡ Notable
examples
include
the
Thread
Pool
limits
and
Bmeouts
¡ See
the
Hystrix
wiki
for
a
full
accounBng
of
what
you
can
do
¡ Set
these
properBes
dynamically
through
Karyon’s
JMX
console
and
watch
command
behavior
change
on
the
fly
# landscaper.properties or landscaper-[env-name].properties
# configure default timeout milliseconds
hystrix.command.GetAccessToken.execution.isolation.thread.ti
meoutInMilliseconds=20000
hystrix.command.OSGetImages.execution.isolation.thread.tim
eoutInMilliseconds=8000
…
# let no more than 20 GetAccessToken commands run
# together
hystrix.threadpool.KeystoneGroup.maxQueueSize=20
# wait 15 seconds if we “trip” the circuit for a command
hystrix.command.GetAccessToken.circuitBreaker.sleepWindo
wInMilliseconds=15000
24. 24
IBM Confidential
Embedding
Unit
Tests
¡ Promoted
approach
by
NeWlix
to
reduce
fricBon
and
introduces
limited
addiBonal
bytes
relaBve
to
third
party
libraries
¡ Makes
it
easy
to
write
commands,
the
UnitTest
becomes
the
test
harness
and
verificaBon
¡ Always
testSuccess()
and
testFailure()
use
cases
to
ensure
expected
behavior
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class OSDeployEnvironmentCommand extends
OSAbstractOrchestrationCommand<Response> {
public static class UnitTest {
@Test
public void testSuccess() throws InterruptedException,
ExecutionException, JSONException {
…
Future<Response> request =
new OSDeployEnvironmentCommand(…)
.queue();
Response response = request.get();
assertNotNull(response);
assertEquals(HttpStatus.SC_OK,
response.getStatus());
}
}
25. 25
IBM Confidential
Bootstrapping
Karyon
–
Advanced
Topic
¡ If
your
commands
leverage
Karyon,
it’s
possible
to
bootstrap
Karyon
as
part
of
a
UnitTest
¡ Requires
a
liple
more
setup,
but
enables
you
to
have
control
over
the
dependency
injecBon
from
the
Google
Guice
container
¡ Allows
you
to
create
Mock
classes
for
things
like
ServletContext
or
other
classes,
if
your
Jersey
Resource
or
Hystrix
Command
needs
them
protected static KaryonServer karyonServer;
protected static Injector injector;
protected static void configureKaryon(List<String>
packages) throws Exception {
if (karyonServer == null) {
ConfigurationManager
.loadPropertiesFromResources(
"landscaper-heat-unittests.properties");
…
karyonServer = new KaryonServer();
injector = karyonServer.initialize();
karyonServer.start();
…
26. 26
IBM Confidential
REST
API
with
Ribbon
¡ A
microservice
architecture
is
generally
built
around
REST-‐
based
interfaces
¡ Ribbon
provides
a
HTTP
client
for
calling
service
dependencies
¡ Provides
more
visibility
into
behaviors
like
connecBon
Bmeouts,
auto-‐retry
and
number
of
retries
through
Archaius
properBes
¡ Also
supports
client-‐side
load
balancing
through
Eureka
ConfigurationManager
.loadPropertiesFromResources(
"heat-api-client.properties");
ClientFactory.getNamedClient("heat-api-client");
URI uri = new URI("/v1/" +
token.getToken().getTenant().getId()
+ "/stacks");
HttpRequest request = HttpRequest.newBuilder().uri(uri)
.verb(Verb.POST)
.entity(getEntity().toString().getBytes())
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("User-Agent", "python-heatclient")
.build();
HttpResponse response =
heatAPIClient.executeWithLoadBalancer(request);
27. 27
IBM Confidential
Tying
it
all
into
a
bow
…
¡ Ribbon
is
generally
used
with
HystrixCommands
to
execute
requests
¡ Ribbon
will
automaBcally
discover
available
servers
and
load
balance
between
them
¡ Here
the
example
has
an
explicit
list
of
servers,
but
we
can
change
the
sevngs
to
use
Eureka
for
service
discovery
# configuration settings heat-api-client.properties
# Interval to refresh the server list from the source
heat-api-client.ribbon.ServerListRefreshInterval=2000
# Connect timeout used by Apache HttpClient
heat-api-client.ribbon.ConnectTimeout=3000
heat-api-client.ribbon.listOfServers=localhost:
8004,10.0.2.15:8004
// No need to reference an explicit server, Ribbon finds one
URI uri = new URI("/v1/" +
token.getToken().getTenant().getId()
+ "/stacks");
HttpRequest request = HttpRequest.newBuilder().uri(uri)
.verb(Verb.POST)
...
HttpResponse response =
heatAPIClient.executeWithLoadBalancer(request);
29. 29
IBM Confidential
Netflix OSS IBM port/enablement
Netflix “Zen” of Cloud • Worked with initial services to enable cloud native arch
• Worked with initial services to enable NetflixOSS usages
• Created scorecard and tests for “cloud native” readiness
Highly Available IaaS and Cloud
Services
• Deployment across multiple IBM SoftLayer IaaS datacenters and global and local
load balancers
• Complete automation via IBM SoftLayer IaaS API’s
• Ensured facilities for automatic failure recovery
Micro-service Runtimes (Karyon,
Eureka Client, Ribbon, Hystrix,
Archaius)
• Ported to work with IBM SoftLayer IaaS and on the WebSphere Liberty Profile
application server
• Created “eureka-sidecar” for non-Java runtimes and ElasticSearch discovery
Netflix OSS Servers
(Asgard, Eureka Server, Turbine)
• Ported to work with IBM SoftLayer IaaS + RightScale
• Operationalized HA and secure deployments for multiple service tenants
Adopted Chaos Testing • Ported Chaos Monkey to IBM SoftLayer IaaS
• Performed manual Chaos Gorilla validation on services
Worked through devops tool
chain
• Worked with initial services to enable continuous delivery with devops (and imagine
baking via Animator like tool)
• Working through integration with Urban Code Deploy and other IBM continuous
delivery tools
AIM
Scalable
Services
Fabric
Ne0lixOSS
Port
to
So_Layer
30. 30
IBM Confidential
Demo
of
Ne0lixOSS
and
Ne0lix
services
on
So_Layer
Region (Dallas)
DAL01
Datacenter (DAL06)
DAL05
Eureka
Local LBs
Web App Auth Service Booking Service
Cluster Auto Recovery and Scaling Services
Global Load
Balancers
Asgard
SoftLayer GLB/LLB and Datacenters
32. 32
IBM Confidential
About
Your
Architecture
• Architecture should support DevOps principles such as staged roll out, operational insights, and scriptability
• Each resource provides some very practical advice for building systems which are focused on reliability and
feedback loops
Release It!: Design and
Deploy Production-Ready
Software
http://netflix.github.io/#repo