The document discusses lessons learned from building microservice systems. It covers why to use microservices to scale complex systems independently. Key aspects include identifying bounded context services, messaging between services, whether services should be thin and temporal or fat with duplicated data. Testing and deploying distributed systems poses challenges. Monitoring, logging, and configuration management are vital to maintaining live microservice systems.
Wolters Kluwer Tech. Conference: Disrupting Mobile DevelopmentMax Katz
Most mobile apps today are built using traditional desktop tools. These tools are complex, need to be downloaded, installed, frameworks configured, and lack real-time collaboration. To build mobile apps fast, to stay ahead, and innovate in the enterprise, developers need new tools to create mobile apps. The new tools are running entirely in the cloud, offer real time collaboration, sharing, and connections to cloud APIs. In this live coding session attendees will learn about Appery.io platform, and how to build a mobile app connected cloud APIs. Creating re-usable API plug-ins will be shown as well. Attendees will be able to test the app on their phones as its being built.
[DevDay2019] The Evolvolution of Microservices and Web Component - By Ngo Thi...DevDay Da Nang
The parallelism in the rising of microservices and web components is transforming the web from stateless to single pages. An example of this is Facebook's notification icon which utilizes microservices as well as Netflix which uses Spring Cloud as a Core Java framework. Why do we use Redux with Reactjs to manage states? Let’s have fun with a demo of microservices.
The Ugly Truths about HTML5 for Mobile Apps by Robert Virkus, Michael Koch Codemotion
HTML5 is currently hailed as the holy grail for mobile development. Inherently cross platform, open standards, widely supported: too good to be true? Unseen by the public the HTML5 hype leaves a trail of failed projects, delayed deadlines and missed functions. In this bert Virkus, Michaetalk we highlight some problems we encountered from real world projects and discuss if HTML5 is really ready for its prime time on mobile yet.
Blockchain app development is a new technology used by most of the start-up companies. As the app is associated with Cryptocurrencies similar to Bitcoin, it is gaining immense popularity. It has not only speeded online transactions, but it has also kept user information secure.
2019 Top Lessons Learned Since the Phoenix Project Was ReleasedGene Kim
This document summarizes key lessons from a presentation by Gene Kim on building a world-class engineering culture. Some of the main surprises discussed include: (1) the business value of DevOps is even higher than previously thought, (2) DevOps benefits operations and security as much as development, (3) measuring code deployment lead time is more important than deployments per day, and (4) Conway's Law has implications for organizational structure and architecture. The presentation also discusses how DevOps enables organizations to become dynamic learning organizations.
Steeltoe and the Open Source .NET RenaissanceVMware Tanzu
SpringOne Platform 2017
Dave Tillman, Pivotal; Zach Brown, Pivotal; Beth Massi, Microsoft
"When .NET went open source in 2014, the .NET ecosystem was propelled into a new era. The cultural shift at Microsoft toward open source and cross-platform standards (like .NET Core) has since brought about a renaissance in .NET, with a growing community of projects and tools to help developers along their cloud-native journey.
The Steeltoe OSS project has sprung up within this community, driven by the needs of enterprise developers for a cloud-native framework for ASP.NET applications. By borrowing patterns from the Java/Spring world, Steeltoe brings solutions for shared configuration, service discovery, circuit breakers and more, to the .NET community.
In this session, Beth Massi from Microsoft will walk us through the pivotal events that brought about the .NET renaissance, and how modern .NET supports any developer building any app for any platform. Then Zach Brown and Dave Tillman from Pivotal will take a deep dive into Steeltoe, explaining the problems the framework aims to solve, then demonstrating how to build resilient microservices with ASP.NET Core."
Wolters Kluwer Tech. Conference: Disrupting Mobile DevelopmentMax Katz
Most mobile apps today are built using traditional desktop tools. These tools are complex, need to be downloaded, installed, frameworks configured, and lack real-time collaboration. To build mobile apps fast, to stay ahead, and innovate in the enterprise, developers need new tools to create mobile apps. The new tools are running entirely in the cloud, offer real time collaboration, sharing, and connections to cloud APIs. In this live coding session attendees will learn about Appery.io platform, and how to build a mobile app connected cloud APIs. Creating re-usable API plug-ins will be shown as well. Attendees will be able to test the app on their phones as its being built.
[DevDay2019] The Evolvolution of Microservices and Web Component - By Ngo Thi...DevDay Da Nang
The parallelism in the rising of microservices and web components is transforming the web from stateless to single pages. An example of this is Facebook's notification icon which utilizes microservices as well as Netflix which uses Spring Cloud as a Core Java framework. Why do we use Redux with Reactjs to manage states? Let’s have fun with a demo of microservices.
The Ugly Truths about HTML5 for Mobile Apps by Robert Virkus, Michael Koch Codemotion
HTML5 is currently hailed as the holy grail for mobile development. Inherently cross platform, open standards, widely supported: too good to be true? Unseen by the public the HTML5 hype leaves a trail of failed projects, delayed deadlines and missed functions. In this bert Virkus, Michaetalk we highlight some problems we encountered from real world projects and discuss if HTML5 is really ready for its prime time on mobile yet.
Blockchain app development is a new technology used by most of the start-up companies. As the app is associated with Cryptocurrencies similar to Bitcoin, it is gaining immense popularity. It has not only speeded online transactions, but it has also kept user information secure.
2019 Top Lessons Learned Since the Phoenix Project Was ReleasedGene Kim
This document summarizes key lessons from a presentation by Gene Kim on building a world-class engineering culture. Some of the main surprises discussed include: (1) the business value of DevOps is even higher than previously thought, (2) DevOps benefits operations and security as much as development, (3) measuring code deployment lead time is more important than deployments per day, and (4) Conway's Law has implications for organizational structure and architecture. The presentation also discusses how DevOps enables organizations to become dynamic learning organizations.
Steeltoe and the Open Source .NET RenaissanceVMware Tanzu
SpringOne Platform 2017
Dave Tillman, Pivotal; Zach Brown, Pivotal; Beth Massi, Microsoft
"When .NET went open source in 2014, the .NET ecosystem was propelled into a new era. The cultural shift at Microsoft toward open source and cross-platform standards (like .NET Core) has since brought about a renaissance in .NET, with a growing community of projects and tools to help developers along their cloud-native journey.
The Steeltoe OSS project has sprung up within this community, driven by the needs of enterprise developers for a cloud-native framework for ASP.NET applications. By borrowing patterns from the Java/Spring world, Steeltoe brings solutions for shared configuration, service discovery, circuit breakers and more, to the .NET community.
In this session, Beth Massi from Microsoft will walk us through the pivotal events that brought about the .NET renaissance, and how modern .NET supports any developer building any app for any platform. Then Zach Brown and Dave Tillman from Pivotal will take a deep dive into Steeltoe, explaining the problems the framework aims to solve, then demonstrating how to build resilient microservices with ASP.NET Core."
OWASP AppSec Cali 2018 - Enabling Product Security With Culture and Cloud (As...Patrick Thomas
Abstract from OWASP AppSec California 2018:
----------------------------
What would it look like if security never had to say “no”?
This talk explores that counter-intuitive premise, and shows how it is not just possible but *necessary* to discard many traditional security behaviors in order to support modern high-velocity, cloud-centric engineering teams. For the product security team at Netflix, this is the logical implication of a cultural commitment to enabling the organization.
Attendees will learn how to replace heavy-handed gating with an automation-first approach, and build powerful security capabilities on top of cloud deployment primitives. Specific examples including provable application identity, immutable and continuous deployment, and secret bootstrapping illustrate how this approach balances security impact with engineering enablement.
Contact:
@astha_singhal
@coffeetocode
Version with speaker notes: https://www.slideshare.net/coffeetocode/owasp-appsec-cali-2018-enabling-product-security-with-culture-and-cloud-astha-singhal-patrick-thomas-with-speaker-notes-public
This document discusses the need for a more ethical web and outlines principles for building ethically, including:
- Prioritizing open standards, accessibility, privacy/security, sustainability and inclusion.
- Avoiding harm through features like filter bubbles, fake news, addictive behaviors and lack of transparency.
- Giving users control over their data and ability to verify information.
- Respecting privacy, freedom of expression, and building with marginalized groups in mind.
Deploying Spring Boot apps on KubernetesVMware Tanzu
The document discusses deploying Spring Boot applications on Kubernetes. It provides an overview of Kubernetes architecture and resources like pods, services, configmaps and secrets. It then demonstrates deploying a simple Hello World Spring Boot app on Kubernetes. It also covers building microservices using Spring Boot and deploying them on Kubernetes, including using configmaps and secrets for configuration and service discovery. It discusses concerns like externalized configuration, circuit breakers, distributed tracing and logging for microservices on Kubernetes.
Microsoft HoloLens is the first fully untethered computer that uses holograms to enhance the real world. If you know how HoloLens embraces virtual reality and augmented reality to create a new “mixed” reality, and you’re looking for jumpstart your holographic app-building experience, you’re in luck. In this session, you’ll learn how to create and save a new project in Unity 5.5, create your first 2D or 3D hologram, export from Unity to Visual Studio 2015, and deploy holographic apps to a HoloLens device or emulator.
Plone, the Python CMS & Web Framework for Advanced Topics and Non-DevelopersAlexander Loechel
This document discusses Plone, an open source Python content management system (CMS) and content integration framework. It summarizes that Plone is not just a web framework, but rather empowers both developers and non-developers to build complex, information-driven websites and applications through features like collections, forms, workflows, theming and more - without needing to be an experienced programmer. Examples of real-world Plone applications are provided. The document encourages choosing a good CMS like Plone over a plain web framework and outlines Plone's roadmap and an upcoming conference.
SharePoint Authorization and Authentication-Controlling Access to Documents a...Tom Resing
The document discusses managing authentication and authorization in SharePoint. It covers authentication types like Active Directory integration, and authorization topics like permissions, self-service site creation and troubleshooting tools. It provides an overview of securing access to documents and data at different levels from physical servers to SharePoint objects. Reference materials on these topics are also included.
This document provides instructions for a DevSecCon workshop on securing secrets in development pipelines. The workshop aims to help developers and managers address the problem of hardcoded secrets being checked into code repositories by demonstrating how to remove and rotate secrets using a secret management server integrated with Jenkins. Participants will carry out hands-on labs to find hardcoded secrets, replace them with environment variables stored in a secret server, and prevent secrets from being exposed in builds.
The document discusses agile as an active risk management strategy for software development projects. It notes that agile approaches can help reduce costs, delay, and increase benefits and value. The document also provides evidence that agile methods have benefits like increased productivity, quality and stakeholder satisfaction. It discusses how many large companies and government organizations like the DoD have adopted agile. Finally, it outlines a suggested agile transition approach using coaches over several phases.
Bits+atoms+processes: the influence of code culture on Design @ Cumulus Helsi...Massimo Menichinelli
This document discusses the influence of code and open design on organizations. It explores how user-generated content on websites like Wikipedia and crowdsourcing platforms influence design. Open source software development and peer-to-peer dynamics are applied to open design processes. Case studies of open design projects like OpenP2PDesign.org and initiatives like FabLabs and FabCities that utilize digital fabrication are presented. The document examines the relationship between bits, atoms, code and communities in open design.
This document discusses DevOps practices at Trend Micro. It begins with an introduction of the author and his background. It then discusses why DevOps is important for Trend Micro's consumer products team, describing increased deployment frequency, stability, and productivity. The document defines DevOps as involving a culture of collaboration between development and operations teams. It emphasizes automating infrastructure provisioning and implementing a measurement and feedback culture. Quality is discussed as a key focus, with emphasis on testing earlier and enabling continuous quality. The document concludes that DevOps at Trend Micro involves applying CAMS principles: Culture, Automation, Measurement, and Sharing.
The CHAOSS community develops metrics, software, and programs for observing and improving open source project health. This talk will provide an overview of the CHAOSS project along with examples of how some of these metrics are being used at VMware.
Gene Kim gave a presentation on his 15-year journey studying high performing IT organizations and their use of DevOps practices. He discussed how traditional IT operations created conflict between development and operations teams. However, companies like Google, Amazon and Netflix achieved much higher performance through practices like continuous integration, deployment of smaller changes frequently, automated testing, and monitoring production environments. These practices improved flow, feedback and continuous learning.
This year, we’ve seen incredible improvements to Selenium WebDriver and now Selenium 3.0, but what does this mean for modern teams that still have trouble balancing quality and time to market? In this webinar, we uncover how you can overcome common automated testing challenges and do things you never thought possible using the Selenium WebDriver! You will learn:
-What’s new in Selenium 3.0
-How open source is changing business dynamics
-The impact of HTML5 and Responsive Web Design in mobile development
-Bridging the gap between mobile and desktop testing strategies
-Success beyond off-the-shelf components
Serverless architectures are one of the hottest trends in cloud computing this year, and for good reason. There are several technical capabilities and business factors coming together to make this approach compelling from both an application development and deployment cost perspective. The new OpenWhisk project provides an open source platform to enable these cloud-native, event-driven applications.
This talk will lay out the technical and business drivers behind the rise of serverless architectures, provide an introduction to the OpenWhisk open source project (and describe how it differs from other services like AWS Lambda), and give a demonstration showing how to start developing with this new cloud computing model using the OpenWhisk implementation available on IBM Bluemix.
Lightning talk and lab presented by IBM Cloud Software Engineer, Andrew Bodine.
The web is evolving too fast, and it could be overwhelming sometimes to keep the rhythm with the pace of all that good work happening by the amazing web enthusiast engineers, so to put it all in a nutshell we'll review the most significant changes in the web platform within the last year. Just headlines and you can refer to individual topics for details. You're free to use these slides in your talks, I'd appreciate giving credits though - https://goo.gl/vvWvVn
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Matt Raible
Microservices are being deployed by many Java Hipsters. If you're working with a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain.
This presentation will show you how to use JHipster to create Angular + Spring Boot apps with a unified front-end. You will leave with the know-how to create your own excellent apps!
Bonus: I'll show you how to use Ionic for JHipster to create native applications on mobile. It's pretty darn slick!
Related blog posts:
* Java Microservices with Spring Boot and Spring Cloud: https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
* Java Microservices with Spring Cloud Config and JHipster: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* Secure Reactive Microservices with Spring Cloud Gateway: https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
Network Analysis: Tech Evangelism London MeetupDawn Foster
The real magic in any community comes from the people. Dawn will show you tools and techniques for performing network analysis to look at the people in your community along with the relationships between them. Why settle for boring numbers and line charts to describe your community when you can do cool visualizations that show how people connect within your open source community?
This talk will cover
* Principles of network analysis.
* Using tools like mlstats and others to pull data from your community and store it in a database.
* Running basic queries to extract the data needed for network analysis.
* Demonstrate techniques for doing network analysis.
* Show examples of visualizations.
The goal is for people to walk away with some basic techniques and tools that they can use to begin doing network analysis of their own and to make their metrics awesome.
James Sullivan is a software developer based in Wellington, New Zealand who has a passion for using technology to improve lives. He has over 6 years of experience developing with .NET technologies like C# and ASP.NET MVC. He enjoys taking on leadership roles in projects and focuses on creating usable, maintainable solutions with a focus on the user experience. His resume details his technical skills and work history at companies like Intergen, Sharesight, and Xero.
Exeter Science Centre, by Natalie WhiteheadTechExeter
The document proposes a new STEAMM cultural hub and science center for Exeter and the South West region. It would aim to encourage careers in science and raise science engagement for people of all ages. Key features would include hands-on exhibits on global issues, collaborations with local STEM groups, and sustainability features in the building design. Case studies of similar centers in Dundee and Winchester show they attract hundreds of daily visitors and generate millions in annual income through admissions, education programs, and commercial activities.
OWASP AppSec Cali 2018 - Enabling Product Security With Culture and Cloud (As...Patrick Thomas
Abstract from OWASP AppSec California 2018:
----------------------------
What would it look like if security never had to say “no”?
This talk explores that counter-intuitive premise, and shows how it is not just possible but *necessary* to discard many traditional security behaviors in order to support modern high-velocity, cloud-centric engineering teams. For the product security team at Netflix, this is the logical implication of a cultural commitment to enabling the organization.
Attendees will learn how to replace heavy-handed gating with an automation-first approach, and build powerful security capabilities on top of cloud deployment primitives. Specific examples including provable application identity, immutable and continuous deployment, and secret bootstrapping illustrate how this approach balances security impact with engineering enablement.
Contact:
@astha_singhal
@coffeetocode
Version with speaker notes: https://www.slideshare.net/coffeetocode/owasp-appsec-cali-2018-enabling-product-security-with-culture-and-cloud-astha-singhal-patrick-thomas-with-speaker-notes-public
This document discusses the need for a more ethical web and outlines principles for building ethically, including:
- Prioritizing open standards, accessibility, privacy/security, sustainability and inclusion.
- Avoiding harm through features like filter bubbles, fake news, addictive behaviors and lack of transparency.
- Giving users control over their data and ability to verify information.
- Respecting privacy, freedom of expression, and building with marginalized groups in mind.
Deploying Spring Boot apps on KubernetesVMware Tanzu
The document discusses deploying Spring Boot applications on Kubernetes. It provides an overview of Kubernetes architecture and resources like pods, services, configmaps and secrets. It then demonstrates deploying a simple Hello World Spring Boot app on Kubernetes. It also covers building microservices using Spring Boot and deploying them on Kubernetes, including using configmaps and secrets for configuration and service discovery. It discusses concerns like externalized configuration, circuit breakers, distributed tracing and logging for microservices on Kubernetes.
Microsoft HoloLens is the first fully untethered computer that uses holograms to enhance the real world. If you know how HoloLens embraces virtual reality and augmented reality to create a new “mixed” reality, and you’re looking for jumpstart your holographic app-building experience, you’re in luck. In this session, you’ll learn how to create and save a new project in Unity 5.5, create your first 2D or 3D hologram, export from Unity to Visual Studio 2015, and deploy holographic apps to a HoloLens device or emulator.
Plone, the Python CMS & Web Framework for Advanced Topics and Non-DevelopersAlexander Loechel
This document discusses Plone, an open source Python content management system (CMS) and content integration framework. It summarizes that Plone is not just a web framework, but rather empowers both developers and non-developers to build complex, information-driven websites and applications through features like collections, forms, workflows, theming and more - without needing to be an experienced programmer. Examples of real-world Plone applications are provided. The document encourages choosing a good CMS like Plone over a plain web framework and outlines Plone's roadmap and an upcoming conference.
SharePoint Authorization and Authentication-Controlling Access to Documents a...Tom Resing
The document discusses managing authentication and authorization in SharePoint. It covers authentication types like Active Directory integration, and authorization topics like permissions, self-service site creation and troubleshooting tools. It provides an overview of securing access to documents and data at different levels from physical servers to SharePoint objects. Reference materials on these topics are also included.
This document provides instructions for a DevSecCon workshop on securing secrets in development pipelines. The workshop aims to help developers and managers address the problem of hardcoded secrets being checked into code repositories by demonstrating how to remove and rotate secrets using a secret management server integrated with Jenkins. Participants will carry out hands-on labs to find hardcoded secrets, replace them with environment variables stored in a secret server, and prevent secrets from being exposed in builds.
The document discusses agile as an active risk management strategy for software development projects. It notes that agile approaches can help reduce costs, delay, and increase benefits and value. The document also provides evidence that agile methods have benefits like increased productivity, quality and stakeholder satisfaction. It discusses how many large companies and government organizations like the DoD have adopted agile. Finally, it outlines a suggested agile transition approach using coaches over several phases.
Bits+atoms+processes: the influence of code culture on Design @ Cumulus Helsi...Massimo Menichinelli
This document discusses the influence of code and open design on organizations. It explores how user-generated content on websites like Wikipedia and crowdsourcing platforms influence design. Open source software development and peer-to-peer dynamics are applied to open design processes. Case studies of open design projects like OpenP2PDesign.org and initiatives like FabLabs and FabCities that utilize digital fabrication are presented. The document examines the relationship between bits, atoms, code and communities in open design.
This document discusses DevOps practices at Trend Micro. It begins with an introduction of the author and his background. It then discusses why DevOps is important for Trend Micro's consumer products team, describing increased deployment frequency, stability, and productivity. The document defines DevOps as involving a culture of collaboration between development and operations teams. It emphasizes automating infrastructure provisioning and implementing a measurement and feedback culture. Quality is discussed as a key focus, with emphasis on testing earlier and enabling continuous quality. The document concludes that DevOps at Trend Micro involves applying CAMS principles: Culture, Automation, Measurement, and Sharing.
The CHAOSS community develops metrics, software, and programs for observing and improving open source project health. This talk will provide an overview of the CHAOSS project along with examples of how some of these metrics are being used at VMware.
Gene Kim gave a presentation on his 15-year journey studying high performing IT organizations and their use of DevOps practices. He discussed how traditional IT operations created conflict between development and operations teams. However, companies like Google, Amazon and Netflix achieved much higher performance through practices like continuous integration, deployment of smaller changes frequently, automated testing, and monitoring production environments. These practices improved flow, feedback and continuous learning.
This year, we’ve seen incredible improvements to Selenium WebDriver and now Selenium 3.0, but what does this mean for modern teams that still have trouble balancing quality and time to market? In this webinar, we uncover how you can overcome common automated testing challenges and do things you never thought possible using the Selenium WebDriver! You will learn:
-What’s new in Selenium 3.0
-How open source is changing business dynamics
-The impact of HTML5 and Responsive Web Design in mobile development
-Bridging the gap between mobile and desktop testing strategies
-Success beyond off-the-shelf components
Serverless architectures are one of the hottest trends in cloud computing this year, and for good reason. There are several technical capabilities and business factors coming together to make this approach compelling from both an application development and deployment cost perspective. The new OpenWhisk project provides an open source platform to enable these cloud-native, event-driven applications.
This talk will lay out the technical and business drivers behind the rise of serverless architectures, provide an introduction to the OpenWhisk open source project (and describe how it differs from other services like AWS Lambda), and give a demonstration showing how to start developing with this new cloud computing model using the OpenWhisk implementation available on IBM Bluemix.
Lightning talk and lab presented by IBM Cloud Software Engineer, Andrew Bodine.
The web is evolving too fast, and it could be overwhelming sometimes to keep the rhythm with the pace of all that good work happening by the amazing web enthusiast engineers, so to put it all in a nutshell we'll review the most significant changes in the web platform within the last year. Just headlines and you can refer to individual topics for details. You're free to use these slides in your talks, I'd appreciate giving credits though - https://goo.gl/vvWvVn
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Matt Raible
Microservices are being deployed by many Java Hipsters. If you're working with a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain.
This presentation will show you how to use JHipster to create Angular + Spring Boot apps with a unified front-end. You will leave with the know-how to create your own excellent apps!
Bonus: I'll show you how to use Ionic for JHipster to create native applications on mobile. It's pretty darn slick!
Related blog posts:
* Java Microservices with Spring Boot and Spring Cloud: https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
* Java Microservices with Spring Cloud Config and JHipster: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* Secure Reactive Microservices with Spring Cloud Gateway: https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
Network Analysis: Tech Evangelism London MeetupDawn Foster
The real magic in any community comes from the people. Dawn will show you tools and techniques for performing network analysis to look at the people in your community along with the relationships between them. Why settle for boring numbers and line charts to describe your community when you can do cool visualizations that show how people connect within your open source community?
This talk will cover
* Principles of network analysis.
* Using tools like mlstats and others to pull data from your community and store it in a database.
* Running basic queries to extract the data needed for network analysis.
* Demonstrate techniques for doing network analysis.
* Show examples of visualizations.
The goal is for people to walk away with some basic techniques and tools that they can use to begin doing network analysis of their own and to make their metrics awesome.
James Sullivan is a software developer based in Wellington, New Zealand who has a passion for using technology to improve lives. He has over 6 years of experience developing with .NET technologies like C# and ASP.NET MVC. He enjoys taking on leadership roles in projects and focuses on creating usable, maintainable solutions with a focus on the user experience. His resume details his technical skills and work history at companies like Intergen, Sharesight, and Xero.
Similar to Conf 2018 Track 3 - Microservices - What I've learned after a year building systems (20)
Exeter Science Centre, by Natalie WhiteheadTechExeter
The document proposes a new STEAMM cultural hub and science center for Exeter and the South West region. It would aim to encourage careers in science and raise science engagement for people of all ages. Key features would include hands-on exhibits on global issues, collaborations with local STEM groups, and sustainability features in the building design. Case studies of similar centers in Dundee and Winchester show they attract hundreds of daily visitors and generate millions in annual income through admissions, education programs, and commercial activities.
Generative Adversarial Networks by Tariq RashidTechExeter
The document discusses generative adversarial networks (GANs) and how they can be used to generate new images based on training data. It provides examples of GANs trained on the MNIST dataset to generate handwritten digits, and on a dataset of celebrity faces. The examples demonstrate how the generated images improve in quality and level of detail as the GANs are trained for more epochs. Key points are made that GANs can generate plausible new data rather than just copying training examples, and that mode collapse is a major open research question when using GANs.
The document discusses various tactics and techniques used by red teams to simulate cyber attacks, including open-source intelligence gathering, social engineering, deploying drop boxes, maintaining persistence, and threat actor profiling. It also introduces the MITRE ATT&CK framework for categorizing adversary behavior and outlines example steps in a red team workflow. Finally, it recommends five areas for organizations to focus on to strengthen their cyber defenses: network security, auditing and logging, password policies, role-based access control, and patch management.
The document discusses the core skills needed for a career in data science. It states that 70% of the work involves data wrangling such as cleaning and organizing data. Strong verbal and visual communication skills are also important, making up 15% and 10% respectively. Technical skills themselves only account for 5% of the work. The document advocates that data scientists should be generalists with strong communication abilities and make time for their personal interests.
ATS Global is a global company with over 30 years of experience in smart automation, quality, and IT solutions. It has over 2000 customers worldwide and 600+ engineers. ATS provides solutions across various industries including aerospace, automotive, food and beverage, and more. It is introducing a new innovation division called SODA Labs to utilize emerging technologies like additive manufacturing, advanced robotics, IoT, and machine learning to create innovative Industry 4.0 solutions.
The document is a slide presentation about the Elm programming language. It introduces Elm, discusses its syntax and type system, provides an example of building a brick counter app in Elm, and covers some benefits of using Elm such as compiler-checked refactors and tiny bundle sizes. It encourages attendees to join the Elm community and get in touch with the presenter for more information.
The UK Hydrographic Office is building a marine geospatial data platform to support maritime navigation and planning. They are developing the platform using agile best practices in collaboration with internal and external experts. The platform will provide data as a service, data supply management services, and platform as a service. User research is essential to understand user needs and find the right technical solution. Lessons learned include clearly defining problems, collaborating with users, allowing time for learning, and delivering incremental capabilities.
Conf 2018 Track 1 - Tessl / revolutionising the house moving processTechExeter
The document discusses using data and technology to improve the home buying and selling process. It notes that the current process is complicated and stressful for many. The speaker's company, Landmark Information Group, has access to a large amount of property data that could help automate and simplify the process. New technologies like serverless computing allow infinite storage and processing of the property data. With intelligent use of all available data and today's tools, the risks can be computed and transparently addressed to revolutionize an industry that is already in the process of changing. Ultimately, improving the user experience is the goal.
Conf 2018 Keynote - Andy Stanford-Clark, CTO IBM UKTechExeter
The document appears to be a collection of tweets and posts from Andy Stanford-Clark describing various Internet of Things projects he encountered in a day, including live ferry tracking, an "Internet of Dinosaurs" concept, and a zoo project that used sensors to detect coffee bar busy-ness and display it through LED lights to help visitors plan their trips. It showcases different IoT applications and concepts through brief descriptions and images.
Security for Position Navigation and Timing Systems
Guy Buesnel speaking at the TechExeter meetup August 2018
https://www.meetup.com/techexeter/events/249663175/
Why Isn't My Query Using an Index?: An Introduction to SQL Performance TechExeter
by Chris Saxon, Oracle.
“Why isn’t my query using an index?” is a common question people have when tuning SQL.
This talk explores the factors that influence the optimizer’s decision behind this question. It introduces the concepts of blocks and the clustering factor. It discusses how these affect the optimizer's calculations. It goes on to show how these concepts work in practice using real SQL queries.
This session is intended for developers who want to learn how the optimizer works and how to make their SQL run quickly!
From the FreshTech 2017 conference by TechExeter
www.techexeter.uk
by Dave Longman, Headforwards.
Modern software release cycles are getting shorter and shorter. Modern development languages and frameworks enable developers to produce new features faster than ever. With the trend of shorter sprints and a general move towards continuous delivery it is becoming more and more difficult to get everything ready to release without testing becoming a bottleneck.
Existing testing processes cannot keep up with the rapid release pace demanded by more and more companies. So what can we do about this? One approach is to turn your development team into testers, get them to think more like a tester thereby reducing the number of issues that get past the developers IDE. But does this work and how do you go about doing it?
In this session I will explain what we have done to help our developers become testers. I'll talk about the challenges we faced as well as the benefits that it brought for our projects. We'll also look at what impact this had on the developers and more crucially on the testers.
From the FreshTech 2017 conference by TechExeter
www.techexeter.uk
by John Blackmore, Upad.
Remote working roles are on the rise, offering flexibility to employers and employees, opening up roles to workers that would normally not be available due to location or other factors. Based on real world experience over the last 18 months, I would like to share my tips and trips on working within and managing a remote team.
I show the pros and cons of remote working, great ways to set up your space for productive working, and how to avoid common procrastination pitfalls.
I have been working as a team lead for a fully remote team of developers and would like to share our story of how we organise work, communicate, and collaborate in ways that focussed and productive without the distractions of the modern open plan office.
From the FreshTech 2017 conference by TechExeter
www.techexeter.uk
by Dermot Kilroy, GoCompare.
The Agile Manifesto captured the mindset of 17 software delivery thought leaders in how they wanted to deliver software. Since then the agile landscape has exploded with all sorts of different tools, techniques and practices.
In my experience the adoption of agile focuses heavily on implementing the processes, tools and techniques. But, true agility is achieved by the people within the organisation adopting the agile mindset.
This talk is all about the agile journey GoCompare has taken and, more importantly, contains an experience report of developing an agile mindset at all levels of the organisation.
From the FreshTech 2017 conference by TechExeter
www.techexeter.uk
by Andy Wood, Ideaflip.
Writing software has been compared to many other professions such as science, engineering, architecture, craft and art. However, while these analogies can be useful, nearly all of them assume that the goal is a finished product. One that might require the odd bit of maintenance and occasional bit of redecoration perhaps, but fundamentally, a more or less static, completed artefact.
Today's networked software ecosystems are complex, dynamic environments. Security updates, changing cloud APIs, new web technologies and mobile operating systems, all contribute to a ever-evolving context that developers have to contend with while creating apps and services. We need a fresh analogy to draw inspiration from.
In this session I propose that writing software should be treated more like gardening and look at the ways this analogy can help when thinking—and perhaps more importantly, talking—about the design, development and maintenance of today's systems.
From the FreshTech 2017 conference by TechExeter
www.techexeter.uk
The trials and tribulations of providing engineering infrastructure TechExeter
The document discusses lessons learned from running engineering infrastructure at Arm. It discusses several key points:
1) Shared infrastructure can lead to compromise and additional effort with no value if used for multiple disciplines. Specialized environments for each discipline are preferred.
2) Automation is critical to avoid inefficiencies from rapid growth outpacing manual processes. Automate where possible.
3) Ubiquitous shared storage breeds laziness and poor data management practices that do not scale. More controlled use of storage is needed.
4) Educating engineers on responsible infrastructure use is important, as not all have expertise in large-scale systems. Partnership and guidance is preferred over being solely "the police".
Scaling clusters to thousands of servers in the cloudTechExeter
by Jacob Tomlinson, Met Office Informatics Lab.
In order to analyse the petabytes of data we have at the Met Office we need very large clusters of servers. However procuring these pieces of infrastructure takes months or even years of planning and large up-front capital expense.
In the Informatics Lab we have been exploring using scalable cloud infrastructure to create next generation data analysis clusters. In our latest prototype we used scalable resources from AWS along with a Python computation scheduler called Dask to create clusters with thousands of CPU cores on-demand. The cluster only exists for the time that we need it and then we can shut it down again, so we only pay for what we use.
Scaling to these levels takes a lot of thinking about. In order for everything to scale linearly you need to also scale your data access, monitoring, system configuration and everything else to avoid bottlenecks.
This talk will cover the practicalities of building these things, the pitfalls we found when crossing certain thresholds and the new challenges we face when working in this new paradigm.
From the FreshTech 2017 conference by TechExeter
www.techexeter.uk
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
17. @NathanGloyn www.designcoderelease.blogspot.com
Aspects – Fat vs Thin
o Thin service
• Only holds data relating to itself
• Calls other services directly as it needed
• Temporally coupled
o Fat Service
• Holds copies of data from other services that it would need to use
• Resilient to other service failures
• Data coupled
34. @NathanGloyn www.designcoderelease.blogspot.com
Summary
Different way of thinking
Choice of technology not necessarily important but at same time can be crucial
Service identification is important and if should be fat or thin dependent upon resilience
Build security in from the start
Put configuration in one place
You will need to alter data in production – know how you are going to do this
Log, log and log some more
Monitor the system not just individual services
If you’ve built microservices things I’m talking about you probably already know
Problems I came across and solutions that were discovered may not be a problem for you or my solution may not be applicable for your circumstances
Don’t use microservices, just because it’s the “new hotness” doesn’t mean the pattern fits your problem
Most people will look to Microservices to solve scaling as they are “easy” to scale, but scaling is a nice problem to have but you have to be successful first
Complexity that comes with a distributed system – support, deployment
Benefits
Independent development – people will point to being able to have multiple teams develop separate parts far easier
Technology agnostic
New paradigm, new way to build
Bringing old way of thinking can end up building mini-monoliths
This is a classic, canonical , microservice - a single “endpoint” that connects to and uses its own data store
You might have couple of services that share a datastore, the difference being both perform specific independent functions
This may look like microservices but is closer to a distributed monolith due to the fact that they all share a single database.
The main issue is that due to the shared dependency if you want to scale the services the data store can very quickly become a bottle neck if it isn’t able to scale to the same extent, not to mention possibility of collision between data being updated and need to resolve correct values.
Domain driven design Bounded Context – related concepts e.g. student details from Connections which was not linked to users or security
Thoughtworks article on extracting service from monolith - https://martinfowler.com/articles/extract-data-rich-service.html
InfoQ article on decomposing monolith - https://www.infoq.com/articles/microservices-startup
You will need messaging
May have messaging on client only
A server side message bus ties all of the services together allowing them to communicate but without being explicitly coupled to each other
Examples:
.Net - NServiceBus, Rebus
Node – BusMQ
Java – EventBus, ApacheCamel
RabbitMQ, ZeroMQ,
Client side message bus – all communication between the services is done client side
Postal.js is an example of an in memory message bus written in JavaScript - https://github.com/postaljs/postal.js
Both types are coupled, just in different ways
Temporal coupling – means that if the other service isn’t there then the process may fail if the information/operation being executed is critical to the process
Data coupling – if the data gets out of sync service can be executing against invalid data which could then have a domino effect throughout the system
With multiple services you will often find that to accomplish what appears to the user as one action to call multiple services
Everything is just that bit more complicated with a distributed system do not dismiss the additional complexity it will bring
This can become more of an issue if you need the system to process some data, to correct a mistake for instance, and you need to be able to orchestrate many compensatory actions.
Https by default
Needs to work across all services
Build in from the beginning
Ensure authorization in place, not just authentication
Existing security products – IdentityServer on .Net, Keycloak on Java, Passport on node, Auth0 etc
Single repo can make it easy to develop but additional complexity around deployment
Multiple repo separates the code making it easier to build and release harder to develop
Nothing to stop you using what ever technology suits your service
If using multiple technologies make sure you have people in the organisation that are able to dev and support those technologies
Word of caution related to security – if you do not continue with a particular stack you still need to monitor that stack for vulnerabilities you need to fix
Package manager
Any changes to existing packages or new packages have to be published which may take time e.g. test, PR, build, deploy
Pin version unless you are very confident that any update will not effect you
Interface can end up having an impact on the services, if you design a CRUD based interface more likely you will create services that fit that. Task based UI will help create services related to the actions the users want to perform and often CRUD based services won’t fit this model at all.
Single interface means you have to redeploy the entire thing if any one thing changes – monolith front end. Web pack “code splitting” is just chunking up a single interface
Micro frontends is the latest name for composable UI where parts of the UI are loaded as necessary, additional complexity around loading parts of the UI as needed and reacting to user actions
With many services involved you will be likely to have to deal with Eventual consistency where the system doesn’t have an immediate answer – how do you handle this in the UI?
Integration testing of the system, or parts/services that interact, is harder – you want a test environment that mirrors your live.
Automate as much of the integration testing as you can
Deploy all services at the same time – fundamentally doing it wrong
Deploying individual services – if using single repo then more complex build & release
PaaS Vs Container Vs serverless
Having the ability to decouple any data migrations from deployment can make life easier if using fat services
UI Deployment – ideally completely separate from the backend service, if it can be broken into components and deployed piecemeal even better
Progression from: config transformed at build/release external config in environment e.g. Azure Cloud Config
external config system e.g. Consul, Zookeeper are examples of external configuration systems
Enable configuration to be separate from the service – that way you can store the config in one place only
Can be single point of failure – ensure you have a default config a service can work from
Data needed will frequently change over the life of the system
Document DB’s not immune to issues, likelihood is you will need to make changes to documents
You will need a plan to migrate/alter data – fat services make this more difficult as you need to then run your changes in multiple services
If the data is calculated then you will need to be able to perform the calculation outside of the service
Multiple tenants – database per tenant or partition the data,
– if using database per tenant is that for every service? If so you will end up with a lot of databases to manage
Format of messages will change over time
You want to avoid having to deploy multiple services each time a message changes
Version the messages, ensure that services use explicit version
Little overhead as need to understand when all services have moved off a version so it can be retired
Need to be able to look at the system as a whole – ensure a correlation id is included in all log entries to make it easier to do so
Centralised logging makes this easier – ELK stack or paid product e.g. splunk
Combine with auditing to give a full picture of what is happening
Need to be able to look at the logs in context so not just logging the errors as you need everything that was happening at that time
Don’t just log server side you need to be logging from the UI as well to get complete picture of what the user is doing
Can be harder since multiple services make up the system but you don’t necessarily need all of them
Ensure you record metrics around performance of the system so that you identify if something is going wrong
More difficult than with monolith as all services could be degraded but performance of the system is still ok, baseline your system and then work out what you would consider a problem and add alerts
Golden Signals
Latency (response time),
Traffic (requests per second),
Errors (Error rate),
Saturation (how overloaded something is queue depth, concurrency, etc)
Focus on things that directly impact the user experience good infoq article on these here https://www.infoq.com/articles/monitoring-SRE-golden-signals
Don’t try and do everything through services – keep services to what they do and build custom tools to help with ad-hoc tasks e.g. replay messages, bulk load data
Pick the wrong message bus for instance and you could end up with complications