Central configuration management allows teams to manage configurations in a centralized repository. Configurations can be versioned, inherited in a hierarchy, and consumed by applications through a client that pulls configurations from the repository. This enables consistent configuration of environments like development, testing and production while allowing flexibility for individual configuration overrides.
WebSocket in Enterprise Applications 2015Pavel Bucek
Presentation from JavaOne 2015.
This session, which covers use cases of JSR 356 (Java API for WebSocket) and some features of Oracle’s implementation related to enterprise applications, contains description of standard use cases and recommends optimizations and best practices for using the JSR 356 API. After that, it presents more-complex schemes involving authentication support, fallback support, and clustering.
Oracle WebLogic Server is the application server that offers the best integration with Oracle Database, including strong integration with Oracle Database advanced features. This session covers integration in areas such as Oracle Database’s Application Continuity feature and Oracle WebLogic Server’s Active GridLink for RAC feature, which provide mission-critical applications with high availability despite database outages. It reviews test results demonstrating these benefits and discusses how the integration of Oracle WebLogic Server data sources with database-resident connection pooling allows for better sharing and more-efficient use of Oracle Database resources. As always, this presentation and forward-looking statements are protected by the included Safe Harbor slide.
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...jeckels
Enjoy all the productivity of developing and deploying Java applications on Oracle's standards-based Java platform---without the headache of IT. Powered by Oracle WebLogic Server, the industry's #1 application server, Oracle's Java Platform is purpose-built for deploying standard Java applications as well as Software-as-a-Service (SaaS) extensions. Learn how you can easily get started and securely deploy your applications in the cloud using the proven developer productivity tools, and a robust database persistence layer.
WebSocket in Enterprise Applications 2015Pavel Bucek
Presentation from JavaOne 2015.
This session, which covers use cases of JSR 356 (Java API for WebSocket) and some features of Oracle’s implementation related to enterprise applications, contains description of standard use cases and recommends optimizations and best practices for using the JSR 356 API. After that, it presents more-complex schemes involving authentication support, fallback support, and clustering.
Oracle WebLogic Server is the application server that offers the best integration with Oracle Database, including strong integration with Oracle Database advanced features. This session covers integration in areas such as Oracle Database’s Application Continuity feature and Oracle WebLogic Server’s Active GridLink for RAC feature, which provide mission-critical applications with high availability despite database outages. It reviews test results demonstrating these benefits and discusses how the integration of Oracle WebLogic Server data sources with database-resident connection pooling allows for better sharing and more-efficient use of Oracle Database resources. As always, this presentation and forward-looking statements are protected by the included Safe Harbor slide.
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...jeckels
Enjoy all the productivity of developing and deploying Java applications on Oracle's standards-based Java platform---without the headache of IT. Powered by Oracle WebLogic Server, the industry's #1 application server, Oracle's Java Platform is purpose-built for deploying standard Java applications as well as Software-as-a-Service (SaaS) extensions. Learn how you can easily get started and securely deploy your applications in the cloud using the proven developer productivity tools, and a robust database persistence layer.
The slde contains an introduction to the global transaction identifiers(GTIDs) in MySQL Replication. The new protocol at re-connect, skipping transactions with GTIDS, replication filters, purging logs, backup/restore ets are covered here.
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
It’s hard to overstate how much has changed in the world since HTTP 1.1 went final in June of 1999. There were no smartphones, Google had not yet IPO’d, Java Swing was less than a year old… you get the idea. Yet for all that change, HTTP remains at version 1.1.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting
update to the world’s most successful application protocol on the world’s most popular programming language.
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
Oracle WebLogic Server 12.2.1 (WLS) is the most significant release of WLS since Oracle added WLS to its product portfolio with the acquisition of BEA in 2008. This session by WebLogic developer and JCP Specification Lead Ed Burns goes behind the buzzwords and explains the enterprise value-add brought by WLS 12.2.1 in plain English. Ed infuses his decades long experience in web technologies throughout the presentation, addressing such topics as why app servers are still useful, what role standards play in transitioning to the cloud, and what is the difference between "full stack" and "monolith".
See an interview about this topic at <https: />.
Ed introduces the new version of WLS by taking a tour of two big ticket new features: multitenancy and Java EE 7. Other features such as continuous availability, REST management, and Docker/devops features will also be included.
The multitenancy features in WebLogic Server offer extreme efficiency, full isolation, application portability, and full automation, all in an easy to adopt format.
Java EE 7 is the latest version of the Java standard full stack of loosely coupled, highly cohesive technologies for building enterprise software. EE 7 features new versions of popular standards such as JAX-RS (REST), CDI, Servlet, JSF, JSON, WebSocket, JMS, and more.
WLS 12.2.1 delivers these and other new features, while continuing the promise of stability and scale developers expect.
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)jeckels
With Oracle WebLogic Server now available "as a service" both on premise working in conjunction with Oracle Enterprise Manager Cloud Pack and also in several Public Clouds beyond Oracle Public Cloud, customers have a clear set of architectural alternatives when looking at building out an enterprise cloud strategy for WebLogic Server. Cloud with WebLogic Server is not just core server but the layered and related products needed in a cloud infrastructure -Web Tier, WebLogic Server, Database and Fusion Middleware - as well as the full lifecycle capabilities needed: development, administration and operations. Navigate a pragmatic cloud approach for your organization and WebLogic Server.
The slde contains an introduction to the global transaction identifiers(GTIDs) in MySQL Replication. The new protocol at re-connect, skipping transactions with GTIDS, replication filters, purging logs, backup/restore ets are covered here.
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
It’s hard to overstate how much has changed in the world since HTTP 1.1 went final in June of 1999. There were no smartphones, Google had not yet IPO’d, Java Swing was less than a year old… you get the idea. Yet for all that change, HTTP remains at version 1.1.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting
update to the world’s most successful application protocol on the world’s most popular programming language.
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
Oracle WebLogic Server 12.2.1 (WLS) is the most significant release of WLS since Oracle added WLS to its product portfolio with the acquisition of BEA in 2008. This session by WebLogic developer and JCP Specification Lead Ed Burns goes behind the buzzwords and explains the enterprise value-add brought by WLS 12.2.1 in plain English. Ed infuses his decades long experience in web technologies throughout the presentation, addressing such topics as why app servers are still useful, what role standards play in transitioning to the cloud, and what is the difference between "full stack" and "monolith".
See an interview about this topic at <https: />.
Ed introduces the new version of WLS by taking a tour of two big ticket new features: multitenancy and Java EE 7. Other features such as continuous availability, REST management, and Docker/devops features will also be included.
The multitenancy features in WebLogic Server offer extreme efficiency, full isolation, application portability, and full automation, all in an easy to adopt format.
Java EE 7 is the latest version of the Java standard full stack of loosely coupled, highly cohesive technologies for building enterprise software. EE 7 features new versions of popular standards such as JAX-RS (REST), CDI, Servlet, JSF, JSON, WebSocket, JMS, and more.
WLS 12.2.1 delivers these and other new features, while continuing the promise of stability and scale developers expect.
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)jeckels
With Oracle WebLogic Server now available "as a service" both on premise working in conjunction with Oracle Enterprise Manager Cloud Pack and also in several Public Clouds beyond Oracle Public Cloud, customers have a clear set of architectural alternatives when looking at building out an enterprise cloud strategy for WebLogic Server. Cloud with WebLogic Server is not just core server but the layered and related products needed in a cloud infrastructure -Web Tier, WebLogic Server, Database and Fusion Middleware - as well as the full lifecycle capabilities needed: development, administration and operations. Navigate a pragmatic cloud approach for your organization and WebLogic Server.
Cloud-Größen wie Google, Twitter und Netflix haben die Kernbausteine ihrer Infrastruktur quelloffen verfügbar gemacht. Das Resultat aus vielen Jahren Cloud-Erfahrung ist nun frei zugänglich, und jeder kann seine eigenen Cloud-nativen Anwendungen entwickeln – Anwendungen, die in der Cloud zuverlässig laufen und fast beliebig skalieren. Die einzelnen Bausteine wachsen zu einem großen Ganzen zusammen, dem Cloud-Native-Stack. In dieser Session stellen wir die wichtigsten Konzepte und aktuellen Schlüsseltechnologien kurz vor. Anschließend implementieren wir einen einfachen Microservice mit .NET Core und Steeltoe OSS und bringen ihn zusammen mit ausgewählten Bausteinen für Service-Discovery und Konfiguration schrittweise auf einem Kubernetes-Cluster zum Laufen. @BASTAcon #BASTA17 @qaware #CloudNativeNerd
https://basta.net/microservices-services/cloud-native-net-microservices-mit-kubernetes/
Hand-On Lab: CA Release Automation Rapid Development Kit and SDKCA Technologies
A key component of CA Release Automation is its ability to orchestrate your tool chain. What do you do if there isn't an existing action pack or plugin for one of your tools? Learn how to quickly build the integrations you need to get you where you want to go. This is both a presentation and hands-on session where you will learn how to create action packs for use with CA Release Automation. During this session, you will receive an introduction to the Rapid Development Kit (RDK) and Software Development Kit (SDK), then perform a hands-on exercise where you will use an RDK or SDK environment to build an action pack using script, command line and RESTful actions.
For more information, please visit http://cainc.to/Nv2VOe
Implementing a Reliable, Auto-Healing Scalable Platform at VMwareOlyaSurits
An API gateway is the most critical piece of enterprise integration for IT. Therefore, we needed to implement a robust API gateway in a reliable, auto-healing scalable platform. This talk will share how we implemented an open source gateway on a Kubernetes platform with multi-datacenter auto failover to achieve this objective.
For this implementation, we developed a customized monitoring script to execute the auto failover between the data centers in case of API gateway failures. The result was 99.95 percent uptime.
With this architecture in place, we also succeeded in performing chaos engineering using a combination of open source and in-house chaos tools.
Key takeaways will include:
• How to implement a robust API gateway in a reliable, auto-healing scalable platform
• How we achieved 99.95 percent uptime
• How to combine open source and in-house tools to successfully perform chaos engineering
The slide deck used in the Apache Camel / Syndesis Seminar at Red Hat, K.K., Ebisu --
https://jcug-oss.connpass.com/event/99168/
Uploaded with permission of Christina Lin
Integrating Ansible Tower with security orchestration and cloud managementJoel W. King
Ansible Durham Meetup, 13 July 2017.
Our guest speaker will be Joel W. King, Principal Architect at World Wide Technology. His focused is on enterprise Software-Defined Networking and network programmability.
He will talk about how Ansible Tower, through the northbound APIs, is integrated into the security orchestration platform Phantom Cyber, and using the same code base, extends infrastructure provisioning to Cisco CloudCenter (formerly CliQr), an application-centric public and private cloud management solution.
Modern authentication in Sling with Openid Connect and Keycloak - Adapt.to 20...Ioan Eugen Stan
Speaking of modern authentication for the Web, we usually assume features like single sign-on, social login, strong multifactor auth, protection from brute-force attacks and automated registrations & many more.
Unfortunately, Sling offers only very basic authentication and identity management out of the box. Our proposal is not to reinvent all of the above within Sling, but rather to delegate authentication and IDM to mature, open-source and standards-compliant external service.
In this session, we'll discuss and demonstrate implementation of this approach with Keycloak, open-source identity solution.
https://github.com/netdava/adapt-to-2018-keycloak-sling-presentation/ - Code and presentation.
https://netdava.github.io/adapt-to-2018-keycloak-sling-presentation/
https://adapt.to/2018/en/schedule/modern-authentication-in-sling-with-openid-connect-and-keycloak.html
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
There is no doubt that 2018 is the year when Progressive Web Apps will get the really broad adoption and recognition by all the involved parties: browser vendors (finally, all the major ones), developers, users. And the speed and smoothness of this process heavily depend on how correctly we, developers, use the power of new APIs. In my session based on the accumulated experience of developing and maintaining PWAs we go through the list of advanced tips & tricks, showcase best practices, learn how to avoid common pitfalls and have a look at the latest browser support and known limitations.
How we built Packet's bare metal cloud platformPacket
Overview on Packet's approach to bare metal server and network automation for our public cloud. Presented at the Downtech NY Tech meetup on May 19th, 2016
Privileged Access Management for the Software-Defined NetworkCA Technologies
New extensions to CA Privileged Access Manager significantly expand the ability of the product to protect and defend resources in VMware NSX virtualized network environments. In this session, we’ll examine and demonstrate those capabilities, which take advantage of new technologies and methods made available by the NSX infrastructure, in more detail.
For more information, please visit http://cainc.to/Nv2VOe
Case Study: Developing a Vblock System-based Private Cloud Platform with Pupp...VCE
This presentation provides an overview and lessons learned from deploying a large-scale private cloud platform for a key VCE customer based on Vblock Systems, Puppet Enterprise and VMware vCloud suite. VCE Vblock Systems provide seamless integration of compute, storage, network and virtualization technologies, delivering fast time-to-value for customers deploying private cloud solutions. Puppet Enterprise is at the core of this solution, enabling rapid application deployment and dynamic configuration management to support business groups and IT security requirements such as SOX. This presentation also describes how Puppet Enterprise is integrated seamlessly with VMware vCloud suite and provides a self-service portal for provisioning and management of the solution.
CIT-2697 - Customer Success Stories with IBM PureApplication SystemHendrik van Run
This IBM InterConnect 2015 session will cover a number of successful customer deployments of IBM PureApplication System. The described case studies include a variety of middleware platforms, as well as many additional operational requirements, like High Availability, Disaster Recovery, Enterprise Monitoring and more. Main focus is on giving a broad overview of what customers have done with the system and what the critical success factors were.
Smart Services & Smart Clients - How Microservices Change the Way You Build a...Neil Mansilla
YAPC talk abstract: http://www.yapcna.org/yn2015/talk/5945
YAPC video: http://livestream.com/yapc/events/4112215/videos/89840147
I gave this talk on microservices architecture at YAPC (Yet Another Perl Conference) North America in Salt Lake City on June 10, 2015.
We took a deeper dive into the how and why Runscope implements a microservices architecture.
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFRoy Braam
This describes a story about a couple of teams that started their migration to the public cloud so the platform becomes available for ~300 teams. War stories, their journey, bloopers and their choices all shared.
Explore Advanced CA Release Automation Configuration TopicsCA Technologies
In this session, we will cover configuring SSL/TLS communications within your environment, integrating with Microsoft Active Directory® via LDAP/LDAPS and review the usage of user roles and permissions. We will also cover how to manage deployments using REST, complex architects, security, communications, scalability and troubleshooting.
For more information, please visit http://cainc.to/Nv2VOe
Similar to Codecamp2015 pimp yourpipeline-saade-jens-1.1 (20)
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
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
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
3. ReferencesAbout youngculture Group
Jens Saade
Head Innovation & Technology E-Commerce
Engineering Background (Retail, PIM, E-Commerce)
Located in Zürich, CH
Dev
Process
Architecture
Innova2on
Ini2a2ves
13. AUTOMATION
is hard work ...
expensive to establish...
and can get pretty complex
BUT
... reduces monkey work
... speeds up the dev & delivery processes
... calms down stress level
...and raises confidence and quality.
14. Release anytime, reproducible
Create
Hybris
Projects,
Extension
and Addons
Setup
Continously
Build
deployable
artifacts
Build
Assess
Software by
Automated
Testing
Test
Continuous Delivery
Overview
Install for
testing,
acceptance
and
production
Deploy
> Commit Stage > Acceptance Stage > Deployment Stage
Feedback Feedback Feedback
Establishing a Delivery Pipeline is a joint team effort! It involves lots of disciplines
and evolves constantly.
21. Diversity: Support complex environment setups
!=
We need good concepts how to configure
environments nearly equivalent
but allow flexibility for individual deviations
22. „The most efficient way to manage
configuration is to have a central service
through which every application can
get the configuration it needs.“
Jez Humble and Dave Farley
„Continuous Delivery: Reliable
Software Releases through
Build, Test, and Deployment
Automation“, Addison-Wesley
2010
23. Artifact
Generic
Configuration
Machine
Java VM
Rolling out Configurations
Configurations get
packaged and rolled out
JVMs are bootstrapped
from packaged
configurations
Machine
Java VM
Machine
Java VM
Machine
Java VM
Environment
Configuration
24. Turning from distributing (and manually
tweaking) local configurations ...
... to a centralized environment
that hosts configurations for self-service.
Direction change:
Push -> Pull
25. Artifact
Machine
Java VM
Rolling out Configurations, alternative
Rollout Software Artifact as
usual, but keep it generic,
just provide configuration
IDs
Isolate configurations from the
deployment package and provide
it centrally from the CCR
Machine
Java VM
Machine
Java VM
Machine
Java VM
UUID
Generic
Configuration
CCR
Environment
Configuration
UUID
UUID UUID
UUID
UUID
Generic
Configuration
Environment
Configuration
26. Hierachical Key-Value Store
Configuration
Configuration
UUID3
UUID4
Machine
Application
Client Wrapper
Central Configuration Repository (CCR) and Consuming Clients
Agent pulls
configuration properties
via REST / Json
Then injects properties
to JVM System context
MachineMachineMachine Machine
Machine
Machine
Machine
MachineMachineMachineMachine
Machine
Machine
Machine
Machine
Machine
REST / Json
discoBit
A
P
I
Admin UI
CCR
28. Configuration Hierarchies
Automated space
UUID1
Shared space
UUID2
UAT Environment
UUID7
UAT node 1
UUID8
UAT Node 2
UUID9
QA: Nightly Build Test System
UUID6
Personalized Conf Developer A
UUID3
Personalized Conf Developer B
UUID5
Ops
1
Ops
2
QA
Dev
1
Dev
2
Req
Eng
Continuous Delivery
Cycle
29. Customized (env1)
UUID3
Customized (env2)
UUID4
Machine
Java VM
discoBit Java Agent (UUID4)
System Context Injection via Java Agent
discoBit
Agent pulls
configuration properties
via REST / Json
Then injects properties
to JVM System context
Automated space
UUID1
Shared space
UUID2
30.
31.
32.
33. jsaade@MacBook-Pro:~/hybris/hybris-commerce-suite-5.4.0.0/hybris/bin/platform$ ./hybrisserver.sh
Launching a JVM...
Apr 20, 2015 1:42:33 PM com.v3rticle.oss.discobit.client.bootstrap.DiscobitSettings <init>
INFORMATION: [discobit] configuring server from system: http://127.0.0.1:8089
Apr 20, 2015 1:42:33 PM com.youngculture.ecom.hybris.discobit.HybrisDiscobitAgent execute
INFORMATION: Reading discobit configuration from http://127.0.0.1:8089::bb2835fb-466c-4143-8081-ffcd60c49467
Apr 20, 2015 1:42:33 PM com.v3rticle.oss.discobit.client.bootstrap.DiscobitSettings <init>
INFORMATION: [discobit] configuring server from system: http://127.0.0.1:8089
Apr 20, 2015 1:42:33 PM com.v3rticle.oss.discobit.client.bootstrap.DiscobitSettings <init>
INFORMATION: [discobit] configuring server from system: http://127.0.0.1:8089
Apr 20, 2015 1:42:33 PM com.v3rticle.oss.discobit.client.DiscobitConnector authenticate
INFORMATION: [discobit] authentication response: HTTP/1.1 200 OK
Apr 20, 2015 1:42:33 PM com.v3rticle.oss.discobit.client.DiscobitConnector authenticate
INFORMATION: [discobit] authentication cookie: [[version: 0][name: JSESSIONID][value:
65452FC130FE2F87E8655BF05D5F0A90][domain: 127.0.0.1][path: /][expiry: null]]
Apr 20, 2015 1:42:34 PM com.youngculture.ecom.hybris.discobit.HybrisDiscobitAgent execute
INFORMATION: injected 677 properties to system context
WrapperManager: Initializing...
Apr 20, 2015 1:42:39 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'disableURLRewriting' to 'true'
did not find a matching property.
Apr 20, 2015 1:42:40 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'disableURLRewriting' to 'true'
did not find a matching property.
Apr 20, 2015 1:42:40 PM org.apache.coyote.AbstractProtocol init
INFORMATION: Initializing ProtocolHandler ["http-bio-9001"]
Apr 20, 2015 1:42:40 PM org.apache.coyote.AbstractProtocol init
INFORMATION: Initializing ProtocolHandler ["http-bio-9002"]
Apr 20, 2015 1:42:45 PM org.apache.coyote.AbstractProtocol init
INFORMATION: Initializing ProtocolHandler ["ajp-bio-8009"]
Apr 20, 2015 1:42:45 PM org.apache.catalina.startup.Catalina load
INFORMATION: Initialization processed in 5834 ms
Apr 20, 2015 1:42:45 PM org.apache.catalina.mbeans.JmxRemoteLifecycleListener createServer
INFORMATION: The JMX Remote Listener has configured the registry on port 9003 and the server on port 9004 for the
Platform server
Apr 20, 2015 1:42:45 PM org.apache.catalina.core.StandardService startInternal
INFORMATION: Starting service Catalina
35. Key Take Aways
• Simple, unified approach to avoid wide-spread
configuration and their mutation
• Language & product agnostic
• Enabling other teams and colleagues to take
controlled influence on configs in general
• Needs a clear strategy concerning delivery cycle,
security and infrastructure
36. Usecases
• Configure applications in hosting enviroments,
test farms, desktops
• Developers share configurations while creating a
solution
• QA configures their testing systems individually
• Dark launching of software changes
• Feature toggling for indidual usage profiles
37. Pros
• Central administration
• Create multi-level configuration inheritance
• Turn from a push-based model to a consumer
pull-based self service
• Allow fine grained access to (parts) of
configurations for different stakeholder roles
• Change properties without rollouts (trigger
reload events instead)
+
+
+
+
+
38. Cons (yes there are)
• Accessibilty from environment to CCR needs to
be resilient, fallbacks needed (e.g. local caching).
• Configuring during runtime can have unforseen
side effects in your application (check lifecycle).
• Administrative access to configurations needs to
be well thought.
-‐
-‐
-‐
39. Where to go next? Potential Extensions
• Tracking changes possible (who did what and
when)
• Add versioning by storing configs in an SCM for
rollbacks ore regression testing
• Stage changes for different rollout scenarios
• Add hierarchical config structures like YAML