This document discusses continuous deployment with containers. It describes an old deployment process that was chaotic due to being a "one-man-show". The author then outlines a plan to improve deployment by categorizing different service types including API, SERVICE, WORKER and MSERVICE. There are over 50 different services and 1000+ containers across 24 instances that need to be deployed.
How LogicMonitor Automates Deployments with Bamboo and AnsibleRandall Thomson
This document discusses automating deployments with Bamboo and Ansible. It describes how Bamboo is used for building and deploying software and Ansible is used for automation and configuration management. Previously, deployments were done manually by copying files but this led to inconsistencies. The solution implemented automates deployments through Bamboo deployment plans using Ansible playbooks for consistency and notifications for success/failure. This provides empowered developers with an automated, consistent and resilient deployment process.
This is a talk about ways Ansible could be extended through dynamic inventory, plugins, modules or API. There was a discussion during meetup and ideas generated are added to the presentation.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that allows JavaScript to run on the server. It is commonly used for building web servers and networking applications. Node.js uses an asynchronous event-driven model that makes it lightweight and efficient for data-intensive real-time applications. The ecosystem of Node.js modules and frameworks like Express, Restify, and Hapi support building many types of applications beyond just web servers, including desktop apps, IoT devices, and command line tools. Node.js development is module-driven using the npm registry, which has over 150,000 packages and sees high growth in usage. The future of Node.js involves continued improvements to asynchronous programming, support
This document discusses how to create custom Ansible modules to extend its functionality. It provides examples of Ansible and Puppet built-in modules, and describes how to write a custom module using Python. Key steps include choosing a language, setting up the module file structure and boilerplate code, handling arguments and exceptions, and returning JSON output. The document demonstrates a simple module to look up AWS EC2 instances by tags and return their IDs.
Lambda local - A local server for developing AWS Lambda function in JavaYenwen Feng
This document discusses using AWS Lambda to develop REST services. It begins with an introduction to AWS Lambda, including what it is, when it launched, supported programming languages, and billing model. It then provides examples of building a simple "Hello World" REST service using AWS Lambda and API Gateway, including packaging, deployment, testing, and using Lambda proxy integration with API Gateway. It also discusses some additional Lambda details and alternatives like Lambda-Local for local development and testing.
9 dev ops dave van herpen - what is devops-NMITSymposium
DevOps is a movement focused on collaboration between development and operations teams. It aims to shorten the systems development life cycle and provide reliable, stable and secure products and services through a culture of automation, sharing, and metrics. DevOps promotes a multifaceted culture where development, operations, security, and other teams work together in an agile manner and share knowledge to quickly and reliably deliver features and fixes.
If you are looking for AWS Training in Delhi? JOIN SSDN Technologies, they are provide best aws training in delhi with certified trainer. Take aws training and get certified. Register Now https://www.ssdntech.com/aws-certification/aws-training-delhi-city
This document discusses using Amazon Web Services (AWS) and Elastic Compute Cloud (EC2) to build a cloud computing infrastructure. It provides an overview of cloud computing and AWS services like EC2, S3, EBS, ELB, SimpleDB, RDS, Route 53 and CloudWatch. It discusses why to use cloud computing to reduce costs, simplify management and improve scalability. It also covers how to set up an AWS account, launch EC2 instances, configure storage, and best practices around standardization, testing and availability. Finally, it discusses tools for managing cloud resources and an approach using base AMIs, Puppet for configuration, and ZenOSS for monitoring.
How LogicMonitor Automates Deployments with Bamboo and AnsibleRandall Thomson
This document discusses automating deployments with Bamboo and Ansible. It describes how Bamboo is used for building and deploying software and Ansible is used for automation and configuration management. Previously, deployments were done manually by copying files but this led to inconsistencies. The solution implemented automates deployments through Bamboo deployment plans using Ansible playbooks for consistency and notifications for success/failure. This provides empowered developers with an automated, consistent and resilient deployment process.
This is a talk about ways Ansible could be extended through dynamic inventory, plugins, modules or API. There was a discussion during meetup and ideas generated are added to the presentation.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that allows JavaScript to run on the server. It is commonly used for building web servers and networking applications. Node.js uses an asynchronous event-driven model that makes it lightweight and efficient for data-intensive real-time applications. The ecosystem of Node.js modules and frameworks like Express, Restify, and Hapi support building many types of applications beyond just web servers, including desktop apps, IoT devices, and command line tools. Node.js development is module-driven using the npm registry, which has over 150,000 packages and sees high growth in usage. The future of Node.js involves continued improvements to asynchronous programming, support
This document discusses how to create custom Ansible modules to extend its functionality. It provides examples of Ansible and Puppet built-in modules, and describes how to write a custom module using Python. Key steps include choosing a language, setting up the module file structure and boilerplate code, handling arguments and exceptions, and returning JSON output. The document demonstrates a simple module to look up AWS EC2 instances by tags and return their IDs.
Lambda local - A local server for developing AWS Lambda function in JavaYenwen Feng
This document discusses using AWS Lambda to develop REST services. It begins with an introduction to AWS Lambda, including what it is, when it launched, supported programming languages, and billing model. It then provides examples of building a simple "Hello World" REST service using AWS Lambda and API Gateway, including packaging, deployment, testing, and using Lambda proxy integration with API Gateway. It also discusses some additional Lambda details and alternatives like Lambda-Local for local development and testing.
9 dev ops dave van herpen - what is devops-NMITSymposium
DevOps is a movement focused on collaboration between development and operations teams. It aims to shorten the systems development life cycle and provide reliable, stable and secure products and services through a culture of automation, sharing, and metrics. DevOps promotes a multifaceted culture where development, operations, security, and other teams work together in an agile manner and share knowledge to quickly and reliably deliver features and fixes.
If you are looking for AWS Training in Delhi? JOIN SSDN Technologies, they are provide best aws training in delhi with certified trainer. Take aws training and get certified. Register Now https://www.ssdntech.com/aws-certification/aws-training-delhi-city
This document discusses using Amazon Web Services (AWS) and Elastic Compute Cloud (EC2) to build a cloud computing infrastructure. It provides an overview of cloud computing and AWS services like EC2, S3, EBS, ELB, SimpleDB, RDS, Route 53 and CloudWatch. It discusses why to use cloud computing to reduce costs, simplify management and improve scalability. It also covers how to set up an AWS account, launch EC2 instances, configure storage, and best practices around standardization, testing and availability. Finally, it discusses tools for managing cloud resources and an approach using base AMIs, Puppet for configuration, and ZenOSS for monitoring.
Howto scaling our node and application in Kubernetes environment. Headroom and Tetris node scale. HPA v1 and custom metrics. Our Black friday success story.
The document discusses the technologies used by Ghostmonitor, an e-commerce analytics company with 11 employees established in May 2015. It focuses on their use of microservices and related patterns. Key points include that they develop their single application as a suite of small independent services, use technologies like Docker, Kubernetes, and Redis, and have over 50 services running in 550+ containers to power their analytics platform. They discuss their approaches to local development, testing, deployment, monitoring, and other challenges of building with a microservices architecture.
The document discusses Ghostmonitor, a company that uses microservices architecture. It was established in 2015 with 11 employees working on e-commerce analytics. The company uses microservices, 12factor applications, and various microservices patterns. It discusses the benefits of refactoring code and challenges of a new age including frameworks, local development, testing, building, deploying, infrastructure, monitoring, and logging for microservices. The document provides details on technologies used and system statistics like having over 50 services and 550 containers. It includes diagrams of the microservices architecture and communications.
- The company uses microservices architecture with 50+ services running across 300+ containers orchestrated by Kubernetes. They have fully automated continuous integration and deployment.
- CoreOS is used as the lightweight OS which updates automatically and stores services in read-only containers. Kubernetes provides service discovery, auto-scaling, deployment, rollback and resource management for containers.
- The software development process follows a continuous delivery model where code changes are deployed through a pipeline to ensure the software can be reliably released at any time.
This document discusses continuous delivery using containers. It describes how the company uses microservices architecture, scaling, full automation, and continuous delivery. Continuous delivery is defined as keeping software in short cycles so it can be reliably released at any time. The deployment pipeline includes committing code, running unit tests, integration tests, end-to-end tests, building Docker images, and pushing to a registry. CoreOS is also discussed as a lightweight OS that runs all services in containers and uses a distributed key-value store.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Howto scaling our node and application in Kubernetes environment. Headroom and Tetris node scale. HPA v1 and custom metrics. Our Black friday success story.
The document discusses the technologies used by Ghostmonitor, an e-commerce analytics company with 11 employees established in May 2015. It focuses on their use of microservices and related patterns. Key points include that they develop their single application as a suite of small independent services, use technologies like Docker, Kubernetes, and Redis, and have over 50 services running in 550+ containers to power their analytics platform. They discuss their approaches to local development, testing, deployment, monitoring, and other challenges of building with a microservices architecture.
The document discusses Ghostmonitor, a company that uses microservices architecture. It was established in 2015 with 11 employees working on e-commerce analytics. The company uses microservices, 12factor applications, and various microservices patterns. It discusses the benefits of refactoring code and challenges of a new age including frameworks, local development, testing, building, deploying, infrastructure, monitoring, and logging for microservices. The document provides details on technologies used and system statistics like having over 50 services and 550 containers. It includes diagrams of the microservices architecture and communications.
- The company uses microservices architecture with 50+ services running across 300+ containers orchestrated by Kubernetes. They have fully automated continuous integration and deployment.
- CoreOS is used as the lightweight OS which updates automatically and stores services in read-only containers. Kubernetes provides service discovery, auto-scaling, deployment, rollback and resource management for containers.
- The software development process follows a continuous delivery model where code changes are deployed through a pipeline to ensure the software can be reliably released at any time.
This document discusses continuous delivery using containers. It describes how the company uses microservices architecture, scaling, full automation, and continuous delivery. Continuous delivery is defined as keeping software in short cycles so it can be reliably released at any time. The deployment pipeline includes committing code, running unit tests, integration tests, end-to-end tests, building Docker images, and pushing to a registry. CoreOS is also discussed as a lightweight OS that runs all services in containers and uses a distributed key-value store.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Sziasztok! Papp David vagyok a Recart dolgozom.A kovetkeyo honapba lesz 2 eve. A regi nevunk GhostMonitor volt egy nagyobb brand valtason estunk at. Ha valaki esetleg nem hallot volna meg rolunk akkor azzal foglalkozunk ,hogy a webshopok konverziojat emeleljuk ami jelenti ,hogy minel tobb vasaroljuk legyen. Egy rovid cegtortent ,hogy mi mikent juttotunk el ide. Ugy-e aki nem ismer minket az felteszi a kerdest minek is van nekunk szuksegunk kontenerek vagy-e egyaltalan barmilyen microservices architecktura.
Egyreszt gondoljatok bele milyen nehez dolgunk. Nah nem kell sajnalni mineket csak erdemes megerteni a problemankat. . Mi egy SaaS vagyunk amit az ugyfelek igenybe vehetnek. Nah mar most ha egy ugyfel beregisztral akkor mi nemtudunk rola semmit mennyi latogatja van mekkora forgalmat bonyolit le…stb. A mi kis tracking rendszerunk beepul a shopjaba automatan es hasznalja boldogan. Ez ahhoz hasonlo mint a google analytics amint barki betelepithet az oldalaba a legkisebbetol a legnagyobbig es ez meg se omlik ossze .
Nah erre a problemara minekunk is fel kell keszulni mert mi sem ismerjuk a masik oldalt. Nagyabbol naponta 20-30 uj regisztracionk van es kb. 2500 aktiv e-commerce shopunk van ami b2b szektorba egy eleg szep szam.
A meetup elejen volt egy szavazas ….
Nah de mi szuksegunk van nekunk kontenerekre…
Ugy-e lattuk Andras eloadasabol ok ,hogyan juttotak el herokutol egeszen a kubernetesig nem volt egy konnyu ut. Mi anno a CoreOS beepitett rendszeret a fleetet hasznaltuk ami mar deprecated es nem fejlesztik tovabb ok is bealltak a kubernetes moge. Nah de mi utunk ugy vezetett amikor elkezdtuk a ceget akkor en pl. meg fel allasba nyomtam az elejen es hat szuletett egy MVP termek ami a production readyhez koze se volt viszont minden elkezdi valahol .
Ezt ugy kell elkepzelni ,hogy volt egy 5 servicebol allo szorny ami valami microservicere hasonlito dolog volt. Nem vagyok ra buszke de mukodott.
Igen am de ez a dolog nem maradhatott igy …
Ez vagyok en kimas :D. Hat en voltam az egyetlen a cegnel aki deployolni tudot … ez milyen meno mar one-man-show!!!444 Hat ize nem… foleg ,hogy ebben a korszakban en meg nem voltam foallasu a cegnel igy azert meg viccesebb volt igy utolag... Az FTP-nel egy fokkal jobb volt mert mar dockerben volt.
De Dockeres kornyezetben ez kb. ugyan annak a szintnek felelt meg. Szerintem igy vissza gondolva egy docker-compose-al jobban jartunk volna. A docker is meg nagyon az elejen jart akkor volt talan a technolgia 1 eves szoval elege gyerek cipo effektus.
Nah de ezt ,hogyan is kepzeljuk el ezt a “folyamatott” hat ugy ,hogy jott Davidka fogdta a kis cli toolocskajat es amit ki kellet deployolni azt ujra inditotta mert igy a docker lehuzta a legujabb IMAGET!
Hat igen ebbol aztan volt boven belso feszultseg egyreszt abbol ,hogy miert csak en tudok deployolni de nem csak ebbol hanem abbol is ,hogy ezt nem volt egy tul stabbil megoldas…. Es valoban nem volt igy vissza gondolva.
Ezt azert mondom el ,hogy senki se fusson bele ebbe a hibaba. A startupok azert tudnak dinamikusan fejlodni es elore lepeni mert gyorsak a release ciklusok es gyorsan tudnak reagalni a piac es az ugyfel igenyekre. Persze volt mar tapasztalatom nagy rendszerekben meg hasonlokban de itt mindent 0-rol kellet felepiteni es nem ulhetem bele a joba.
De ebben a pillanatban meg eleg messze vagyunk a continiustol is a deloymenttol meg messzebb. De mar tudjuk mi a gond tudjuk es nagyabbol tudjuk merre kellene tovabb menunk ekkora mar eleg sok cikken tul vagyunk amiket elolvastunk a temaban.
Nah de hat a nagyszeru otletunket meg kellene osztatnunk az uzleti emberekkel a cegben mi lenne ha …
O itt Soma a CEO-nk… pontosan nem emlekszem az arcara de szerintem kb. Igy kell elkepzelni. Miutan kozoltuk vele ,hogy ezt amit eddig epitgetunk azt ki kellene dobni a kukaba es az egeszet 0-rol kezdeni…
A termek szempontjabol egy jelentos lepesnek tekintheto. Itt kezdet el a jelenegi architectura kirajzolodni. Amivel igazaolni tudtok ,hogy ez szukseges az ,hogy a folyamatosok a release ciklusok akar naponta orankent.
Mi is volt a tervunk?
Hat az ,hogy epitunk egy halal csillagot…de azert utkozben lejjebb adtuk az igenyeket a csillag rombolig majd megelegedtunk egy x-wingnel. Nah de komolyra forditva a szot felismertuk a problemainkat nem csak az ,hogy a jelenlegi folyamatainak es alkalmazasaink rosszak hanem az uzleti oldalt sem tudjuk kiszolgalni a jelenlegi architecturaval. Egy feature belefejlesztese minimum egy honap volt es igazabol barmit elrondhatunk…es a feature fele nem mukodott vagy csak sok hibaval.
Itt fektetuk le a rendszereink alapjait van egy core-lib nevezetu cuccunk ami koa nevu framework-re. Erre azert van szuksegunk mert nem minden servicenek van szuksege minden modulra. Plusz igy csak egy helyen kell megjavitani vagy elrontani valamit . Most vezetuk be a kubernetest amibol kijott az elso stabil verzio. Eleg sok kockakazatot vallaltunk fel ahhoz kepest ,hogy kis startup vagyunk de tudtunk mit akarunk elerni.
De most jarunk van service-discovery a rendszer boviheto. Van egy modularis felepitesu framework amire tudunk epiteni.
Epitettunk is gyorsan lett kb. 20 serviceunk ami beszelgetett egymassal nem voltak duplikalt funkciok. Hanem egy valodi microservice architectura jott letre. Nah de itt jott a fekete leves….ezt mikent akarjuk ki deployolni es itt gondolok arra ,hogy nem kezzel szeretne senki ezeket deployolni es fejben tartani. Plusz most mar tok jo lenne egy staging kornyezett is ahol ki tudjuk tesztelni a featuroket.
Igy utolag vissza gondolva szerintem jo iranyba indultunk el viszont orais terhet es bonyolultsagot vettunk a nyakunkba…
A tervbol vegul ez lett…amikor vegert az ujra iras kb. 20 db servicenel tartottunk. Most kb. 50-nel.
4 fajta service tipust kulonboztettunk meg.
API -> Ezek a servicek latszodnak kifele ezzel kommunikalnak a JS-k API-k
SERVICE -> business logikat megvalosito szervizek. Itt talalhato a rendszer mukodesenek fobb komponensei
WORKER -> Valamit feldolgoznak nincsen endpointjuk. Szigoruan message queue-n keresztul kommunikalnak. Pl. ez vegzi az SQS message feldolgozasat amit betolunk es-be igy juttatunk eladod mongodb-bol es-be.
MSERVICE -> Model service reteg. Mindegy egyes adatbazis tablanak van egy darab mservice amin keresztul olvassuk vagy irjuk az adatot. Igy letrehozva egy HTTP reteg az adatabazis folott. Amivel konnyebben tudunk akar DB engine valtani egy adott mservice alatt.
Most ott tartunk ,hogy 24 instancen futtatunk korulbelul 1000 db kontenert.
Nah de eljuttotunk mar oda ,hogy szuksegunk van valami uzembiztos megoldasra. Az a szerencse ,hogy Kubernetesbe egy csomo dolog megvan valositva csak hasznalni kell es nagyon jo alapot ad amire tudunk epitkezni.
A jelenlegi deployerunk 4. generaciojat eli ami az jelenti ,hogy 4x irtam ujra eddig. Viszont most mar elege kiforrot szerencsere kezdjuk az elejerol.
Elso gen
Codeship webhook kommunikacio
Egynel tobb servicet nemtudot kirakni
Minimalis hibakezeles
Nem hasznalt DB-t
Kezdetleges template
Szinkron deployment
Masodik gen
Codeship webhook kommunikacio
Tudod tobb kulonbozo szervizt kirakni viszont az egymasra futasok problemakat okoztak
Kezdetleges hibakazeles
Nem hasznalt DB-t
Statikus template kezeles
Szinkron deployment
Harmadik gen
Codeship webhook kommunikacio
API-worker alapu volt
Tobb szintu beallitas kezeles
Dinamikus template kezeles
DB hasznalat
Aszinkron deployment – queue kezeles ( Redis )
Elosztott lockolas
Negyedik gen
Codeship steps
Build resze
CLI <> API kommunikacio
Lockolas
Tobb szintu beallitas kezeles
Transzparens
Hibas deploy eseten hibas build
CI folyamat resze
Hogyan is epul fel a build es deployment folyamatunk.
Deployment resz csak staging es master branch eseten fut le.
CI-ra mi codeshipet hasznalunk es itt vannak ugy nevezett steppek. Minden egyes lepes az egy STEP. Kiveve az zold resz ott csak szet bontottam ,hogy jobban ertheto legyen.
Szoval eloszor is a fejleszto be commitol valamit a repo-ba arrol kap egy hookot a codeship ami leirok fajlok alapjan megezni mit is kell csinalnia.
Az elso lepes ,hogy lehuzza a buildeleshez szukseges dependenciakat. Le buildeli az alap docker image-t ami szukseges a teszteleshez ebben fognak futni majd a tesztek.
Van ket parhuzamossan futo taskunk az elso ,hogy letrehozunk egy artifactot a kodbol ami nem tartalmazza a dev dependenciakat es ezt bemasoljuk egy docker image-be.
Erre azert van szukseg mert egyreszt csokkenti a security issuek szamat masreszt kisebb docker image-t kapunk es a node-nak nem kell betolteni a sok felesleges dev depdenciat igy akar performanciat is tudunk novelni.
Futtatjuk a tesztjeinket amennyiben ez sikeres lefut rajta a codecovarge amit felkuldunk codeclimate-ba amit a jobb oldalon latok.
Ha mind a ket parhuzamos task sikeres. Felpusholjuk az artifactes docker image buildet QUAY-ra. Meg taggeljuk a jelenlegi git commit id-val es egy staging vagy masterrel taggel.
A deployment elso lepese ,hogy lockoljuk az adott buildet ne tudjon egymasra futni ket deploy. Ez jelenleg 15 perc timeoutot jelent. Ha nemtud a deployment 15 perc alatt lefutni akkor ra fog futni a kovetkezo. De ez meg nem tortent meg. Ha pedig lockolas kozben rafut a deployment akkor addig var a lokcolasnal ami le nem fut.
A lockolas utan a kovetkezo lepes ,hogy elkeri a deployment-cli a a deployment-api-tol a templatet. Ez tartalmazza az eroforrast hasznalatott az environment valtozokat amit teljesen szabadon tudjuk modositani es teljesen dinamikus. API-k eseten pl az ingress letrehozasa is itt tortenik.
A kovetkezo lepes maga a deployment itt a CLI a kubectl nevu konzolos tool-t hivja segitsegul. Itt egy sima apply fut le modositja a deploymentet. A kubernetes maga megcsinalja ,hogy darabszamtol fuggetlenul leallitja elinditja az ujakat.
Deployment monitoring a kubectl-be van lehetoseg ami figyeli ,hogy hol tart a deployment igy a fejleszot Is latja ,hogy hol tart kb. a deploy. A masik funkcioja ,hogy ha nemtud elindulni a service vagy barmi hiba van akkor autorollback lep eletbe igy hibas service nem marad kint. Ez esetben a build failed igy jelezve mindenkinek ,hogy gond van.
Ha minden rendben lefuttot akkor unlock lefut. Termesztesen ha fent hiba van az unlock automatikusan lefut exception eseten.
Deployment tracking az egyik legfontosabb resz ezzel taggeljuk meg a metrickakat es fogjuk latni ,hogy ha performancia eses , hiba rate …stb akkor tudjuk ,hogy ez a commit okozta hibat sokkal egyszerubben tudunk debugolni.