Microservices architecture is discussed along with Platform as a Service (PaaS), multi-tenancy, and DevOps. Key aspects of successful services like subscription-based models are highlighted. Techniques used by companies like Amazon, Google, Netflix, Facebook, and Twitter to enable continuous delivery and deployment are examined. Issues around managing scalability with microservices are also covered.
Metaworks 4 is a progressive enterprise web framework that promotes POJO-based domain driven development, micro-services architecture-ready, and material design and responsive web. Metaworks 4 utilizes VueJS, Spring Data, and Spring Hateoas. Plus, Metaworks4 can be composed with OCE's components like IAM, API-GW, Billing to enable MSA architecture.
Spring is the most popular and productive enterprise Java development framework in the world, and has always provided developers with portability and choice. The cloud should be no different. Spring applications work flawlessly on all the major platform-as-a-service clouds including Heroku, Google App Engine, and Cloud Foundry. This session will focus on how to design, and create, modern enterprise applications using Spring 3 that are portable across cloud environments.
Metaworks 4 is a progressive enterprise web framework that promotes POJO-based domain driven development, micro-services architecture-ready, and material design and responsive web. Metaworks 4 utilizes VueJS, Spring Data, and Spring Hateoas. Plus, Metaworks4 can be composed with OCE's components like IAM, API-GW, Billing to enable MSA architecture.
Spring is the most popular and productive enterprise Java development framework in the world, and has always provided developers with portability and choice. The cloud should be no different. Spring applications work flawlessly on all the major platform-as-a-service clouds including Heroku, Google App Engine, and Cloud Foundry. This session will focus on how to design, and create, modern enterprise applications using Spring 3 that are portable across cloud environments.
#JaxLondon keynote: Developing applications with a microservice architectureChris Richardson
The micro-service architecture, which structures an application as a set of small, narrowly focused, independently deployable services, is becoming an increasingly popular way to build applications. This approach avoids many of the problems of a monolithic architecture. It simplifies deployment and let’s you create highly scalable and available applications. In this keynote we describe the micro-service architecture and how to use it to build complex applications. You will learn how techniques such as Command Query Responsibility Segregation (CQRS) and Event Sourcing address the key challenges of developing applications with this architecture. We will also cover some of the various frameworks such as Spring Boot that you can use to implement micro-services.
DockerCon 2014에서 Adrian Cockcroft가 발표한 The state of the art in Microservice 중 해외 사례 발췌본
https://blog.docker.com/2014/12/dockercon-europe-keynote-state-of-the-art-in-microservices-by-adrian-cockcroft-battery-ventures/
Presentation from DDD Sydney, May 28th, 2016
Buzz word! More buzz words! And another buzz word!! Now that that's out of the way, if you're thinking of heading down the microservices path, then how do you do it? How do you build the services? What do you need to think about if you're starting from scratch? What if you're converting a legacy app? How do we deal with versioning? Do we have to use a NoSQL solution, just because Netflix does? Do we need to use docker/containers? What about the code? Show me the code! Well, that's what this session is all about. Designing and building microservices in .NET and then handling a bunch of other concerns that a microservices approach will force you to think about. Sounds interesting, doesn't it? You betcha.
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
What are and aren't microservices?
Microservices is a validation of the open-source approach to integration and service implementation and a rebuff of the committee-driven SOA approach. In this
Microservices with .Net - NDC Sydney, 2016Richard Banks
Presented at NDC Sydney, August 2016
Thanks to organisations like Netflix, and the need to develop solutions that scale well in the cloud, microservices have become the hot new topic. Yet, for all the talk, there are few practical examples of how you actually build a microservice in .NET.
It's time to fix that little oversight as we show you how you can build a microservices based solution using .NET, and a number of open source tools (EventStore, RabbitMq and Redis to name a few).
You'll also get to understand the pros and cons of a microservices solution and consider how a microservices approach might impact how you and your team relate to your customers.
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
Good technical practices you can follow with (micro)services but can be applied to almost anything: discovery (microphone/consul), security, resilience (polly), composition, ssecurity (jwt/oauth2)... And then an example with a CQRS application, and how docker can be used in Windows 2016. Lastly a brief summary of what Service Fabric is and its programming models.
Fundamental and Practice.
Explain about microservices characters and pattern. And also how to be good build microservices. And also additional the scale cube and CAP theory.
This slide is translated version. Originally it was written in Korean. (http://www.slideshare.net/saltynut/how-do-we-drive-tech-changes )
It describes how do we drive technical changes onto our organizations had used old-fashioned java combinations(Java 1.6+Spring 3.x+MyBatis) and monolithic architecture.
Key point is what we need to do to drive changes, and I'll discuss what we did during Phase1 and what we are doing at Phase 2 for architecture, frontend, backend, methodologies/process.
Phase1
- Architecture : Frontend / Backend Separation
- Frontend : Angular.js, Grunt, Bower
- Backend : Java 1.7/Spring4, ORM
- Methodology/Process : Scrum, Git
Phase2
- Architecture : Micro-Service Architecture(MSA)
- Frontend : Content Router, E2E Test
- Backend : Polyglot, Multi-Framework
- Methodology/Process : Scrum+JIRA, Git Branch Policy, Pair Programming, Code Workshop
Reactive services were defined by the Reactive Manifesto. They are built to be more flexible, loosely-coupled and scalable and also they are qualified based on the four principles: responsive, resilient, elastic and message driven. Java and the Java EE platform offers a pretty good structure and libraries to implement reactive services and transform it in a microservices architecture designed.
A look at the changing development landscape and how we may have to rearchitect our Grails applications.
Also looks at existing, new, or potential Grails features that can help navigate this new world order.
NATS was created by Derek Collison, founder and CEO
of Apcera, who has spent 20+ years designing, building, and using publish-subscribe messaging systems.
Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. Learn how end users are building modern, reliable and scalable cloud and distributed systems with NATS.
Talk given by David Williams, Principal, Williams & Garcia
You can learn more about NATS at http://www.nats.io
#JaxLondon keynote: Developing applications with a microservice architectureChris Richardson
The micro-service architecture, which structures an application as a set of small, narrowly focused, independently deployable services, is becoming an increasingly popular way to build applications. This approach avoids many of the problems of a monolithic architecture. It simplifies deployment and let’s you create highly scalable and available applications. In this keynote we describe the micro-service architecture and how to use it to build complex applications. You will learn how techniques such as Command Query Responsibility Segregation (CQRS) and Event Sourcing address the key challenges of developing applications with this architecture. We will also cover some of the various frameworks such as Spring Boot that you can use to implement micro-services.
DockerCon 2014에서 Adrian Cockcroft가 발표한 The state of the art in Microservice 중 해외 사례 발췌본
https://blog.docker.com/2014/12/dockercon-europe-keynote-state-of-the-art-in-microservices-by-adrian-cockcroft-battery-ventures/
Presentation from DDD Sydney, May 28th, 2016
Buzz word! More buzz words! And another buzz word!! Now that that's out of the way, if you're thinking of heading down the microservices path, then how do you do it? How do you build the services? What do you need to think about if you're starting from scratch? What if you're converting a legacy app? How do we deal with versioning? Do we have to use a NoSQL solution, just because Netflix does? Do we need to use docker/containers? What about the code? Show me the code! Well, that's what this session is all about. Designing and building microservices in .NET and then handling a bunch of other concerns that a microservices approach will force you to think about. Sounds interesting, doesn't it? You betcha.
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
What are and aren't microservices?
Microservices is a validation of the open-source approach to integration and service implementation and a rebuff of the committee-driven SOA approach. In this
Microservices with .Net - NDC Sydney, 2016Richard Banks
Presented at NDC Sydney, August 2016
Thanks to organisations like Netflix, and the need to develop solutions that scale well in the cloud, microservices have become the hot new topic. Yet, for all the talk, there are few practical examples of how you actually build a microservice in .NET.
It's time to fix that little oversight as we show you how you can build a microservices based solution using .NET, and a number of open source tools (EventStore, RabbitMq and Redis to name a few).
You'll also get to understand the pros and cons of a microservices solution and consider how a microservices approach might impact how you and your team relate to your customers.
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
Good technical practices you can follow with (micro)services but can be applied to almost anything: discovery (microphone/consul), security, resilience (polly), composition, ssecurity (jwt/oauth2)... And then an example with a CQRS application, and how docker can be used in Windows 2016. Lastly a brief summary of what Service Fabric is and its programming models.
Fundamental and Practice.
Explain about microservices characters and pattern. And also how to be good build microservices. And also additional the scale cube and CAP theory.
This slide is translated version. Originally it was written in Korean. (http://www.slideshare.net/saltynut/how-do-we-drive-tech-changes )
It describes how do we drive technical changes onto our organizations had used old-fashioned java combinations(Java 1.6+Spring 3.x+MyBatis) and monolithic architecture.
Key point is what we need to do to drive changes, and I'll discuss what we did during Phase1 and what we are doing at Phase 2 for architecture, frontend, backend, methodologies/process.
Phase1
- Architecture : Frontend / Backend Separation
- Frontend : Angular.js, Grunt, Bower
- Backend : Java 1.7/Spring4, ORM
- Methodology/Process : Scrum, Git
Phase2
- Architecture : Micro-Service Architecture(MSA)
- Frontend : Content Router, E2E Test
- Backend : Polyglot, Multi-Framework
- Methodology/Process : Scrum+JIRA, Git Branch Policy, Pair Programming, Code Workshop
Reactive services were defined by the Reactive Manifesto. They are built to be more flexible, loosely-coupled and scalable and also they are qualified based on the four principles: responsive, resilient, elastic and message driven. Java and the Java EE platform offers a pretty good structure and libraries to implement reactive services and transform it in a microservices architecture designed.
A look at the changing development landscape and how we may have to rearchitect our Grails applications.
Also looks at existing, new, or potential Grails features that can help navigate this new world order.
NATS was created by Derek Collison, founder and CEO
of Apcera, who has spent 20+ years designing, building, and using publish-subscribe messaging systems.
Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. Learn how end users are building modern, reliable and scalable cloud and distributed systems with NATS.
Talk given by David Williams, Principal, Williams & Garcia
You can learn more about NATS at http://www.nats.io
AWS Public Sector Symposium 2014 Canberra | Putting the "Crowd" to work in th...Amazon Web Services
"Cloud" computing provides significant advantages and enormous cost savings by allowing IT infrastructure to be provisioned as a ubiquitous, metered, unit priced and on demand service. However, the other major resourcing issue faced by CIO’s is the provision of skilled labour to develop, support and maintain a increasing wide range of IT applications.
This session will show attendees how the worldwide pool of freelance developers, the "Crowd", can be utilised as a ubiquitous, metered, unit priced and on demand resource pool to work in the "Cloud" to improve responsiveness to customer demands, reduce development timeframes and achieve significant cost savings.
Although the crowd can bring enormous benefits in terms of cost and agility, there are some technical and business barriers to adoption in large organisations. This presentation will discuss the barriers and, using some real examples, will explain how GoSource overcomes them.
Everyone has heard about microservices. Someone tries to implement them in practice. And only the bravests of us have already used them in production environment. But then why so many people hype around microservices, if the idea is not quite new? What are microservices? What is the difference between it and good old SOA approach? How can developers create modern enterprise applications in Java easily with the help of this approach?
Our guests should try to answer these questions and share their own experience related to live coding of imaginary startup 'Hippos'. The following topics will be covered:
What are microservices? Where is the theory, bro?
What kind of technologies should we choose? What have we chosen and why?
Why RPC is still competetive in REST-domination era?
How to pack and distribute microservices? How can SpringBoot and Docker help us to solve our problems?
Why is service discovery considered as one of the crucial components? How to cook Spring Cloud and what problems you may face in real life?
Security of microservices, API gateway and other.
Speakers will also cover other topics related to distributed system development.
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
마이크로서비스 아키텍쳐에서의 분산된 서비스간의 모니터링 방법을 소개합니다.
- Microservice Monitoring with Service Discovery (Eureka) Spring Boot Admin
- Microservice Monitoring with Service Discovery (Consul), Prometheus, Grafana
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...MSDEVMTL
16 Avril 2016
Groupe Azure
Sujet: Les micro-services et Azure Service Fabric
Conférenciers: Alexandre Brisebois, Microsoft, Stéphane Lapointe, Orckestra et Frank Boucher, Lixar IT
Nous vous proposons une journée complète sur les micro-services et Azure Service Fabric, le but étant d'appendre la théorie avec une série de présentations pour ensuite concrétiser le tout avec une partie pratique "hands-on" et des labs.
Pour participer, vous devrez obligatoirement apporter votre ordinateur portable, avoir installé Visual Studio 2015 Update 2 et Service Fabric SDK 2.0.135.
Microservices - Hitchhiker's guide to cloud native applicationsStijn Van Den Enden
Microservices are a true hype these days. Netflix, Amazon, eBay, … are all using microservices, but why? The idea is simple; split your application into multiple services which can evolve autonomously through time. The name suggests to keep these services small. Conceptually this seems not all that different from a classical Service Oriented Architecture (SOA). Nonetheless, microservices do offer a new perspective. A monolithic application is divided into a couple small services which can be independently developed, deployed and scaled. Flexibility is increased, but using this model also has some pitfalls.This session sheds a light on the microservices landscape; the key drivers for using the pattern, tooling to support development and maintenance, and the pros and cons that go with it. We’ll also introduce some key design principles that can be used in creating and modelling these modular enterprise applications.
Here you find some points to think about if you're considering to use a microservice architecture in your next project. In the first part you'll find some management considerations and then some points about technologies and solutions for MS problems.
Easy integration of Bluemix services with your applicationsJack-Junjie Cai
This presentation talks about how your Java EE and node.js applications can easily consume various cloud services available in the IBM Bluemix cloud platform. IBM Bluemix is based CloudFoundry.
OpenSource API Server based on Node.js API framework built on supported Node.js platform with Tooling and DevOps. Use cases are Omni-channel API Server, Mobile Backend as a Service (mBaaS) or Next Generation Enterprise Service Bus. Key functionality include built in enterprise connectors, ORM, Offline Sync, Mobile and JS SDKs, Isomorphic JavaScript and Graphical API creation tool.
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
In this series of 15-minute technical flash talks you will learn directly from Amazon CloudFront engineers and their best practices on debugging caching issues, measuring performance using Real User Monitoring (RUM), and stopping malicious viewers using CloudFront and AWS WAF.
This is a must-read for all engineers interested in developing a Micro services architecture. Turn your monolithic server into a prolific and multiple instance solution! Includes well-known example such as Netflix. Please contact me for more details.
These are the slides that were presented at Red Hat's workshop: Achieving True Integration Agility with Containers, Microservices and APIs. Seattle, WA, October 26, 2017
Suggested platform provides a contactless microservices / cloud native application design learning and development using online tools including Cloud-ide and Event-storming tool, kafka, Spring-boot and kubernetes without any installation
Event storming based msa training commerce example v2uEngine Solutions
Event storming based msa training with a commerce example. Contains analysis, implementation and operation by event storming and microservices frameworks and devops tools
Event storming based msa training with a commerce example. Contains analysis, implementation and operation by event storming and microservices frameworks and devops tools
designing, implementing and delivering microservices with event storming, spr...uEngine Solutions
Implementing Microservices is something like an adventure. Analyzing and decomposing microservices with applying DDD and make them into code, all is not easy. With new simple approach - Event storming, designing and implementing an event-driven MSA became easier ever seen before.
By event storming, we can derive so many meaningful objects such as Entity, Domain Events, and Services that can be mapped with implementation objects in Spring cloud.
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.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
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.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
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.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
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.
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.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
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.
3. Background: 성공적 서비스
• Economist Intelligence 에 의한 국제적 조사
• (293개 기업 CIO, 조사국가: 미국 39%, 영국 31%, 호주 30%)에 의하면,
• 서비스의 제공 방식의 변화로 가장 많은 40% 로 대답한 것은 바로 ‘구독형 서
비스(Subscription Service)’의 도입
3
5. DevOps: Issues
Continuous Delivery
5
Company Deploy Frequency Deploy Lead Time Reliability Customer
Responsiveness
Amazon 23,000 / day Minutes High High
Google 5,500 / day Minutes High High
Netflix 500 / day Minutes High High
Facebook 1 / day Hours High High
Twitter 3 / week Hours High High
Typical enterprise Once every 9 months Months or quarters Low / Medium Low / Medium
출처: 도서 The Phoenix Project
Amazon, Google, Netflix, Facebook, Twitter는 얼마나 자주 배포할까요?
6. 6
4. Canary를 통해서 확신 갖기
• Canary란? 실제 production 환경에서 small subset에서 새로운 코드를 돌려보고 옛
날 코드와 비교해서 새로운 코드가 어떻게 돌아가는 지 보는 것
• Canary 분석 작업(HTTP status code, response time, 실행수, load avg 등이 옛날 코
드랑 새로운 코드랑 비교해서 어떻게 다른 지 확인하는 것)은 1000개 이상의 metric
을 비교해서 100점 만점에 점수를 주고 일정 점수일 경우만 배포할 수 있음.
출처: http://techblog.netflix.com/2013/08/deploying-netflix-api.html
Supporting Continuous Delivery
Netflix
7. 출처 : 2010 architecting for the cloud (http://www.slideshare.net/simone.brunozzi/2010-architecting-for-the-cloud-4719195)
DevOps: Issues
Managing Scalability
7
8. 성공적 서비스로의 여정
운영자동화
• Business Continuity
• Zero-downtime
수익화
• Subscription Business
구현
• Mashups
• Multi-tenancy
• Self-Serviced
마이크로 서비스
• Separation of Concerns
8
15. Micro Service Architecture
Contract based, Polyglot Programming
Separation of Concerns, Parallel Development, Easy Outsourcing
Written in Java
Written in Node
Written in PHP
15
18. Level 0: Swamp of POX
• Use as a RPC, returns full serialized document
18
<openSlotList>
<slot start = "1400" end = "1450">
<doctor id = "mjones"/>
</slot>
<slot start = "1600" end = "1650">
<doctor id = "mjones"/> </slot> </openSlotList>
19. Level 1: Resources
Level 1 tackles the question of handling complexity
by using divide and conquer, breaking a large service
endpoint down into multiple resources.
19
<openSlotList>
<slot _link = ”http://openslots/1234"/>
<slot _link = ”http://openslots/1235"/>
</openSlotList>
# http://openslots/1234
<slot start = "1400" end = "1450">
<doctor id = "mjones"/>
</slot>
# http://openslots/1235
<slot start = "1600" end = "1650">
<doctor id = "mjones"/> </slot>
20. Level 2: HTTP Verbs
Level 2 introduces a standard set of verbs so that we
handle similar situations in the same way, removing
unnecessary variation.
20
Operation HTTP / REST
Create PUT / POST
Read (Retrieve) GET
Update (Modify) PUT / PATCH
Delete (Destroy) DELETE
# http://openslots/1234
<slot start = "1400" end = "1450">
<doctor id = "mjones"/>
</slot>
21. Level 3: Hypermedia Controls
21
<appointment>
<slot id = "1234" doctor = "mjones" start = "1400" end = "1450"/>
<patient id = "jsmith"/>
<link rel = "/linkrels/appointment/cancel" uri =
"/slots/1234/appointment"/>
<link rel = "/linkrels/appointment/addTest" uri =
"/slots/1234/appointment/tests"/>
<link rel = "self" uri = "/slots/1234/appointment"/>
<link rel = "/linkrels/appointment/changeTime" uri =
"/doctors/mjones/slots?date=20100104@status=open"/>
<link rel = "/linkrels/appointment/updateContactInfo" uri =
"/patients/jsmith/contactInfo"/>
<link rel = "/linkrels/help" uri = "/help/appointment"/>
</appointment>
Level 3 introduces discoverability, providing a way of making a protocol more
self-documenting.
22. Level 3: In another words, HATEOAS
• Hypermedia As The Engine Of Application State
• A RESTful API can be compared to a website. As a
user, I only know the root URL of a website. Once I
type in the URL (or click on the link) all further
paths and actions are defined by other links. Those
links may change at any moment, but as a user, all I
need to know is the root URL and I’m still able to
use the website.
22
26. Tip: monolithic and MSA
26
monolithic MSA
Aggregation
(데이터 통합)
Backend 가 주도 Front 가 주도
Database 통합 데이터베이스 서비스 별 데이터베이스
필수 환경 WAS DevOps, PaaS (Grid Engine)
서비스 굵기 업무 비즈니스 기능별 구현 팀별, 10000 라인 이
하로?, 관심사별
Front 기술 JSP, Struts 등 Server-side
rendering
MVVM, AJAX 등 Client-side
rendering
Container / Packaging WAS / WAR Spring-Boot, Docker
30. Conclusion
• MSA 는 성공적인 SaaS 의 디자인 패턴:
• Single-Page Application
• Client-Side UI Composition
• Front-End Data Aggregation
• Back-end API 설계가 중요
• REST MM Level 3 – HATEOAS
• Aggregation of data from multi micro-services
• Multi-tenant Data Aggregation
30
31. • UI Framework for MSA
• AngalarJS
• React
• Polymer
• VueJS
• API Gateway
• APIGee (Commercial)
• Kong
• OCE Gateway
• Amazon Cognito (Public)
• Spring Cloud
• IAM
• Amazon IAM (Public)
• Spring Cloud
• OCE IAM
• Metering / Billing
• Exem’s Metering Framework – BigData based
• OCE Billing
Micro Service Architecture
Platforms for MSA
33. Front-end
Image Server
(Python)
Business
Logic Server
(Java)
Extended Role of Front-end in Cloud Applications
Aggregator for multiple (polyglot programmed) micro-services
Component
Service
(C)
AJAX, RESTful
Concurrent Cloud Applications are composed of multiple Micro
Services and front-end serves as an aggregator of the services
33
34. Writing One Page Web App
Problems: One Page Web App Low Cohesion and High Coupling
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
34
35. W3C Web Components
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
#A.html
<style>
style for A
</style>
<html>
element for A
</html>
<script>
script for A
</script>
#B.html
<style>
style for B
</style>
<html>
element for B
</html>
<script>
script for B
</script>
#C.html
<style>
style for C
</style>
<html>
element for C
</html>
<script>
script for C
</script>
#index.html
<A> <A>
<B> <B> <B>
<C>
35
36. Web Components : Implementations
• Provides Cohesive Component Model
• Component Composition by HTML markup
• Dynamic Data Binding
• Responsive Web by Material Design
• Standard
Polymer VueJS
36
39. Why vue.js
Angular and React are not a STANDARD
While Polymer is heavy and needs Polyfill
But Vue.js is
1. Fastest (compared with React and Angular)
2. Light (low dependencies)
3. Usable with jQuery or existing .js libraries,
63. 웹 브라우저
Client-driven Data Aggregation
API GW (ZUUL)
Service
기타 연동
어플리케이
션들
모니터링IAM
CRUD
Data
Sync via REST REST Call
Service Service
Service
Process
Service
Worklist
Definition
Service Container Part
Issue Token
ID/PWD
Collect
Usage
MSA Reference Architecture: BPM
DevOps Portal
EUREKA
63
68. Running Sample App - login
68
Default login id / pw is
jyjang@uengine.org / test
Login will be processed through the IAM server:
http://iam.uengine.io:8080
75. Generated Entity Classes (JPA)
• All Entity Codes are POJO Classes that are described with Java Annotations meaning entity field descriptions
and relationships.
75
79. Entity, Resource, Service 선택 우선순위
• DDD(Domain Driven Design) 분석 기법 적용한 최적의 생산성
도메인 용어 기반
도메인 클래스 후보 도출
도메인 클래스가
Entity 유형인가?
Spring Data Rest 사용
@Entity 로 선언, JPA 매핑,
Repository 생성
빠른 CRUD / REST MM 3 Level 의
구현 (라인수 매우 적음)
Resource
Model로 만들 수
있는가?
서비스로 개발
직접 Spring MVC 를 사용하여
RequestMapping 구현
(라인수 매우 많음)
Spring Hateoas 프레임워크만
사용, Resource 로 포장
Resource를 서비스로 Expose
(라인 수 중간)
각 도메인 클래스에 대하여
(최대한 지양)
N N
Y Y
80. DDD 적용 예시: Entity, Value Object,
Aggregation Root
• DDD(Domain Driven Design) 분석 기법 적용한 최적의 생산성
Source: https://www.slideshare.net/madvirus/ddd-final
81. The Length of Code
81
323Lines
For Developing Full-CRUD, RESTful, MSA-based, Material-
Designed, Responsive, Grid+Form, Multi-tenant and Self-
Served Application:
• Number of fields of the entity: 10
• Total lines of code per an entity:
92 for front-end,
215 for domain class,
16 lines for repository.
82. How it works
Common Metadata
Domain Model
Classes
Class model for tenant1
ORM for tenant1
Common class model
Metadata of
Tenant1
Metadata of
Tenant2
Metadata of
Tenant3
Class model for tenant2
ORM for tenant2
Class model for tenant3
ORM for tenant3
Override by tenantID
85. Multi-tenant / Self service Support
Self service
Self service
portal
• Add new attribute
• Attributes can be String, number,
Data from referenced class (table)
• Change the title, order of attributes
• Hide/Show attribute
86. Design factors on developing cloud
applications
1.Don't code your application directly to a specific
topology
2.Do not assume the local file system is permanent
3.Don't keep session state in your application
4.Don't log to the file system
5.Don't assume any specific infrastructure dependency
6.Don't use infrastructure APIs from within your
application
7.Don't use obscure protocols
8.Don't rely on OS-specific features
9.Don't manually install your application
86
87. 프로젝트 구성
• APIs-and-Domain
• 공통 API Contracts
• 공통 도메인 클래스
• 나머지 서비스들이 모두 이를 import
함
• Definition-Service
• 프로세스 정의 보존
• 프로세스 정의 열람
• 프로세스 정의 배포/수정
• 프로세스 정의 버전관리
• Process Service
• 프로세스 실행과 관련한 모든 서비스
• Workspace Service
• 워크아이템 처리
• 업무 화면 연계
87
88. 서비스의 호출 방식 2가지
• 프론트-엔드 에서
• 마이크로 서비스 간
(inter-microservice call)
HTTPClient 로 REST 호출
Feign 을 사용, @Autowired 로
proxy 객체리턴
Ribbon 이 Eureka 를 통하여
직접 마이크로 서비스가
로드밸런싱 된 대상을 선택
AJAX 로 REST 호출
Hybind 를 사용,
자바스크립트객체와 Resource
바인딩
Zuul 을 경유하여 Eureka 에서
발견된 path 에 따른 서비스가
라우팅
88
92. Inter-microservices Call
웹 브라우저
API GW (ZUUL)
Process Worklist
Definition
EUREKA
/definition/**
/instance/**
/role-mapping/**
/variables/**
/work-item/**
Definition: ip1, ip2
Instance: ip3
Worklist: ip4, ip5
Ribbon Ribbon
Zuul 을 경유하지 않고 직접
내부 IP 로 접근
92
93. 공통 참조 모듈
• Bounded
Context
도메인
클래스들
• Service
Contract 들
93
94. 공통 참조 모듈: Service Contract
---- Service Id
이걸로, Autowired
시에 식별됨
94
95. 각 Service 들의 설정
spring:
application:
name: bpm
server:
port: 8090
servletPath: /
eureka:
client:
serviceUrl:
defaultZone: http://localhost:9090/eureka/
healthcheck:
enabled: true
instance:
statusPageUrlPath: ${server.servletPath}info
healthCheckUrlPath: ${server.servletPath}health
내가 누구다 (serviceId=bpm)
부트업 되면서 출생신고할
동사무소(유레카) 주소
95
96. 각 Service 들의 설정
@SpringCloudApplication
@EnableEurekaClient
@EnableFeignClients(basePackageClasses = {DefinitionService.class})
public class uEngine5Application extends Metaworks4BaseApplication {
protected uEngine5Application(DataSource dataSource, JpaProperties properties,
ObjectProvider<JtaTransactionManager> jtaTransactionManagerProvider,
ObjectProvider<TransactionManagerCustomizers> transactionManagerCustomizers) {
super(dataSource, properties, jtaTransactionManagerProvider, transactionManagerCustomizers);
}
public static void main(String[] args) {
SpringApplication.run(uEngine5Application.class, args);
}
}
유레카에 등록시켜달라
인터-마이크로서비스간
호출할 대상 서비스 목록
96
100. Lab time: Running Registry and Proxy
1. 가장 먼저 실행할 것은 Registry (Eureka 서버) 임. [동사무소]
2. 다음으로 실행할 것은 Proxy (Zuul 서버) 임. [이정표 서비스]
$ cd uengine-proxy-server/
$ mvn spring-boot:run
$ cd uengine-registry-server/
$ mvn spring-boot:run
100
101. Lab time: Running Micro Services
1. Run and test Definition Service
2. Run and test Process Service
$ cd definition-service/
$ mvn spring-boot:run
–Dserver.port=8088
-Drun.arguments="--spring.profiles.active=msa"
Launch another shell and confirm server is up:
$ http localhost:8088/definition
$ cd process-service/
$ mvn spring-boot:run
–Dserver.port=8089
-Drun.arguments="--spring.profiles.active=msa"
Launch another shell and check the server is up:
$ http localhost:8089/instance
101
107. Lab time: Building docker images
$ cd definition-service
$ mvn package -B
$ docker build –t uengine-five-definition .
$ cd ../process-service
$ mvn package -B
$ docker build –t uengine-five-process .
$ cd ../uengine-proxy-server
$ mvn package -B
$ docker build –t uengine-proxy-server .
$ cd ../uengine-registry-server
$ mvn package -B
$ docker build –t uengine-registry-server .
$ docker images
REPOSITORY TAG IMAGE ID
definition latest fc1db168d69d
process latest 61bcb1e489f0
registry latest 12e06df7a34a
proxy latest 53efac1deda3
107
108. Lab time: Using docker-maven-plugin
$ cd definition-service
$ mvn package docker:build –B
$ cd ../process-service
$ mvn package docker:build –B
$ cd ../uengine-proxy-server
$ mvn package docker:build –B
$ cd ../uengine-registry-server
$ mvn package docker:build –B
$ docker images
REPOSITORY TAG IMAGE ID
uengine-five-definition latest fc1db168d69d
uengine-five-process latest 61bcb1e489f0
uengine-registry-server latest 12e06df7a34a
uengine-proxy-server latest 53efac1deda3
108
109. Lab time: Starting up the stack
$ docker stack deploy -c docker-compose.yml uengine
Creating network uengine_webnet
Creating service uengine_definition-api
Creating service uengine_process-api
Creating service uengine_registry
Creating service uengine_proxy
$ docker service ls
$ docker stack rm uengine
109
127. 프라이빗 PaaS 구축하기
• 상용 제품 구매 vs. 오픈소스로 구축
• 대기업 / 중견기업 / 스타트업 별 상황
• 프로젝트 성격
• 제공자로서
• 퍼블릭 PaaS 플랫폼 제공자인 경우 – 오픈소스로 구축
• E.g. 블루믹스의 경우 최초 Pivotal 의 도움을 받아 구축
• 사용자로서
• 빠른 시장 진입 – 퍼블릭 PaaS
• But, 적당한 PaaS 가 존재하지 않거나 시장에서 독자적인
DevOps 환경이 필요할 때
• – uEngine 의 케이스
127
128. Open Cloud Engine
Client-driven Data Aggregation
API GW (ZUUL)
Service
3rd Party Apps
BillingIAM
Data
Sync via REST REST Call
Service Container Part
Issue Token
ID/PWD
Collect
Usage
DevOps Portal
EUREKA
Service Service Service
Open Cloud Engine: A Private PaaS
128
129. Open Cloud Engine
Client-driven Data Aggregation
API GW (ZUUL)
Service
3rd Party Apps
BillingIAM
Data
Sync via REST REST Call
Service Container Part
Issue Token
ID/PWD
Collect
Usage
DevOps Portal
EUREKA
Service Service Service
: Workload Distribution Engine – Mesosphere’s DCOS
DCOS:
• Proven and
• Powerful
129
130. Open Cloud Engine
Client-driven Data Aggregation
API GW (ZUUL)
Service
3rd Party Apps
BillingIAM
Data
Sync via REST REST Call
Service Container Part
Issue Token
ID/PWD
Collect
Usage
DevOps Portal
EUREKA
Service Service Service
: CI/CD Tool - GitLab
130
131. Open Cloud Engine
Client-driven Data Aggregation
API GW (ZUUL)
Service
3rd Party Apps
BillingIAM
Data
Sync via REST REST Call
Service Container Part
Issue Token
ID/PWD
Collect
Usage
DevOps Portal
EUREKA
Service Service Service
: Microservice Chassis – Spring Boot
131
132. Open Cloud Engine
Client-driven Data Aggregation
API GW (ZUUL)
Service
3rd Party Apps
BillingIAM
Data
Sync via REST REST Call
Service Container Part
Issue Token
ID/PWD
Collect
Usage
DevOps Portal
EUREKA
Service Service Service
: Microservice API G/W and Registry – Spring Cloud / Netflix OSS
132
133. Open Cloud Engine
Client-driven Data Aggregation
API GW (ZUUL)
Service
3rd Party Apps
BillingIAM
Data
Sync via REST REST Call
Service Container Part
Issue Token
ID/PWD
Collect
Usage
DevOps Portal
EUREKA
Service Service Service
: Front-End – Vue JS, Hybind and Spring Data Rest
133