Azure Xamarin Software Architecture Solution Architecture Appium DevOps Azure DevOps Soft Skills Keynotes
Zutphen, Gelderland, Netherlands
Marcel is the co-founder and CTO of Xpirit, a high-end consulting firm based in Hilversum, Netherlands. Marcel co-founded Xpirit in 2014 as a spin-off from Xebia Netherlands. Together with Xebia, they help customers with Digital Transformation, Agile Consulting, and Cloud-Native Software development with both Microsoft and open source products. Marcel spends most of his time exploring how new and emerging technologies, a shift in mindset, and a new way of work, can help organizations produce software faster. Helping organizations transform towards a high-speed, innovative, and productive organization has become his passion. Marcel loves to learn new technologies and teach others what he has learned. Besides his work as CTO of Xpirit, he also fulfills interim CTO roles at companies that want to transform. Marcel has specialized himself in the field of organizational leadership, Application Lifecycle Management, Continuous Delivery, DevOps, Cloud/Web-scale application architectures. Marcel is a frequent speaker at leading industry conferences. He has delivered sessions at events like Microsoft Ignite, Microsoft //Build, NDC, Microsoft TechDays, Visual Studio Live!, Devintersection, and Techorama to name a few. In his spare time, he also builds online courses for Pluralsight. Marcel has been awarded by Microsoft the Microsoft ALM MVP award for more than 15 consecutive years and he is a Microsoft Regional Director since 2008. You can always contact him to talk on topics like Leadership, DevOps, ALM, Cloud Computing, Microservices, Docker, IaaS, PaaS, SaaS.
This workshop focuses on the Code to Cloud journey. The journey includes the integration with Azure Boards, working with GitHub Codespaces, the GitHub Flow, and the GitHub Container Registry. Students will learn to use docker and docker-compose and deploy their solution to an Azure Web App using GitHub Actions, and Azure DevOps pipelines.
To make it challenging for the students, the workshop contains challenges that can also be done individually. To make sure students do not get stuck, there are scripts available with instructions to "automatically" fix a challenge, so students can continue. The workshop also contains extensive Step-By-Step videos and written instructions. There are also videos that explain the concepts that are used in the exercises.
We will cover the following modules:
Module 1: improving the Developer Workflow
In this module your students will learn to:
• Create a backlog of work with Azure Boards and relate that to your code
• Use Docker to containerize your code, to enable a consistent environment
• Use the GitHub workflow to work together on the same codebase
• Use Pull Requests to improve the quality of your code
• Set up a Continuous Integration build to quickly get feedback
• Use GitHub Security scanning tools to shift left security issues
• Use Docker Compose to create an environment that consists of multiple components
Module 2 - Moving to the Cloud
In this module your students will learn to:
• Use Infrastructure as Code to set up idempotent infrastructure in the cloud
• Set up a resource group in Azure and assign permissions
• Set up a CosmosDB via automation scripts
• Set up an Azure Web App that runs a multi-container application via automation scripts
• Set up a pipeline that deploys the infrastructure on demand
Module 3 - Closing the Feedback Loop
In this module your students will learn to:
• Implement Application Insights in the application
• Monitor the containers and the platform
• Implement Continuous Delivery in GitHub Actions
• Set up a CI/CD pipeline with Azure DevOps to automatically deploy containers
• Set up a manual and automatic approval gate in the release pipeline, to control the release of new versions
You might have heard of DAPR a microservices application framework. In this session, I will give you insights into what DAPR is, why you would like to use it and why it is smart to keep an eye on this technology and start applying it in your solutions now.
It can be useful to deploy your Microservices using containers and run them on a Kubernetes cluster that runs in Azure as a managed PaaS service (better known as AKS). In this session, you’ll learn to deploy your Microservices using containers and run them on a Microsoft Azure Kubernetes Services provided Kubernetes cluster.
First, we explore why we want to use containers to deploy microservices and run them on a Kubernetes cluster. Next, we discover what a Kubernetes cluster offers and how to set it up in the Azure cloud. Then, we will automate the deployments to minimize downtime and outages. When you’re finished with this course, you’ll have the skills and knowledge of containers, Kubernetes, and deployment automation with Azure DevOps or GitHub needed to deploy ASP.NET microservices to a Kubernetes infrastructure available in the Azure Cloud as AKS.
In this workshop, we will take you from start to finish if it comes to building a Software As A Service solution based on a microservices architecture in a cloud-native way. In this workshop we start with the foundation for success and that is designing the microservices architecture. How do you define service boundaries, what are smells of wrong boundaries and how do you replicate data in a system that is inherently eventually consistent?
Next, we show you how you can translate a microservices design into actual services that you then can run in the Azure Cloud. We will go through the creation of the services, the containerization of these services and the trade-offs when to use containerization or e.g. an alternative delivery using serverless infrastructure like azure functions.
Once we have our initial set of microservices up and running, the next step is to deliver new features in a cloud-native way. This means we run a 24x7 operation and we take a DevOps and SRE approach to the delivery of the software to production. We then look at the development process, how we automate everything and how we are able to deploy new features also when they involve database schema changes.
At the end of this workshop, you have combined many things that you could see in individual sessions throughout the conference, but here we combine them all and make all pieces of the puzzle fit into place. You now know how to build and deliver a world-class SaaS solution on the Azure Cloud.
What you will learn:
Implementing microservices with ASP.NET core and DAPR
Containerization of the solution and deployment to Azure Kubernetes services
Continuous Delivery of a SaaS solution in a cloud-native way
SRE practices to ensure we meet our SLO’s
What is the future of IT? That is a fascinating question to ask,
but extremely hard to answer. Confucius said: “you need to
study the past to define the future.” So let's ask ourselves the
question first, what has changed our industry in the past
decades? To simplify things, let us take the perspective of
writing software and see what has changed. As Marc Andreessen
described in his article in The Wall Street Journal in 2011:
“Software is eating the world,” and by looking at software,
we might be able to see what is changing the most and see what
lies ahead of us. Nowadays, software is everywhere. It is not only
at the places you expect it, like your laptop computer or your iPad, but it is in our cars, our refrigerators, the toys we buy for our kids, our home, our washing machine and, it sounds scary, even in your toilet in the future. So software is everywhere. But how do we build software? Has that changed significantly?
Once upon a time, our industry was based upon innovation and renewal. Where brave developer knights built upon the ideas and dreams of others. But as it goes in every tale, we were struck by a curse. The curse of stubbornness... in this session, I will take a look at the history of our industry and how we have evolved in the field of software development. I show based on historic examples where we as an industry could have been and where we have chosen to be the knights of Not Invented Here making us build software over and over again while we could have advanced instead. This lightweight talk gives a perspective on our profession and hopefully will make you think twice next time when you think you need to build something yourself instead of looking at what is already out there and build on the shoulder of giants instead.
In this 1 day workshop we give you the opportunity to be a true DevOps engineer for a day! The theme of the day is:
"You build it, you run it"
During the day you and your team will be responsible to keep a webshop up and running. Of course, this will not be easy. In a gamified simulation you will face a number of challenges that will disrupt your site. You will work together to first detect the disruption on the web shop we provisioned for you. Next you respond with a quick fix to get your shop up and running again. After that you need to take the time to figure out a permanent solution to automatically recover or prevent the disruption from happening in the first place.
You will be provided with a fully provisioned infrastructure in Azure, operation pipelines in Azure DevOps and a functional application. This way you can focus on the real work !
You should come prepared with a laptop but most importantly curiosity and a mindset to learn and improve. We'll apply tool agnostic practices so regardless whether you develop in c#, deploy with Jenkins or operate with Kubernetes this will be a great day to get into DevOps and SRE.
Isn't it great that we have so many cores in our computers today? But how can you as a software developer maximize the benefits from this phenomenon? In this session, I will take you on a tourney through .NET and the patterns you can apply in your software and the tools you have at your disposal to maximize the utilization of all your CPU cores and make your software perform the best possible way.
One of the most common challenges, when organizations move to the cloud, is getting an answer on how to do this in a secure and compliant way. This involves ensuring you set up your azure landing zones in such a way that you enable teams to deliver their solutions secure and compliant by default.
The cloud requires a completely different security model than what we are used to in the on-prem world. One important concept here is ensuring we build our cloud using a zero-trust model.
If it comes to compliance, there are many things to discuss. What does it mean to be compliant? In my work as a CTO, this is often covered by smoke curtains and vague use of terminology. But what are the fundamental concepts behind compliance and how do you achieve this in such a way you can still ensure maximum performance of your teams in delivery? This involved a high degree of automation and empowerment of your teams.
I will share what we learned over the years ensuring secure and compliant delivery for our customers. Many of those customers work in highly regulated environments like government, banks, and pharma.
Session Description: During this session, you'll have a look at how to realize a Micro services architecture (MSA) using the latest Microsoft technologies available. You'll discuss some fundamental theories behind MSA and show you how this can be realized with Microsoft technologies such as Azure Container services and Service Fabric. This session is a real must-see for any developer that wants to stay ahead of the curve in modern architectures
You build it, you run it!” It is a great DevOps tagline, but how can you make this work in practice?
In order to “run” the software you need to have insights in how your application is doing in production.
You need insights into the performance, usage, infrastructure utilization and new releases that are deployed and their impact.
In this session I will provide you with practical architectural principles that will help you:
Separate deployment from release so you can deliver your software any time you want, without downtime
Get telemetry and insights on product usage, Performance and infrastructure utilization.
In DevOps you also strive for autonomy. You just don’t want dependencies on other teams. How do you design your system to be independent of other system, while still integrating?
I will talk about: how to gather telemetry and performance data, deployment techniques, development techniques that prevent downtime.
After this talk, you will have new insights how to build a system that you can build and run without losing sleep when you are on pager duty.
With Appium you can build UI tests for the most common operating systems, Windows, MAC OS, Android and iOS. In this session you get an introduction how use Appium to build UI test automation that will help you run tests on the user interface of your application. In this session I will use C# as the language to write the tests and will show you tricks how to write better maintainable tests.
The world around us is changing faster and faster. The only constant is change. But how well are we as humans with coping with change? Your mindset is a significant factor in you succeeding or failing in adopting change. What is your response to change? What is your response to failure? What is your response to others who succeed?
In this workshop Rene and Marcel will take you on a journey discovering your mindset. We will show you how you sometimes have a fixed mindset and when you have a growth mindset. What is the difference between these mindsets and why are they important for you to discover and when understood, change based on the situation so you can program yourself to be successful in adopting or even leading in change.
After this workshop you will know that the different mindsets are, how you can detect them and how you can influence your mindset so you can adapt better in an ever changing society.
How can I deploy my applications to Azure PaaS like Azure Web Apps and AKS without having any downtime? How can I automate this and how can I ensure my customers won't notice changes are happening, even when you need to update your database schema? In this session I will show you how to use Azure DevOps Build and Deployment pipelines to deliver your application to production many times a day while not interrupting your users.
During my career in IT, I always thought that being a consultant meant having to know everything, look smart, walking around in an expensive suit and write thick reports. And of course, charge a high hourly rate, after all, expensive smart looking consultants wearing tailor-made suits must be good, right?
When I started our new Consulting firm a couple of years ago, this scared the crap out of my team and me because a) we didn’t know everything and b) we were developers damn it, with our feet firmly on the ground.
It turns out, a mix of humbleness and a practical attitude made us way better consultants than we thought possible. In this session I will take you along on our journey, our learnings and our “rulebook” to become a great person, consultant, and coach. Based on a set of simple discoveries about your fears and how they drive you every day, I will learn you how to feel them and how you can address them in such a way that you are in constant dialog with yourself and your customer, colleague, spouse, etc. I will take you on our journey from apprentice to Jedi. No code, no demos, just sharing what we learned!
In this session I will take you along a journey where we have an existing legacy application that we will enable to be released multiple times a day.
I will teach you how to apply modern release techniques that enable you to move from long and tiresome release cycles to releasing multiple times a day. I will cover the fundamental concepts of DevOps that will enable multiple releases
a day. think of concepts like: Feature Toggles, Red/Green Deployments, Telemetry, Cloud technologies, deployment automation, etc. This session will learn you how
to release quality software any moment you want.
Today, many organizations actively move towards DevOps and continuous delivery. With increasing demands from customers and shareholders, time to market is more important than ever. One answer to the problem is containers and more specifically, Docker. Docker enables a simpler application architecture along with faster and more automated deployments.
In this Deep Dive you will learn how to use Docker in order to deliver solutions on the Windows platform. We will talk about how Containers and Docker work and how Visual Studio makes Docker simple to use throughout the entire development cycle. In addition, we’ll teach you how to implement a delivery pipeline using Visual Studio Team Services (VSTS) or Team Foundation Server (TFS) to deploy to any target platform. This includes both single Windows servers or multi machine clusters managed with cluster management software like Kubernetes or Service Fabric.
Feature toggles can help you running a 24x7 operation and implement continuous deployment. In this session we look at what feature toggles are, how can we use them to separate releases and deployments and how can we implement this in our software using existing frameworks
Continuous is a hot topic the past two years, but what are the implications if you choose to implement this in you company? Continuous delivery not only impacts the way you arrange the way you work together in an agile way, you also might to reconsider the way you have architected your systems. In order to enable your team to deliver features at high speed and high frequency means you need to carefully architect your system in such a way that you can easily change parts of the system without having downtime. In this session I will dive into some important architectural concepts that you might want to consider if you are building systems that support continuous delivery. Things I will cover are concepts like micro architectures, leveraging cloud solutions to slowly roll out changes cross scale units, design for failure and use of e.g. circuit breaker patterns and how you can provide real time information so you can see how the rollout of your change affects the product in production
You probably have heard of the term Docker and you might have heard that a lot of developers think it is the next big thing since sliced bread. In this session I will introduce you to what containers are, what Docker is, how you can run your existing application on Docker and explain why this has so many advantages. I will demystify terms like Docker for Windows, Docker on Windows, Docker Swarm, Container services, etc. After attending this session you have a full understanding on what container technology is, what Docker brings to the table and how it can revolutionize the way you do software development in the future!
Becoming a multi-platform mobile developer using just .NET seemed like a dream until recently. When Microsoft acquired Xamarin, they opened up a whole new world of native mobile app development with our beloved .NET framework. But building high quality apps on iOS, Android and Windows UWP isn't just that easy and may seem daunting. Let us guide you on your journey into mobile.
In this full day workshop, you'll walk through the process of building one app for many platforms. You'll learn how to reuse as much code as possible, while keeping the uniqueness of each platform to appeal to the native users. You'll also learn the details of each platform, the app concepts of each platform, because we think building quality apps requires understanding the platforms you're building for. You'll learn how you can architect your app in such a way to share code amongst these platforms and help you get much better ROI than building three separate native apps.
You are a (lead-)developer or architect who wants to design and implement a modern Microsoft based microservices architecture using Microsoft technologies.
You want to transition from a monolithic architecture to an architecture that consists out of small and independent services that you can scale independently on your different develop, test and production environments.
In this one day Workshop we will guide you through the concepts behind Micro Services, Containers and Containerized delivery to help you build and manage MSA based systems.
We will show how to build services and deploy them to different hosting environments like Azure ACS (with either Kubernetes, DC/OS or Swarm), Service fabric or on your own on premises container environment.
Topics that will be covered:
- Microservice architectures on a Microsoft Stack
- Containers & Docker on Windows
- Continuous delivery with VSTS of containerized applications
- Setting up ACS clusters with Kubernetes, DC/OS or Swarm
- Deploying to different environments including clusters
- Adding Telemetry to your system to find issues in the constellation of services
- Zero downtime deployments of new versions of your application, including the database!
How well do you test your application or Web site? Are you still testing your applications or sites manually and does that take a lot of time? Do you find it hard to create and maintain automated tests for your applications? Have you created automated tests but do you find them hard to maintain? This session will teach you how to build maintainable automated test suites using various technologies like Selenium or Appium and integrate it with Microsoft Azure DevOps to give you a holistic view of your current sprint in terms of test completion and coverage.
In this session you'll learn to build test suites in such a way that they are maintainable by default. This session will introduce the concepts like: Page Objects, DRY and DAMP tests.
The Architect holds a crucial position in many organizations. For the past few decades, this profession has been institutionalized so it provided value to the traditional IT organization. But the world is changing at a rapid pace and what is the implication of that change for you as an architect? What value do you still bring to the table? Agile and DevOps are rapidly changing the workplace, what is your role in this whirlwind of change? Traditionally the Architect held a role where they got to say how others should do their work. Take part in the Design Authority, change advisory board, etc. But with DevOps and the new formation of High-Performance Organizations, you can’t be telling others what to do if you are not part of the value creation process! In this session, I will give you a new fresh look at the profession of the Architect. The role you can play that adds value to the new organization and helps empower others so the organization can produce value at the speed of the business. I will show you how a change in mindset, skills, and trust you can unlock potential in others that you never held possible before.
The past years we have been involved in many so-called cloud transformation projects. Many of those projects had big issues, and we learned a ton of things how not to do the transition! Think about things that will cause problems like: A cloud Competence Center, A Cloud Platform team, Asking the operations team how to move to the cloud, etc. These are common mistakes made every day that prevent you from gaining traction and speed. You might succeed, but you will go through a lot of pain and suffering. In this session, I will share an approach that we build based on our mistakes and learnings that will help you move to the cloud at speed. I will share the organizational, human an cultural side of things, a strategy on how to onboard teams and how to avoid common mistakes that are even promoted as best practices by high paid cloud consultants! I will also cover some technical details like setting up subscriptions, permissions and tools in the right way, so it won’t hurt you after your 10th team is onboarding! This session is all about what we learned and how you can avoid these issues yourself.
A service mesh is an infrastructure layer that allows you to manage communication between your application's micro services. As more developers work with micro services, service meshes have evolved to make that work easier and more effective by consolidating common management and administrative tasks in a distributed setup.
In this session I will show you how you can set up a Service Mesh on Kubernetes and run a Micro Services application written in .NET and C#. You will discover how we can utilize the service mesh to have different deployment strategies and ways to secure your communication between micro services.
15 Nov 2021 - 19 Nov 2021
Orlando, Florida, United States
1 Mar 2020 - 6 Mar 2020
Las Vegas, Nevada, United States
12 Aug 2019 - 16 Aug 2019
Redmond, Washington, United States
17 Jul 2019 - 19 Jul 2019
Kansas City, Missouri, United States
6 May 2019 - 9 May 2019
Saint Paul, Minnesota, United States