The document discusses modern software development approaches and best practices. It covers topics like popular programming languages, architectural patterns, team structures, and practices. Key points include: JavaScript, Python, and Java are the most popular languages; architectural approaches like monoliths, microservices, and serverless all have tradeoffs; modern teams include roles like SREs and benefit from practices like living documentation and mob programming; and factors like team maturity impact project success rates more than project size alone.
Patrick Debois coined the term "DevOps" in 2009 by combining "development" and "operations" to refer to a collaborative way for software teams to develop and deploy applications. DevOps stresses communication between developers and IT operations and utilizes automation. It involves planning, creating, verifying, packaging, releasing, configuring and monitoring software. While DevOps is a cultural practice, cloud computing utilizes remote servers accessed over the internet and DevOps principles support development and deployment in the cloud.
The document discusses implementing a DevOps culture at an organization. It covers defining standard tools and processes, educating employees, and establishing continuous integration and delivery (CI/CD) pipelines. The key steps are to start with test-driven development, implement version control and code reviews, define roles and responsibilities, and set up build, deployment, and automated testing processes for development, QA, and production environments. Infrastructure should also be managed as code. Implementing these changes will help transition the organization to more agile, collaborative ways of working.
Understand the concept of DevOps by employing DevOps Strategy Roadmap Lifecycle PowerPoint Presentation Slides Complete Deck. Describe how DevOps is different from traditional IT with these content-ready PPT themes. The slides also help to discuss DevOps use cases in the business, roadmap, and its lifecycle. Explain the roles, responsibilities, and skills of DevOps engineers by utilizing this visually appealing slide deck. Demonstrate DevOp roadmap for implementation in the organization with the help of a thoroughly researched PPT slideshow. Describe the characteristics of cloud computing, its benefits, and risks with the aid of this PPT layout. Utilize this easy-to-use DevOps transformation strategy PowerPoint slide deck to showcase the difference between cloud and traditional data centers. This ready-to-use PowerPoint layout also discusses the roadmap to integrate cloud computing in business. Highlight the usages of cloud computing and deployment models with the help of visual attention-grabbing DevOps implementation roadmap PowerPoint slides. https://bit.ly/3eFxYYr
Managing JavaScript projects in a MonoRepo
(Zacky Pickholz)
Managing a large front end project with multiple npm packages can be overwhelming sometimes. During this session we cover popular tools that help us maintain this project much more easily.
Have a peek into Cloud Run, GCP's new fully managed serverless platform, that allows one to run HTTP stateless containers while only paying for when used and without worrying about the infrastructure. Includes demos of how to get started and sharing of real-life use cases of how this will change deployment of containerized applications.
iSAQB Software Architecture Gathering – Digital 2022, November 2022, Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Kubernetes is the de-facto standard when it comes to container orchestration. But why is there is no established, standard and uniform way to spin-up and manage a single or even a whole farm of Kubernetes clusters yet? Instead, a whole bunch of different and mostly incompatible ways towards Kubernetes exist today. Each with its own pros and cons in regards to ease of use, flexibility and many other requirements. In this session we will have a closer look at the different available options to create, manage and operate Kubernetes clusters at scale.
Choosing the right development platform may not be as obvious as it seems.
Low code application platforms accelerate app delivery by dramatically reducing the amount of hand coding required. Faster delivery is the primary benefit of these application platforms; they also help firms respond more quickly to customer feedback after initial software releases.
While to benefits are clear - this does not mean they are always the best choice for your business. Equally, it should not always be an either/or choice between one platform or another.
These slides describe some of the things to consider when choosing a development platform. Please get in touch if you would like an unbiased discussion on how to choose the best platform for your needs.
We are more than thrilled to announce the second meetup on 10 December 2022 where we discuss GitOps, ArgoCD and their fundamentals. Inviting SREs, DevOps engineers, developers & platform engineers from all around the world.
Agenda:-
1. GitOps Overview
2. Why and What is GitOps
3. Opensource GitOps tools
4. What is ArgoCD, Architecture
5. Let's Get our hands dirty on ArgoCD
6. Q&A
This document discusses DevOps and continuous delivery. It begins by introducing the speaker and defining DevOps as applying kanban principles and focusing on reducing lead time from idea to production. It then discusses how continuous integration, continuous delivery, test automation, and breaking work into small batches can help reduce lead time. The document emphasizes that DevOps is not just about tools but also culture and processes.
This document discusses setting up ArgoCD, an open source tool for continuous delivery for Kubernetes applications, including building and testing source code, deploying Docker images to a registry, and using ArgoCD to apply configuration definitions and deploy applications. It also provides links to additional Dev.to posts and GitHub projects about using Kustomize and secrets management with ArgoCD.
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
This presentation about Docker tutorial will help you understand what is Docker, advantages of Docker, how does Docker work, components of Docker, virtual machine vs Docker, advanced concepts in Docker, basic Docker commands along with a demo. A Docker is an OS-level virtualization software that enables developers and IT administrators to create, deploy and run applications in a Docker container with all their dependencies. It is said to be a very light-weight software container and containerization platform. Docker engine or Docker is a client-server application that builds and executes using Docker components. Rapid deployment, portability, better efficiency, faster configuration, scalability, security are some of the advantages you get by using Docker.
Below topics are explained in this Docker presentation:
1. Virtual machine vs Docker
2. What is Docker?
3. Advantages of Docker
4. How does Docker work?
5. Components of Docker
6. Advanced concepts in Docker
7. Basic Docker commands
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
This DevOps training course will be of benefit the following professional roles:
1. Software Developers
2. Technical Project Managers
3. Architects
4. Operations Support
5. Deployment engineers
6. IT managers
7. Development managers
You can learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
40 DevSecOps Reference Architectures for you. See what tools your peers are using to scale DevSecOps and how enterprises are automating security into their DevOps pipeline. Learn what DevSecOps tools and integrations others are deploying in 2019 and where your choices stack up as you consider shifting security left.
Stefan is currently working on a new exciting project, GitOps Toolkit (https://github.com/fluxcd/toolkit), which is an experimental toolkit for assembling CD pipelines the GitOps way
This document provides an overview of CI/CD on Google Cloud Platform. It discusses key DevOps principles like treating infrastructure as code and automating processes. It then describes how GCP services like Cloud Build, Container Registry, Source Repositories, and Stackdriver can help achieve CI/CD. Spinnaker is mentioned as an open-source continuous delivery platform that integrates well with GCP. Overall the document outlines the benefits of CI/CD and how GCP makes CI/CD implementation easy and scalable.
Application monitoring is being talked about a lot these days and it helps provide key information that is helpful in developing better software and also in taking some key business decision. Datadog offers monitoring as a service.
Platform Engineering is the practice of building and operating a common platform as a product for technology teams.
In this session, we will talk about why and when we need a platform. How to build Platform Engineering and demo.
Jirayut Nimsaeng
Founder & CEO
Opsta (Thailand) Co., Ltd.
Youtube Record: https://youtu.be/brBZYbNbnAo
Dev Mountain Tech Festival 2022 @ Khaoyai
March 19, 2022
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
Many developers don't like the idea of low or no code, yet they use tooling to dramatically lower the amount of code they need to write.
This presentation covers what low code is, strengths and weaknesses and the future: what will make them successful and why developers should embrace these tools.
Originally presented at Swansea Con 2016
http://swanseacon.co.uk
If someone had said to you a few years back that they could build an app, 'push' to the cloud and even scale it in a matter of minutes with a few simple commands, you'd have most likely responded; 'You've got your head in the clouds'.
Times do change. This talk explains this phenomenon called Platform as a Service and how it can benefit you while demonstrating a real live deployment of an application with a blue green deployment and scale-up operation thrown in for fun.
The session will outline,
What is PaaS?
What options do I have?
How do I develop locally?
Dynamic Scaling of applications based on load
How do I build my application to be fault tolerant so I can dynamically scale?
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
The extraordinary growth of Java during the last decade owed everything to the set of infrastructure services that application servers provided as part of the platform. However, TCO eventually drove the move to the cloud and PaaS (Platform as a Service) is set to deliver a standard run-time for the next generation of applications, replacing the proprietary infrastructure provided by the application server vendors. Now the question is: where do developers of real-world business applications look for a common set of standard infrastructure services? Is there a common framework that can provide essential application services, such as message queueing, push notifications, email integration, in-memory caching and processing? Amazon Web Services (AWS) with their highly-scaleable IaaS (Infrastructure as a Service) model are an obvious answer, but how best to combine Java's rich ecosystem of tools, frameworks and knowledge with the scale and cost-effectiveness of cloud-based web services? This session will help you to understand how you can deliver applications that make effective use of those services by using a Java PaaS, without being forced to support the underlying infrastructure. In this code-rich session, aimed at architects and developers, Mark Prichard of CloudBees will show how you can: Pass Amazon security credentials and configuration parameters to PaaS applications at run-time to provide customized environments; use JDBC and Amazon RDS (Relational Data Service) to provide resilient and performant relational data servicesReplace JMS queues and topics with Amazon SQS (Simple Queue Service) and SNS (Simple Notification Service) to develop cloud-based messaging applications; use Amazon's SES (Simple Email Service) from Java applications. We'll also look at other cloud e-mail services that offer easy integration with the PaaS modelRun distributed caching solutions in the cloud using Amazon ElastiCache's in-memory distributed caching with Java PaaS deployments.
Low Code Capabilities of Digital Product Design Platforms
This document discusses low-code capabilities of digital product design platforms. It notes that today's software development faces challenges like siloed tools and lack of UX resources for developers. Low-code and no-code tools promise to help by bridging designer-developer divides. Digital product design platforms integrate tools across the design-development process, from prototyping to collaboration to code generation. These platforms help speed time to market and improve quality by streamlining hand-offs. The document compares vendors and demonstrates a platform's features before recommending platforms to accelerate app development.
The document is a resume for Tom Taila, who is seeking an opportunity in Android software development. It outlines his professional experience, including currently working as the lead Android developer for Mango Languages, where he helped redevelop their app. It also lists personal projects like an Android app called SpotShot that allows sharing self-destructing photos based on location. His skills and technologies include Java, Android SDK, Ruby on Rails, HTML/CSS, and experience with Agile practices.
Measure and increase developer productivity with help of Severless by Kazulki...
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
This document summarizes a virtual meetup about Mule 4 code review using SonarQube. The meetup agenda included introductions, a discussion of continuous inspection and SonarQube, and a demo. Continuous inspection is part of the software development lifecycle and provides continuous feedback on code quality. SonarQube is a tool that can analyze source code without execution to generate software metrics and identify issues. It was demonstrated at the meetup and supports code review in multiple languages. There was also an open discussion period for questions and suggestions for future meetup topics.
Buddy, partnered with industry leaders such as Amazon, Docker, Github, Microsoft, and Google, is a winning development automation platform that serves a rapidly growing market valued to become $345 billion by 2022. Over 7,000 developers use Buddy every day across 120+ countries. Featured customers: INC. Magazine, CGI.com & ING Bank. Our vision is to become the backbone on which talented people can build world-altering apps & services. Our goal is to take the load off millions of developers by offloading everything that can be automated – giving them back the time for being creative.
DevOps is a movement to change how IT is done by promoting collaboration between development and operations teams. It aims to reduce waste and improve delivery of software by making development and operations processes more efficient through automation, monitoring, and communication. The DevOps philosophy advocates enhancing software design with operational knowledge, building feedback loops from production into development to improve systems, and fostering a culture of shared responsibility. Key DevOps practices include accelerating the flow of changes to production through continuous integration, delivery, and deployment; adding development practices to operations like automated testing; and empowering developers to do production work to break down barriers between teams. DevOps uses tooling throughout the development and operations process to measure and monitor systems and provide feedback.
The Power of GitOps with Flux & GitOps ToolkitWeaveworks
GitOps Days Community Special
Watch the video here: https://youtu.be/0v5bjysXTL8
New to GitOps or been a long-time Flux user?
We'll walk you through the benefits of GitOps and then demo it in action with a sneak peak into the next gen Flux and GitOps Toolkit!
* Automation!
* Visibility!
* Reconciliation!
* Powerful use of Prometheus and Grafana!
* GitOps for Helm!
For Flux users, Flux v1 is decoupled into Flux v2 and GitOps Toolkit. We'll demo how this decoupling gives you more control over how you can do GitOps and with fewer steps!
Join Leigh Capili and Tamao Nakahara as they show you GitOps in action with Flux and GitOps Toolkit.
Note to our Flux community that Flux v2 and the GitOps Toolkit is in development and Flux v1 is in maintenance mode. These talks and upcoming guides will give you the most up-to-date info and steps to migrate once we reach feature parity and start the migration process. We are dedicated to the smoothest experience possible for our Flux community, so please join us if you'd like early access and to give us feedback for the migration process.
We are really excited by the improvements and want to take this opportunity to show you what the GitOps Toolkit is all about, walk you through the guides and get your feedback!
For more info, see https://toolkit.fluxcd.io/.
Here's our latest blog post on Flux v2 and GitOps Toolkit updates: https://www.weave.works/blog/the-road-to-flux-v2-october-update
A high level introduction to DevOps. Explains what it is, how popular DevOps has become, why DevOps is popular, how DevOps differs from traditional approaches and some next steps to implementation.
Patrick Debois coined the term "DevOps" in 2009 by combining "development" and "operations" to refer to a collaborative way for software teams to develop and deploy applications. DevOps stresses communication between developers and IT operations and utilizes automation. It involves planning, creating, verifying, packaging, releasing, configuring and monitoring software. While DevOps is a cultural practice, cloud computing utilizes remote servers accessed over the internet and DevOps principles support development and deployment in the cloud.
The document discusses implementing a DevOps culture at an organization. It covers defining standard tools and processes, educating employees, and establishing continuous integration and delivery (CI/CD) pipelines. The key steps are to start with test-driven development, implement version control and code reviews, define roles and responsibilities, and set up build, deployment, and automated testing processes for development, QA, and production environments. Infrastructure should also be managed as code. Implementing these changes will help transition the organization to more agile, collaborative ways of working.
Understand the concept of DevOps by employing DevOps Strategy Roadmap Lifecycle PowerPoint Presentation Slides Complete Deck. Describe how DevOps is different from traditional IT with these content-ready PPT themes. The slides also help to discuss DevOps use cases in the business, roadmap, and its lifecycle. Explain the roles, responsibilities, and skills of DevOps engineers by utilizing this visually appealing slide deck. Demonstrate DevOp roadmap for implementation in the organization with the help of a thoroughly researched PPT slideshow. Describe the characteristics of cloud computing, its benefits, and risks with the aid of this PPT layout. Utilize this easy-to-use DevOps transformation strategy PowerPoint slide deck to showcase the difference between cloud and traditional data centers. This ready-to-use PowerPoint layout also discusses the roadmap to integrate cloud computing in business. Highlight the usages of cloud computing and deployment models with the help of visual attention-grabbing DevOps implementation roadmap PowerPoint slides. https://bit.ly/3eFxYYr
Managing JavaScript projects in a MonoRepo
(Zacky Pickholz)
Managing a large front end project with multiple npm packages can be overwhelming sometimes. During this session we cover popular tools that help us maintain this project much more easily.
Cloud run - Serverless Containers Done Rightmfazal
Have a peek into Cloud Run, GCP's new fully managed serverless platform, that allows one to run HTTP stateless containers while only paying for when used and without worrying about the infrastructure. Includes demos of how to get started and sharing of real-life use cases of how this will change deployment of containerized applications.
Cluster-as-code. The Many Ways towards KubernetesQAware GmbH
iSAQB Software Architecture Gathering – Digital 2022, November 2022, Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Kubernetes is the de-facto standard when it comes to container orchestration. But why is there is no established, standard and uniform way to spin-up and manage a single or even a whole farm of Kubernetes clusters yet? Instead, a whole bunch of different and mostly incompatible ways towards Kubernetes exist today. Each with its own pros and cons in regards to ease of use, flexibility and many other requirements. In this session we will have a closer look at the different available options to create, manage and operate Kubernetes clusters at scale.
Choosing the right development platform may not be as obvious as it seems.
Low code application platforms accelerate app delivery by dramatically reducing the amount of hand coding required. Faster delivery is the primary benefit of these application platforms; they also help firms respond more quickly to customer feedback after initial software releases.
While to benefits are clear - this does not mean they are always the best choice for your business. Equally, it should not always be an either/or choice between one platform or another.
These slides describe some of the things to consider when choosing a development platform. Please get in touch if you would like an unbiased discussion on how to choose the best platform for your needs.
We are more than thrilled to announce the second meetup on 10 December 2022 where we discuss GitOps, ArgoCD and their fundamentals. Inviting SREs, DevOps engineers, developers & platform engineers from all around the world.
Agenda:-
1. GitOps Overview
2. Why and What is GitOps
3. Opensource GitOps tools
4. What is ArgoCD, Architecture
5. Let's Get our hands dirty on ArgoCD
6. Q&A
This document discusses DevOps and continuous delivery. It begins by introducing the speaker and defining DevOps as applying kanban principles and focusing on reducing lead time from idea to production. It then discusses how continuous integration, continuous delivery, test automation, and breaking work into small batches can help reduce lead time. The document emphasizes that DevOps is not just about tools but also culture and processes.
This document discusses setting up ArgoCD, an open source tool for continuous delivery for Kubernetes applications, including building and testing source code, deploying Docker images to a registry, and using ArgoCD to apply configuration definitions and deploy applications. It also provides links to additional Dev.to posts and GitHub projects about using Kustomize and secrets management with ArgoCD.
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
This presentation about Docker tutorial will help you understand what is Docker, advantages of Docker, how does Docker work, components of Docker, virtual machine vs Docker, advanced concepts in Docker, basic Docker commands along with a demo. A Docker is an OS-level virtualization software that enables developers and IT administrators to create, deploy and run applications in a Docker container with all their dependencies. It is said to be a very light-weight software container and containerization platform. Docker engine or Docker is a client-server application that builds and executes using Docker components. Rapid deployment, portability, better efficiency, faster configuration, scalability, security are some of the advantages you get by using Docker.
Below topics are explained in this Docker presentation:
1. Virtual machine vs Docker
2. What is Docker?
3. Advantages of Docker
4. How does Docker work?
5. Components of Docker
6. Advanced concepts in Docker
7. Basic Docker commands
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
This DevOps training course will be of benefit the following professional roles:
1. Software Developers
2. Technical Project Managers
3. Architects
4. Operations Support
5. Deployment engineers
6. IT managers
7. Development managers
You can learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
40 DevSecOps Reference Architectures for you. See what tools your peers are using to scale DevSecOps and how enterprises are automating security into their DevOps pipeline. Learn what DevSecOps tools and integrations others are deploying in 2019 and where your choices stack up as you consider shifting security left.
Stefan is currently working on a new exciting project, GitOps Toolkit (https://github.com/fluxcd/toolkit), which is an experimental toolkit for assembling CD pipelines the GitOps way
This document provides an overview of CI/CD on Google Cloud Platform. It discusses key DevOps principles like treating infrastructure as code and automating processes. It then describes how GCP services like Cloud Build, Container Registry, Source Repositories, and Stackdriver can help achieve CI/CD. Spinnaker is mentioned as an open-source continuous delivery platform that integrates well with GCP. Overall the document outlines the benefits of CI/CD and how GCP makes CI/CD implementation easy and scalable.
Application monitoring is being talked about a lot these days and it helps provide key information that is helpful in developing better software and also in taking some key business decision. Datadog offers monitoring as a service.
Platform Engineering is the practice of building and operating a common platform as a product for technology teams.
In this session, we will talk about why and when we need a platform. How to build Platform Engineering and demo.
Jirayut Nimsaeng
Founder & CEO
Opsta (Thailand) Co., Ltd.
Youtube Record: https://youtu.be/brBZYbNbnAo
Dev Mountain Tech Festival 2022 @ Khaoyai
March 19, 2022
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Vadym Kazulkin
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
Many developers don't like the idea of low or no code, yet they use tooling to dramatically lower the amount of code they need to write.
This presentation covers what low code is, strengths and weaknesses and the future: what will make them successful and why developers should embrace these tools.
Originally presented at Swansea Con 2016
http://swanseacon.co.uk
If someone had said to you a few years back that they could build an app, 'push' to the cloud and even scale it in a matter of minutes with a few simple commands, you'd have most likely responded; 'You've got your head in the clouds'.
Times do change. This talk explains this phenomenon called Platform as a Service and how it can benefit you while demonstrating a real live deployment of an application with a blue green deployment and scale-up operation thrown in for fun.
The session will outline,
What is PaaS?
What options do I have?
How do I develop locally?
Dynamic Scaling of applications based on load
How do I build my application to be fault tolerant so I can dynamically scale?
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...jaxconf
The extraordinary growth of Java during the last decade owed everything to the set of infrastructure services that application servers provided as part of the platform. However, TCO eventually drove the move to the cloud and PaaS (Platform as a Service) is set to deliver a standard run-time for the next generation of applications, replacing the proprietary infrastructure provided by the application server vendors. Now the question is: where do developers of real-world business applications look for a common set of standard infrastructure services? Is there a common framework that can provide essential application services, such as message queueing, push notifications, email integration, in-memory caching and processing? Amazon Web Services (AWS) with their highly-scaleable IaaS (Infrastructure as a Service) model are an obvious answer, but how best to combine Java's rich ecosystem of tools, frameworks and knowledge with the scale and cost-effectiveness of cloud-based web services? This session will help you to understand how you can deliver applications that make effective use of those services by using a Java PaaS, without being forced to support the underlying infrastructure. In this code-rich session, aimed at architects and developers, Mark Prichard of CloudBees will show how you can: Pass Amazon security credentials and configuration parameters to PaaS applications at run-time to provide customized environments; use JDBC and Amazon RDS (Relational Data Service) to provide resilient and performant relational data servicesReplace JMS queues and topics with Amazon SQS (Simple Queue Service) and SNS (Simple Notification Service) to develop cloud-based messaging applications; use Amazon's SES (Simple Email Service) from Java applications. We'll also look at other cloud e-mail services that offer easy integration with the PaaS modelRun distributed caching solutions in the cloud using Amazon ElastiCache's in-memory distributed caching with Java PaaS deployments.
Low Code Capabilities of Digital Product Design PlatformsJohnMcGuigan10
This document discusses low-code capabilities of digital product design platforms. It notes that today's software development faces challenges like siloed tools and lack of UX resources for developers. Low-code and no-code tools promise to help by bridging designer-developer divides. Digital product design platforms integrate tools across the design-development process, from prototyping to collaboration to code generation. These platforms help speed time to market and improve quality by streamlining hand-offs. The document compares vendors and demonstrates a platform's features before recommending platforms to accelerate app development.
The document is a resume for Tom Taila, who is seeking an opportunity in Android software development. It outlines his professional experience, including currently working as the lead Android developer for Mango Languages, where he helped redevelop their app. It also lists personal projects like an Android app called SpotShot that allows sharing self-destructing photos based on location. His skills and technologies include Java, Android SDK, Ruby on Rails, HTML/CSS, and experience with Agile practices.
Measure and increase developer productivity with help of Severless by Kazulki...Vadym Kazulkin
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
Riyadh Meetup4- Sonarqube for Mule 4 Code reviewsatyasekhar123
This document summarizes a virtual meetup about Mule 4 code review using SonarQube. The meetup agenda included introductions, a discussion of continuous inspection and SonarQube, and a demo. Continuous inspection is part of the software development lifecycle and provides continuous feedback on code quality. SonarQube is a tool that can analyze source code without execution to generate software metrics and identify issues. It was demonstrated at the meetup and supports code review in multiple languages. There was also an open discussion period for questions and suggestions for future meetup topics.
Buddy, partnered with industry leaders such as Amazon, Docker, Github, Microsoft, and Google, is a winning development automation platform that serves a rapidly growing market valued to become $345 billion by 2022. Over 7,000 developers use Buddy every day across 120+ countries. Featured customers: INC. Magazine, CGI.com & ING Bank. Our vision is to become the backbone on which talented people can build world-altering apps & services. Our goal is to take the load off millions of developers by offloading everything that can be automated – giving them back the time for being creative.
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...NUS-ISS
The document discusses designing cloud-native software to take advantage of cloud platforms. It describes cloud-native software as software built specifically for the cloud that maximizes the cloud's benefits. The document outlines characteristics of good cloud-native applications like high scalability and availability. It also discusses adopting microservices architectures with containers, utilizing platform as a service, and following best practices like the twelve factors of cloud applications. The goal is to design applications that are portable, scalable, and can take full advantage of cloud infrastructure and services.
This document introduces Domingo and provides information about cloud native technologies and the Cloud Native Computing Foundation. It then shares attributes of cloud native applications according to TheNewStack and introduces Micronaut, a Java framework for building cloud native applications. Key features of Micronaut include dependency injection, configuration, service discovery, HTTP routing, and support for GraalVM. The document discusses how Micronaut is inspired by Spring and Grails but designed for scenarios like serverless and microservices. It also lists modules that Micronaut supports and cloud native features like configuration, service discovery, distributed tracing, and more. Finally, it previews demos of creating a first Micronaut app, fast reloading, GraalVM support,
This document provides information about a major project presentation by students Rishabh Kumar Sharma and Rashmi Bind. It includes sections on introduction, objectives, literature review, implementation details, data flow diagrams, project results with screenshots, value addition, plagiarism report, and references. The project aims to create a web application similar to Google Meet and Zoom using MERN stack technologies for team collaboration and communication functions like file sharing, messaging, and video conferencing. The project is in its final development stage with basic modules completed and capability to operate on PC and mobile devices.
What is the future of DevOps and its growing trends.pptxCalidad Infotech
Over the years, digitalization has seen a tremendous rise across the globe. Many businesses have become a part of this digitalization by making the optimum utilization of cloud & DevOps services. The DevOps market crossed the $8.5 billion mark in 2022 and is estimated to touch the $10 billion mark by the end of 2023.… Continue reading What is the future of DevOps and its growing trends?
Zend php mobile and right scale rightscale compute 2013RightScale
Speaker:
Kent Mitchell - Sr. Director of Product Management, Zend Technologies
Developing today’s cloud-connected mobile applications is complicated. You have to develop mobile clients for each platform and form factor. You have to develop back-end services that run in the cloud to provide all the “heavy lifting.” You need to integrate to social networks and existing legacy systems. And the entire system has to scale seamlessly when you have the break-out success you know you’re app will bring. See why the combination of Zend, RightScale, PHP, and Apache Cordoba give you the solution you are looking for in the modern mobile world.
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Vadym Kazulkin
The goal of Serverless is to focus on writing the code that delivers business value and offload everything else to your trusted partners (like Cloud providers or SaaS vendors). You want to iterate quickly and today’s code quickly becomes tomorrow’s technical debt. In this talk we will show why Serverless adoption increases the developer productivity and how to measure it. We will also go through AWS Serverless architectures where you only glue together different Serverless managed services relying solely on configuration, minimizing the amount of the code written.
Outpost24 webinar - application security in a dev ops world-08-2018Outpost24
As DevOps continue to advance, and agile development continues to be widely adopted, the latest OWASP top 10 list shows little to no movement at the top in terms of the most serious vulnerabilities affecting web applications. With a plethora of tools and information to help reduce application vulnerabilities and increase the level of security awareness in development team available, why do we still see web applications as a significant attack vector?
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
This document provides an introduction to programming terminology, concepts, and technologies for non-technical people. It outlines a training on software development lifecycles, engagement models, business domains, major programming languages, frameworks, and technologies. Key terms from front-end and back-end development, databases, DevOps, data science, and mobile apps are defined. Popular languages, frameworks, and platforms are compared, along with ratings of language popularity. Quality control techniques are briefly introduced.
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...Vadym Kazulkin
This document discusses increasing developer productivity through serverless computing. It begins by outlining various types of cognitive load on developers and how serverless can help minimize extraneous load. It then discusses how technical debt and inability to evolve can reduce productivity. Serverless is presented as helping reduce technical debt through writing less code and fewer dependencies. The total cost of ownership advantages of serverless are covered, including no infrastructure maintenance, built-in auto-scaling, ability to do more with fewer resources, lower technical debt, and faster time to market. Best practices like evolutionary architecture, DevOps, and chaos engineering are discussed for effectively leveraging serverless. Recent improvements to serverless offerings from AWS are summarized.
Bridging the Gap: from Data Science to ProductionFlorian Wilhelm
A recent but quite common observation in industry is that although there is an overall high adoption of data science, many companies struggle to get it into production. Huge teams of well-payed data scientists often present one fancy model after the other to their managers but their proof of concepts never manifest into something business relevant. The frustration grows on both sides, managers and data scientists.
In my talk I elaborate on the many reasons why data science to production is such a hard nut to crack. I start with a taxonomy of data use cases in order to easier assess technical requirements. Based thereon, my focus lies on overcoming the two-language-problem which is Python/R loved by data scientists vs. the enterprise-established Java/Scala. From my project experiences I present three different solutions, namely 1) migrating to a single language, 2) reimplementation and 3) usage of a framework. The advantages and disadvantages of each approach is presented and general advices based on the introduced taxonomy is given.
Additionally, my talk also addresses organisational as well as problems in quality assurance and deployment. Best practices and further references are presented on a high-level in order to cover all facets of data science to production.
With my talk I hope to convey the message that breakdowns on the road from data science to production are rather the rule than the exception, so you are not alone. At the end of my talk, you will have a better understanding of why your team and you are struggling and what to do about it.
Similar to Software development in the modern age (20)
How good of developer are you v1.1 DevWorld.pdfRoy Wasse
This document discusses different approaches for measuring how good of a software developer someone is. It reviews literature showing that technical skill is the most important factor, but other dimensions like knowledge, experience, and motivation also contribute to job performance. Task performance on coding assignments is identified as the key way to objectively measure programming skill. The document proposes developing a standardized measurement model based on analyzing time and quality of performance on coding tasks, validated against a large sample of developers, to reliably predict skills.
The document discusses ways to objectively measure how good of a software developer someone is. It reviews literature on using aptitude tests, education levels, experience, programming knowledge, and skill to predict job performance. Skill is identified as a key predictor that improves with practice. The document then discusses models of skill acquisition and outlines research measuring programming skill through tasks that combine time and quality metrics. It proposes using a Rasch model to create a measurement system for skills by having developers complete standardized tasks that are scored against a large control group.
Roy Wasse presented an overview of cryptography concepts including classical ciphers like the Caesar cipher and Vigenère cipher. Modern symmetric ciphers use pseudorandom number generators with nonces to prevent key reuse. Asymmetric encryption allows public/private key pairs. Quantum computing may break current algorithms like RSA and ECC. Anonymity can be achieved using mixing services and onion routing. Zero-knowledge proofs allow verification without revealing information. New developments like Schnorr signatures and Mimblewimble aim to improve scalability and privacy in cryptocurrencies.
This document provides an overview of cryptography concepts including various ciphers like the Caesar cipher, Vigenère cipher, Playfair cipher, and the one-time pad. It discusses stream ciphers using techniques like the middle squares method. Asymmetric encryption techniques like elliptic curve cryptography are covered as well as the impact of quantum computing. Additional topics include hashing, block ciphers, mixing services/onion routing, zero-knowledge proofs, and scriptless scripts. Recommended further reading on applied cryptography is also provided.
The document discusses the evolution of digital cash and blockchain technology. It covers key aspects of blockchain including peer-to-peer networks, distributed ledgers, consensus mechanisms, incentives, hashing, and smart contracts. Examples are provided of how blockchain can be used for payments without banks, guaranteeing message delivery, and preventing transaction manipulation. Ethereum is discussed as a platform for decentralized applications and smart contracts. Considerations for when blockchain is and is not suitable are also outlined.
Roy Wasse is a Dutch JUG leader and co-founder of OpenValue who is interested in technological change. The document discusses various cryptographic techniques including the one-time pad encryption method, stream ciphers, hashing versus encryption, block ciphers, asymmetric encryption using elliptic curves, quantum key distribution, and various applications like mixing services and onion routing for anonymity. It also touches on concepts like commitment schemes, zero-knowledge proofs, scriptless transactions in Mimblewimble, and using digital signatures to unlock content.
introduction of Ansys software and basic and advance knowledge of modelling s...sachin chaurasia
Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios. Ansys Mechanical is a dynamic tool that has a complete range of analysis tools.
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...onemonitarsoftware
Unlock the full potential of mobile monitoring with ONEMONITAR. Our advanced and discreet app offers a comprehensive suite of features, including hidden call recording, real-time GPS tracking, message monitoring, and much more.
Perfect for parents, employers, and anyone needing a reliable solution, ONEMONITAR ensures you stay informed and in control. Explore the key features of ONEMONITAR and see why it’s the trusted choice for Android device monitoring.
Share this infographic to spread the word about the ultimate mobile spy app!
Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios. Ansys Mechanical is a dynamic tool that has a complete range of analysis tools.
IN Dubai [WHATSAPP:Only (+971588192166**)] Abortion Pills For Sale In Dubai** UAE** Mifepristone and Misoprostol Tablets Available In Dubai** UAE
CONTACT DR. SINDY Whatsapp +971588192166* We Have Abortion Pills / Cytotec Tablets /Mifegest Kit Available in Dubai** Sharjah** Abudhabi** Ajman** Alain** Fujairah** Ras Al Khaimah** Umm Al Quwain** UAE** Buy cytotec in Dubai +971588192166* '''Abortion Pills near me DUBAI | ABU DHABI|UAE. Price of Misoprostol** Cytotec” +971588192166* ' Dr.SINDY ''BUY ABORTION PILLS MIFEGEST KIT** MISOPROSTOL** CYTOTEC PILLS IN DUBAI** ABU DHABI**UAE'' Contact me now via What's App… abortion pills in dubai Mtp-Kit Prices
abortion pills available in dubai/abortion pills for sale in dubai/abortion pills in uae/cytotec dubai/abortion pills in abu dhabi/abortion pills available in abu dhabi/abortion tablets in uae
… abortion Pills Cytotec also available Oman Qatar Doha Saudi Arabia Bahrain Above all** Cytotec Abortion Pills are Available In Dubai / UAE** you will be very happy to do abortion in Dubai we are providing cytotec 200mg abortion pills in Dubai** UAE. Medication abortion offers an alternative to Surgical Abortion for women in the early weeks of pregnancy. We only offer abortion pills from 1 week-6 Months. We then advise you to use surgery if it's beyond 6 months. Our Abu Dhabi** Ajman** Al Ain** Dubai** Fujairah** Ras Al Khaimah (RAK)** Sharjah** Umm Al Quwain (UAQ) United Arab Emirates Abortion Clinic provides the safest and most advanced techniques for providing non-surgical** medical and surgical abortion methods for early through late second trimester** including the Abortion By Pill Procedure (RU 486** Mifeprex** Mifepristone** early options French Abortion Pill)** Tamoxifen** Methotrexate and Cytotec (Misoprostol). The Abu Dhabi** United Arab Emirates Abortion Clinic performs Same Day Abortion Procedure using medications that are taken on the first day of the office visit and will cause the abortion to occur generally within 4 to 6 hours (as early as 30 minutes) for patients who are 3 to 12 weeks pregnant. When Mifepristone and Misoprostol are used** 50% of patients complete in 4 to 6 hours; 75% to 80% in 12 hours; and 90% in 24 hours. We use a regimen that allows for completion without the need for surgery 99% of the time. All advanced second trimester and late term pregnancies at our Tampa clinic (17 to 24 weeks or greater) can be completed within 24 hours or less 99% of the time without the need for surgery. The procedure is completed with minimal to no complications. Our Women's Health Center located in Abu Dhabi** United Arab Emirates** uses the latest medications for medical abortions (RU-486** Mifeprex** Mifegyne** Mifepristone** early options French abortion pill)** Methotrexate and Cytotec (Misoprostol). The safety standards of our Abu Dhabi** United Arab Emirates Abortion Doctors remain unparalleled. They consistently maintain the lowest complication rates throughout the nation. Our
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdfonemonitarsoftware
WhatsApp Tracker Software is an effective tool for remotely tracking the target’s WhatsApp activities. It allows users to monitor their loved one’s online behavior to ensure appropriate interactions for responsive device use.
Download this PPTX file and share this information to others.
A captivating AI chatbot PowerPoint presentation is made with a striking backdrop in order to attract a wider audience. Select this template featuring several AI chatbot visuals to boost audience engagement and spontaneity. With the aid of this multi-colored template, you may make a compelling presentation and get extra bonuses. To easily elucidate your ideas, choose a typeface with vibrant colors. You can include your data regarding utilizing the chatbot methodology to the remaining half of the template.
A Comparative Analysis of Functional and Non-Functional Testing.pdfkalichargn70th171
A robust software testing strategy encompassing functional and non-functional testing is fundamental for development teams. These twin pillars are essential for ensuring the success of your applications. But why are they so critical?
Functional testing rigorously examines the application's processes against predefined requirements, ensuring they align seamlessly. Conversely, non-functional testing evaluates performance and reliability under load, enhancing the end-user experience.
In this talk, we will explore strategies to optimize the success rate of storing and retaining new information. We will discuss scientifically proven ideal learning intervals and content structures. Additionally, we will examine how to create an environment that improves our focus while you remain in the “flow”. Lastly we will also address the influence of AI on learning capabilities.
In the dynamic field of software development, this knowledge will empower you to accelerate your learning curve and support others in their learning journeys.
Software development... for all? (keynote at ICSOFT'2024)miso_uam
Our world runs on software. It governs all major aspects of our life. It is an enabler for research and innovation, and is critical for business competitivity. Traditional software engineering techniques have achieved high effectiveness, but still may fall short on delivering software at the accelerated pace and with the increasing quality that future scenarios will require.
To attack this issue, some software paradigms raise the automation of software development via higher levels of abstraction through domain-specific languages (e.g., in model-driven engineering) and empowering non-professional developers with the possibility to build their own software (e.g., in low-code development approaches). In a software-demanding world, this is an attractive possibility, and perhaps -- paraphrasing Andy Warhol -- "in the future, everyone will be a developer for 15 minutes". However, to make this possible, methods are required to tweak languages to their context of use (crucial given the diversity of backgrounds and purposes), and the assistance to developers throughout the development process (especially critical for non-professionals).
In this keynote talk at ICSOFT'2024 I presented enabling techniques for this vision, supporting the creation of families of domain-specific languages, their adaptation to the usage context; and the augmentation of low-code environments with assistants and recommender systems to guide developers (professional or not) in the development process.
Cultural Shifts: Embracing DevOps for Organizational TransformationMindfire Solution
Mindfire Solutions specializes in DevOps services, facilitating digital transformation through streamlined software development and operational efficiency. Their expertise enhances collaboration, accelerates delivery cycles, and ensures scalability using cloud-native technologies. Mindfire Solutions empowers businesses to innovate rapidly and maintain competitive advantage in dynamic market landscapes.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.bhatinidhi2001
CViewSurvey is a SaaS-based Web & Mobile application that provides digital transformation to traditional paper surveys and feedback for customer & employee experience, field & market research that helps you evaluate your customer's as well as employee's loyalty.
With our unique C.A.A.G. Collect, Analysis, Act & Grow approach; business & industry’s can create customized surveys on web, publish on app to collect unlimited response & review AI backed real-time data analytics on mobile & tablets anytime, anywhere. Data collected when offline is securely stored in the device, which syncs to the cloud server when connected to any network.
Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.
React Native vs Flutter - SSTech SystemSSTech System
Your project needs and long-term objectives will ultimately choose which of React Native and Flutter to use. For applications using JavaScript and current web technologies in particular, React Native is a mature and trustworthy choice. For projects that value performance and customizability across many platforms, Flutter, on the other hand, provides outstanding performance and a unified UI development experience.
2. OPENVALUE
GROUP
Group of companies 100% specialized in Java Development.
Organized in autonomous teams with offices in Utrecht, Amsterdam,
Rotterdam, Munich, Düsseldorf and Vienna.
Actively contributing to the international Java ecosystem through
workshops, tech talks, training courses etc.
3. Speaker
• Roy Wasse
• Co Founder OpenValue
• Former JUG leader (2013-2021)
• Former Code Motion PC lead (2018-2021)
roywasse
https://www.linkedin.com/in/roywasse/
Img source: https://www.redbubble.com/i/laptop-case/I-Love-Software-Engineering-by-staker/23699211.2U5KG
4. The art of software
development…
• So many languages, tools,
frameworks
• How to organize a modern team?
• How to make maintainable and
adaptable software?
• Cost effective?
Img source: https://redmonk.com/sogrady/2021/08/05/language-rankings-6-21/
9. How to choose a language?
• Adoption in the market, availabilty of devs
• Type of application? Back end or Front end
• License structure? Open Source
• Development community and support (security)
• Rest of the application landscape? Maybe limit amount of
tech
• Migration path from current solution
10. Low Code trend
• Model Driven Development
• Low code
• Mendix
• 4th Generation
• Uniface
• No Code
• Will they ever live up te
expectation?
11. Will it live up?
• Data modelling, processes,
customization, integration
Myth 1: You don’t
need professional
developers
• Surely you can do
microservices
Myth 2: Low-code
Apps don’t scale
• The actual coding is not on
the critical path
Myth 3 – Low-code
platforms accelerate
development speed
source: https://www.comakeit.com/blog/common-myths-low-code-platforms/
14. Every pattern
keeps coming
back
• Every architecture choice has it’s
trade offs
• Central vs Distributed
• New & better technology,
protocols, design approaches,
frameworks and environments
cause to
19. Comeback of the monolith
• Modern development with
• Proper CI/CD pipelines
• Automated tests
• Code review
• Security checks
• Domain Driven Design
• ..
• Helps prevent forming messy architecture and code
• So only build a distributed system when/where it makes sense!
27. Common
sense scaling
• Ideally you have just one team!
• Remember: large projects tend to fail
• Platform teams, feature teams, components
teams, front end teams, back end teams
• Spotify approach: bring domain together
• Share a common backlog
29. Scaling Agile
• Don’t scale!
• SaFe
• DaD
• Spotify
• Adding capacity late doesn’t increase delivery speed
• Adding additional developers > 7 teams results in diminishing speed
gains
31. Post Agile
• Scrum doesn’t make sense in DevOps
• Proper CI/CD enables methodology
• API oriented approach using REST/GraphQL makes dependencies softer
• Domain organized teams including business
• Docker & Cloud make scaling so much easier
34. Layout of a modern team
Site Reliabilty
egineer
QA engineer
Security
specialist
Cloud
engineer
Front end
developer
Back end
developer
Product
owner
Information
Analyst
35. Site reliability engineering
• "SRE is what happens when you ask a software engineer to
design an operations team.” - Ben Treynor Sloss, VP of
engineering at Google
• Automate the provisioning, monitoring and maintenance of
infrastructure
• Tightly coupled with (successful) DevOps
• SRE wants to meet SLA requirements by using downtime left
in SLA as error budget in which improvements can be brought
to production.
• An SRE
• Knows how to code
• Understands (cloud) infrastructure
• Should spend <50% time doing manual work and >50
automating
Since I’m running a Java shop it’s easy for me to tell what the best language is! But let’s do a little quiz! What language do you think it the most popular nowadays? Java, C#, PHP, Javascript, Python, Kotlin?
Type in your answer and I’ll try to see what you think.
Redmonk is a UK based independent analyst firm that gives internationally highly regarded data driven reports about software development trends. Every year they publish a ranking of the most popular languages
To be included in this analysis, a language must be observable within both GitHub and Stack Overflow. It shows the amount of language discussion and pull requests in the certain period. Not a metric of adoption perse. And I would say certainly not for the Enterprise Software engineering market. Then I would certainly not expect Ruby and Kotlin, Swift and Go should be in there. Kotlin is now 18th, Go 16th and Zwift 11th.
Missing
11. Swift
12. R
13. Objective-C
14. Shell
14. Scala
16. Go
17. PowerShell
18. Kotlin
Also interesting to show is that over the past 10 years the top 4 has been the same, typescript is the newcomer and Ruby and Objective C are loosing ground
TIOBE is specialized in assessing and tracking the quality of software. We measure the quality of a software system by applying widely accepted software metrics to it. TIOBE checks more than 1056 million lines of software code for its customers each day.
TIOBe They have another way of defining what a popular language is. By looking at the job ads. We basically see the same languages here as we saw in the redmonk ranking
So now that we’ve discussed all that. And tomorrow you’re starting a greenfield project.. What are you going to choose? You can basically build anythin with any language as long as it’s so called turing complete. Bert Jan is currently doing a project at a client of ours called Planon which is market leader globally in Asset managent and the first version of their software was build in Basic, which you might know from the home computers in the 80’s.
Anyway, I think the first thing to ask yourself is what characteristics do you need. Performace, scalability, development speed? And where does the code run? At the client on the front end or on the backend using cloud services.
I guess what’s kind a missing in these programming rankings is the fact that there’s also a trend in the adoption of low code technologies. Surely they been around for many years and known under many different names.
With low code the promise is that an enterprise requires no or limited input from devs for years, but they have never been really succesful. Although it has been used a lot.
https://www.comakeit.com/blog/common-myths-low-code-platforms/
Learning curve to become developer in Low Code less steep
But will platforms be around 10 years from now? And capacity in the market
While widget and ready to use connectors speed up the process, Java and .Net also have ready to use components
And what if the widgets don’t actually offer the integration are performace needed, refactoring can take up a lot of time
And don’t forget most low code platform do require you to pay license costs for using the platform. Not the case with Python, Java or Javascript
Very cool that Dutch based Mendix and Outsystems are doing really well according to Gartner in this space
Architecture matters. That’s what the dinosaur of Software Architecture Martin Fowler says. Choosing the right architecture can make or break a companies succes. We want our are architeture to enable building software that meets the business goals in an efficient and effective way. But also adaptable and maintainble. There’s a lot of patterns and anti patterns to apply in order to be succesful in this endeavor.
First of all let me start by sayingthat there;s not a lot of strong research I’m aware of that gives strong insight in the success and failure of certain architectural approaches. But since I’ve been around in the industry long enough I do think that I know where general consensus in the field lies and where we might be going.
In the old days we used to build software that run on a physical server and we tried to code in a clean way by applying for instance proper object oriented principles.Of course also with a separation of the data layers, the business logic and the presentation layer. The three tier approach. But as pressure on projects grew, team members changed and the purpose of the application shifted this applications grew in lines of code and also tended to get like spagehtti code. I guess you’ve all heard about that. These types of applications we’re called monoltihs and often runned core processes and we’re hard to adapt and to maintain.
Of course we tried to prevent applications from becoming these monolith where every class and function indirectly or directly depends on another one, but it turned out that discipline wasn’t enough. SOA was an attempt to come up with an architectural pattern to prevent this. If a program wanted to communicate with another application, it was required to communicate with a so called BUS. This bus was the central broker of data and information between connected applications. So one single place were the dependencies between applications and functions we’re managed. While this definitly works, it also was the case in many instances that these SOA’s formatted data for specific clients, resulting in the fact that an application could really change their internal data structure or functions, without also adapting the SOA bus and also the application that got there data from the bus. Basically not solving the spaghetti problem.
Around 20xx the Microservice pattern was introduced.
Picture from https://fabisiakradoslaw.medium.com/microservices-architecture-tutorial-for-beginners-921f19370323
https://medium.com/unbabel/your-distributed-monoliths-are-secretly-plotting-against-you-4c1b20324a31
But if you’re not carefull, and taking shortcuts, and every server is calling many other services… You still cannot change a single line of code without affecting the rest of the system.
You then have a monolith with added network overhead
Complexity
The biggest disadvantage of microservices lies in their complexity. Splitting an application into independent microservices entails more artifacts to manage. This type of architecture requires careful planning, enormous effort, team resources, and skills. The reasons for high complexity are the following:
Increased demand for automation, as every service should be tested and monitored
Available tools don’t work with service dependencies
Data consistency and transaction management becomes harder as each service has a database
Every technology, pattern and architectural approach keeps coming back, if you’re long enough in the business. Functional programming is already a nice example, but how about monoliths.
Many organization are limited in their ability to repond to change, because they have an application at the heart of their process that has been build out over the years and is not in good shape. It has undergone many quick fixes, lacks automated tests, is working on old version of libraries and components and many people how worked on it with different programming styles. Of course it’s easy to imagine that it’s hard to even maintain these application that are often referred to as monolith are big balls of mud. Understandable how they got formed, and I’m sure you’ve all had to work with them. In many ways the microservices approach was an apporach to deal with this. The idea is that microservices are built as independent functions that do just on thing and are apporachable in a standard way, usually as REST of nowadays a GraphQL API.
No network overhead.
Docker became popular around 2015. It enabled deveopers to package there application in a so called container. This container could be moved to another environment without requiring specific installation instruction and configuration. It was really great and speeded up the DTAP process by a magnitude. Not much later Kuberentes became the defacto cotainermanagement platform. These platform abstract away the opering system and even better, it can automatticaly spin up additional containers running certain services if the load is really high. Running a kuberneter platform of cluster does require specific knowledge and can be easily taken from a cloud service.
Docker
Kubernetes
Changed DTAP
https://www.forbes.com/sites/louiscolumbus/2016/03/13/roundup-of-cloud-computing-forecasts-and-market-estimates-2016/
5. 94% of enterprises use the cloud.
(Source: Flexera)
According to Right Scale’s annual State of the Cloud Report for 2019, 91% of businesses used public cloud and 72% used a private one. Most enterprises actually utilize both options – with 69% of them opting for a hybrid cloud solution.
Cloud adoption trends suggest there’s an advantage to using both public and private cloud solutions as this gives more flexibility and a variety of options. Just 22% use the public cloud exclusively, and only 3% use a private one exclusively.
https://in.pinterest.com/pin/672866000551169449/
It actually matters a lot
Data costs vs cost for persistence (saving data). Speed of reading for speed of saving, which regions you want to work globally.
(tell Pon anecdote about regions)
How are we actually doing in software development
I colledted all the data from Standish reports from 1994 till 2022 and created the chart you see here.
The standish group
The 50000 project profiles in the last 5 years
Size project zorgt voor meer succes
Maturity
Agile
the most recent Standish Group Chaos Study from 2020 shows that Agile Projects are 3X more likely to succeed than Waterfall projects. And Waterfall projects are 2X more likely to fa
Whatsapp has been made by just a small team of less then 20 people when it was used globally already
No matter how you scale, you will loose efficiency and create extra overhead and coordination
Trick is to limit shared dependencies between teams, don’t let team A wait for team B
Who knows what we’re looking at here?
https://www.scrum.org/resources/scaling-scrum
Nex is a whole lot simpler compared to SaFe, which I like a lot already. It focusses on the core issue of why it is hard to build software in multiple teams together. The underlying dependencies. By having an integration team prepare an overall backlog of items that can be picked by different teams in a way that dependencies are clear or avoded upfront it aims to reduce these dependencies.
Cornerstone of scrum is we don’t accept change during the sprint, and a sprint is a fixed timeframe aka timeboxes. On this basis the team commits to finishing the sprint backlog. This doesn’t make sense if you also apply the mantra if Werner Vogels: “You build it, you run it” which fueled the DevOps movement . Who know which year he said those words? Let me surprise you: in 2006 in an interview.
Well if you run it, you need to take care of monitoring and production issues, which mean you cannot commit on finishing a backlog for the next sprint, that would not be fair.
Another idea of Scrum is we deliver working software at the end of the sprint. A modern team is of course past that already. Software should be release as soon as it’s ready by applying proper Continuous Delivery practices. If a developer is ready with his story, he should be able to set it live immediately. A few years ago not many organizations were able to do so, now most of our clients are. I do think that this also requires that infrastructure is available for teams and rolled out automatically.
If you reach that point, I would claim that you are agile enough.
The goal is of course not being agile, but being able to respond to change and develop in a predictable way high quality software that does what the business want.
So maybe stop with the agile coaches and scrum masters and focus on perfecting your CI/CD and make sure your could / kubernetes / docker infrastructure. And use what works for your team without adopting a specific framework or methodology
Picture http://trinityrfc.com/the-end-of-an-era-kit-sale/
https://www.visual-paradigm.com/scrum/feature-team-vs-component-team-in-agile/
A component team is an Agile Team whose primary area of concern is focused on a specific component, or set of components, of the system. They leverage their technical skills and interest and focus on building robust components that provide for reliability, separation of concerns, foster re-use, and improve testability.
Teams spend much of their time discussing dependencies between teams and testing behavior across components rather than being able to deliver end-user value.A feature Team approach is now almost universally accepted way for organizing their teams, as opposed to the technology stack team, especially, in the continuous delivery approach, it emphasizes features (i.e. a vertical slice of system) that solve user needs which can typically accelerate value delivery of any features or working software and shorten the feedback loop from the real users. A feature team would have all the skills to perform the necessary task-level work to get the job done. In particular, assuming a three-tier architecture, team members would work on tasks related to the GUI, middle-tier, and database parts of this story.As suggested by Craig Larman (the author of LeSS Framework). “a feature team is a long-lived, cross-functional team that completes many end-to-end customer features, one by one.. advantages include increased value throughput, increased learning, simplified planning, reduced waste…”
SRE works with an error budget
SRE is platform team??
Mob programming (CodeWith Me)
Zero t4rust no longer trust the boundary of your network
I must reference here the Tech Radar of Thoughtworks, where all kinds of practices and tools are being assessed every your
Google Cloud’s DevOps Research and Assessment (DORA) team has conducted a seven-year research program. This research has validated a number of technical, process, measurement, and cultural capabilities that drive higher software delivery and organizational performance.
https://www.devops-research.com/quickcheck.html
change lead time, deployment frequency, mean time to restore (MTTR) and change fail percentage
Change lead, how long does it take to go from code committed to code successfully running in production