Filter based on category or technology!
After working with dozens of companies on their DevOps journeys, I’ve noticed some common mistakes teams make, and some common advice I end up giving. I’ve distilled it down to 10 simple tips and practices that all teams can apply regardless of technology choice (VSTS/TFS, TeamCity, Jira, GitHub, etc).
If you’re already using messaging, or you have a good understanding of the fundamentals, its time to start looking at some of the more adventurous messaging patterns. These are the patterns that really start to enable your systems to do more.
I will show the saga pattern and a real world example that everyone can relate to; password resets. I will add the element of time to the problem space and show how you can easily expire a reset request. Another area I’ll talk about will be message flow. I’ll cover polymorphic dispatch, forwarding messages, auditing and why you care. Finally I’ll talk about messaging with large payloads.
When you work on a messaging system you’ll be able to identify areas of the business that are suited to more complex messaging patterns. You will also be able to create solutions that are elegant and effective which could be the first steps towards world domination…or your next project.
There has been a lot of activity with Angular over the last couple of years. As a developer, especially a web developer, the term/name Angular is not foreign to you. You have probably discussed it with other developers, you have read about it in developer trade publications, and you have probably written a sample “Hello Angular” application just to get a feel for Angular’s value proposition. Now you are ready to build a real application but you have some reservation on how to get started or if you have started, you are questioning if you are building your application correctly. In this session, we will explore using Angular to build the major features common to all modern web applications. This should give you a solid foundation for using Angular as an effective tool in your development toolbox.
Tired of patching servers in the cloud every month? Paying monthly bills for servers that sit idle for hours at a time? Cloud providers are now providing full stack serverless solutions that can allow you to free yourself from these constraints on your time and wallet. We will walk you through using Amazon Web Services tools to host a web site or process transactions without a server in sight. You'll learn the basics of creating a modern serverless application using AWS tools such as API Gateway, Lambda, and DyanamoDb.
Messaging is the backbone of the systems. Not all messaging systems are born the same. Some are less sophisticated, and some are more. Some are even so powerful that you get the thrills. Ah, so you have met the Azure Service Bus.
In this session, I would like to unleash the power of Azure Service Bus like you have never seen before. Moreover, share with you how to tame the beast and get one of the most advanced messaging services under your toolbelt.
You’ve heard of F#, maybe even have a few scripts you’ve written laying around. Awesome! Let’s take a little deeper look into all that F# has to offer. We’ll start with basics and move into some more specific features like active patterns. All of this will happen while we take full advantage of F#’s REPL and functional paradigms.
Originally created for storing digital currency accounts (Bitcoins), Blockchain is a combination of existing cryptographic algorithms to provide an immutable distributed transaction ledger. There are many organizations including Microsoft, IBM, J.P. Morgan, and even Disney participating in Blockchain projects to support enterprise-centric workloads. Organizations are re-architecting or re-envisioning legacy mission critical systems to use Blockchain deployed in the cloud. The total addressable market for technology vendors is estimated to be between $50b-$100b by 2026. This session will provide an introduction to blockchain architecture, information about the key players in the Blockchain ecosystem, and some real-world solutions powered by public and private Blockchains.
Artificial intelligence is rapidly becoming a central part of the technology we rely on today. From personal assistants like Cortana to home automation systems, we see the ways in which AI-centric solutions are all around us. Building compelling technology now requires an AI component that not many organizations have access to. Hiring AI experts is not always within the realm of possibility for startups and small businesses who are operating on tight deadlines with constrained resources. What are they to do? Join Lori in this session to discover how Microsoft is democratizing artificial intelligence, making it easier for everyone to incorporate AI into their solutions regardless of skill level, budget, or time constraints.
If you’ve ever looked into developing for Amazon Echo and were scared off by the complexity (AWS Lambda Functions? Certificates? Cloud Services?) and technical requirements (Java, Python, NodeJS… no C#?) then this is the session for you.
In this talk, I’ll walk through the process from Design to Development to Publishing, and we’ll do (the development) in Visual Studio, using C# and JSON.
We’ll cover voice interactions, hardware interactions, cloud services, certificates, deploying to Amazon, AWS Lambda, and also discuss controlling your home with voice commands via Alexa and a SmartThings hub.
Voice interaction requires anticipating how you (and your customers) think, and speak. This session will help you understand the Interaction Model and the Alexa Voice Service.
Clojure is a dynamic language that compiles to the JVM based on Lisp. Why is so great? No only inherits the simplicity and design principles of Lisp but also inherits traits of functional programming such as immutability, pure functions and simple concurrency.
Combined that with live feedback using a REPL, great community, robust set of tools and easy interoperability and the case for Clojure is even stronger.
But that is not all. Front end developers and backend developers can both use the same language, share simple design principles and the same code.
A great language, awesome libraries (React, etc) and full interoperability with JS. What’s not to like?
Join me on a session where we will learn a bit of Clojure and explore writing together an app in Clojure(script) that will show you why is so popular and why is such a compelling choice.
Continuous Delivery (CD) is important for a business to be sustainable. However, CD is not a discipline on it’s own (not yet), and the science behind it is rarely covered in schools.
The intended audience for this talk are engineers, architects and technical managers who are starting out to build Continuous Delivery Pipelines, or are seeking to improve ROI on their existing investments.
Every company aspires to sustainably flow their ideas into the hands of their customers, and reduce Time2Market. This talk goes into the heart of this burning topic and provides technical recipes that the audience can take away.
This talk will cover:
Continuous Integration is one of the Extreme Programming (XP) practices where developers commit and integrate frequently, triggering automated unit tests to detect issues early. Continuous Delivery is an extension to CI, where by teams utilize a delivery pipeline to ensure that those commits result in software that is releasable.
Concourse is an open source CI system that allows teams to implement a delivery pipeline that scales to the needs of their project. Concourse focuses on simplicity, flexibility and repeatable builds.
In this talk, you will learn about the key concepts behind Concourse and how to build your own delivery pipeline. You will also learn how the teams at Bold are using Concourse to automate the building, testing and deployment of their e-commerce applications.
Modern web applications built today typically consist of various technologies used to deliver the final solution. Over the last several of months, there have been significant new developments both in front-end frameworks for building single page applications as well as back-end frameworks designed for applications hosted in the cloud. In this session, we will explore using ASP.NET Core to host a Web API that provides services to an Angular (2+) single page application. As a developer, you will take away from this session a solid understanding of how to design a modern web application using these technologies.
Before development commences on your ASP.NET Core application, you need to decide where you will host it. Since ASP.NET Core apps can target many OSes and web servers, the decision should not be taken lightly. In this talk, you will see how different systems affect your deployment decisions. We will look at how to deploy your app on a variety of different environments (Windows, Linux, Mac, Azure, Docker) and hosting servers (IIS, IIS Express, Kestrel). By the end, you will have a better understanding of how to choose the right scenario for your application.
It used to be that we only needed to know what version of the .NET Framework we were using when developing our applications. But here in 2017, the .NET landscape has changed and things aren't as straightforward. If you're a .NET developer and have been wondering what all these new terms for .NET are about or are curious to learn more about where .NET is heading, this is the session for you!
You’ve toiled hard on your code, tested it locally, and you’re confident it’s ready to go. But how long until you see it in production? For some teams, it can be months or even years. By the time your new feature or bug fix gets used in anger, you’ve forgotten what you did! But with a great deployment pipeline and some clever architecture, there’s a better way.
This session is packed with war stories and real world successes. We’ll walk through the realities of a no-touch deployment pipeline that you can trust all the way to production, and we’ll examine some clever architectural patterns to enable true software agility. By the end, you’ll be convinced that if it’s not in production, it doesn’t count. If you struggle to get updates in the hands of users, this is the session for you.
Docker is a containerization tool which is taking the world by storm. Docker is great for doing development but it becomes a bunch more complicated when you need to run it in production. Kubernetes, Docker Swarm, Mesos, networking what’s a developer to do?
In this talk we’ll explore actually getting containers off your local machine and out somewhere where they can do some good.
Get started with the Swarm Mode, the orchestrator that’s built right into Docker! This session will explore the syntax and use of Docker Swarm Mode and Docker Compose. We’ll build a high level body of knowledge by breaking down simple examples, and then take it further by using those component pieces in a cloud-deployed solution. Along the way, we’ll review topics like infrastructure as code, declarative configuration, containers, application scaling, and upgrades. This talk is aimed at the developer who wants to get more involved with deployment platforms, and those that want to learn a new tool to change the way they think about serving solutions.
Let’s go through what it might look like to bootstrap a simple TypeScript project to write some data to MongoDB. Along the way, I’ll show some tools and offer insights into how the various ecosystems work together.
Technologies, concepts and libraries to be explored:
With any time left, I’ll show some more advanced concepts via an open source project I am working on. You’ll get to see docker being used for local development and to build and deploy to Azure from TravisCI via resource templates. Phew!
Most importantly, throughout the presentation I’ll gladly answer any questions on what I’m showing!
DevOps. So hot right now. So hot your managers have jumped on the buzzword bandwagon and have told you to “make it happen”, but also not to subvert the company change process. You can do that, right?
As tech professionals, we know you can’t just exchange cash for DevOps, but how can you convince the higher-ups? Particularly when upper management won’t let go of the perceived safety of a slow-moving product delivery cycle.
This session looks at the realities of implementing DevOps in an organisation that is resistant to change. We’ll discuss the levels of technical and cultural change that you absolutely need, the barriers that commonly get in the way, and some techniques to get around them. Expect subtle and possibly even underhanded tips to get things moving in an environment that just wants to use the word “DevOps” without making the necessary changes.
In our industry there's always a long list of new trendy technologies to learn about. I'll tell you about the few that have me the most excited, and why you should be paying attention. Some examples: Chat Bots, Containers, Machine Learning, Serverless Architecture, and more!
Wondering what Event Sourcing is? How is this approach different from the way we normally write applications? Is adding a message bus enough to call what you're doing Event Sourcing? Over the past several years I have developed an app leveraging Event Sourcing for the Master Bowlers Association Nationals, and have learned some of the associated pros and cons of seeing ES in action. Using this app as a case study, we're going to answer some questions about ES; What challenges can it solve; What challenges can it cause; What did I do well... and where did I go wrong.
This is the story about moving an app used by millions of people and highly reliant on a big relational database server into the cloud. How do you move such a big app? What happens when you want to put a massive relational database into the cloud? This talk will cover the problem we faced, the solution we designed, and the steps to implement moving our app into the cloud.
Organizations that are innovative with their data can reap the rewards. They can use data to improve their efficiency, increase revenues, understand their customer better, provide better service, and decrease costs. In this session Mike Diehl will show some of the design principles that should be used in business intelligence projects in order to realize the most business value. He will also discuss some of the use cases for advanced analytics like predictions, recommendations, and sentiment analysis. The examples will be shown using Microsoft Power BI Desktop.
Impostor Syndrome - when high achievers run headlong into self-doubt that can cripple forward progress. This talk approaches the issue scientifically and presents ways to deal with this phenomenon, eventually moving beyond it. What matters most is not whether we fear failing, looking foolish or not being enough; it’s whether we give those fears the power to keep us from taking the actions needed to achieve our goals and highest aspirations. In this session we will bring this sensitive subject to light by exploring:
Building an integration and workflow pipeline from the ground up is challenging, time consuming and costly, let alone having to scale it up to meet the demands of a global market. If you have a need to implement workflows, connect disparate systems, and integrate custom processes, then Azure Logic Apps is the answer! Join me in this session to see how you can quickly build a complex workflow using the Logic Apps visual designer, and how you can leverage any of its available connectors to integrate with popular enterprise, social media, and productivity platforms.
I've been learning and using Haskell to solve code katas for close to a year now. The language, the compiler, the libraries, the tooling, the ecosystem and the community all play big roles in why Haskell a great tool to work with.
Join me in a session where I will share a bit about my journey - I will kick the tires with the language, show some ways that Haskell elegantly solves problems, talk about how working with a *pure* programming language teaches you about all other software development and look at the tools I used along the way.
In this session, I will introduce you to Angular, from a .NET perspective (meaning, you are comfortable with .NET and C# but you have never done an Angular app before). I will show you how to take advantage of TypeScript, Visual Studio Code and the Angular CLI to create your next business client-side app with Angular using familiar concepts!
Somewhere, someone on the internet is saying "Messaging will solve all of your system's problems". They might be right. But for all you know, they could be wrong too.
I could take the time in this talk to introduce you to basic messaging patterns. That doesn’t address the bigger issues that most people who are getting started with messaging. Why should you care about messaging? What technical or business problem will it solve for you? How can you get started?
When you leave this session you will be the person who can stand up in the meeting and declare "Messaging will solve this for us....I think" to the bewilderment of everyone who is attending the HR yearly benefits update.
Changing a source control providers is not a decision to be taken lightly especially if you have years worth of code. But if your source control provider is making code review and continuous integration cumbersome, you should really think about taking the plunge.
At GasBuddy, we were hosting our own source control. Which also meant we needed to host (aka. maintain) our own continuous integration / continuous deployment solution. We don’t make CI tools so why were we spending so much time maintaining them? The answer: we had to. Our source control was the problem. We decided to move our application to Github, but the process wasn’t as simple as running a script. In this session I'll walk you through our experience.
There are many technical best practices when implementing a SharePoint environment or building a large solution. However something so often overlooked, passed off as unimportant or considered a passing thought, is the actual planning and preparation for the environment or solutions. In this session join David Drever as he uses his extensive knowledge and experience in implementing SharePoint solutions to help you plan and prepare for any significant SharePoint project.
Together you’ll discuss everything from whom to include in your planning sessions, to who should actually be doing the planning for you to how to engage your users at the end. David will constantly be digging into his tickle trunk of past experiences to provide real world examples illustrating the discussion. Don’t be concerned with the focus on a particular product. Since SharePoint is such a large platform the topics discussed in this session can easily be transferred and used in any project you will find yourself a part of in your career.
Building distributed system on Azure? Trying to solve communication problem between your services? Say no more. You have come to the right session.
I will show you how to get the best of the rock-solid .NET service bus with the Rolls-Royce of the messaging services on Azure. With this knowledge, you will be able to tackle not such trivial problems of system scale, distributed design, and advanced messaging as if you were a rocket scientist.
The Open Data portal (https://data.winnipeg.ca) houses all of the City of Winnipeg’s Open Data, and is a fantastic resource for developers looking to build apps or websites that use our free data for their projects. Join me for a tour of the tools available, from embeddable interactive visualizations all the way to deep API integration. The session will cover:
In this session, we take a giant step back and review the history of database access in .NET. Why do Object Relational Mappers exist? What problems are they trying to solve? What new problems did they create for us? What are these new fangled Micro-ORMs that everyone is talking about? Does your .NET application really need full power of Entity Framework or (shudder) nHibernate? Let’s take a look at micro ORMs like Dapper.NET and see how they can simplify your application.
Monolithic apps are out and RESTful services are in. However, in reality what we tend to do is write monolithic RESTful services. In this session the audience will be shown the benefits of discrete API design coupled with the flexibility and scaling afforded by using a Content Switch. In addition, you will learn how segments of your back-end can be leveraged by 3rd party SaaS offerings such as Zapier and MailChimp. If you are a developer who appreciates real-world information that you can apply immediately to your own application, you’ll find this session much to your liking.
Functional Programming is getting plenty of attention these days. You heard about F# (.NET), Clojure and Scala (JVM), Elixir, Elm, Lua and why not Haskell. No matter what is your language of choice, there is a functional language close to you that you could start playing with.
Doing small exercises is ok, but how to use it at work? What about real scenarios like querying a database, writing tests, using it with SPAs, writing HTTP APIs and reading and writing JSON? What is the difference in designing data abstractions in FP compared to OOP? How to use immutable data structures and still achieve great performance?
Join me in a session where together we will close the gap between theory and practice using real life examples of functional languages in business.
To paraphrase a popular 1970’s TV series: “We can rebuild it…we have the technology”. Everyone has heard the phrase uttered: “This codebase sucks, we need to rewrite it from scratch!”. In fact, you’ve probably said that exact phrase before. But is it ever really a good idea? Via real world examples, we will explore the topic and iterate the reasons why it’s almost always better to maintain and slowly refactor existing codebases as you go, rather than throw them away and start again from scratch.
Our industry is always changing, and it seems to change at an ever faster pace. What do you do when your skills become outdated? How do you decide what to learn next? The continual disarray can be confusing and frustrating. Some folks say software development is for the young, but perhaps that’s only because our industry is still in its infancy. Join our keynote speaker as he discusses how he’s managed his career, and relates stories and techniques you can use to take control of your career and make it sustainable through time.
We built Pollease: A poll plugin for Slack teams. We’ll show you the basics of Slack Integrations and how to get started using Python and Flask. We’ll also show you how simple it is to build a continuous deployment pipeline using Docker Cloud, GitHub and Digital Ocean. Join us pollease?
In this session we’ll discuss Pollease, a custom Slack Integration we built to bring polls and voting to Slack channels. We’ll cover the various ways to integrate with Slack and how to use them. This session also covers the server-side implementation of Pollease, a REST API built with Flask. No App is complete without a deployment pipeline, so we’ll teach you how to build your own using Docker Cloud. Interested in learning how to build Slack Integrations, continuously delivery from end-to-end, or code container-first? We’ll cover everything from development to production.
Making the right decisions for a mobile project can be a very involved process of trial and error before you find a good fit. Wouldn’t it be nice if you had a map? In this session we will compare frameworks and approaches based on the kind of mobile project you are doing, and walk through what the actual code looks like to accomplish basic tasks for each one. We will cover native, hybrid and mobile web approaches for enterprise-level solutions.
Segregation of Duties, or Separation of Duties (SoD), is often seen as a hindrance to implementing Continuous Delivery Pipelines in Enterprises. This session dives into the design and implementation aspects of how this can be addressed with Jenkins Pipelines, while releasing quality software frequently and predictably from Dev to Stage to Production. We will discuss in details:
We know that performance is a vital underpinning of the user experience. In our zeal to be first to market, however, we don’t recognize performance problems during development until they reveal themselves in production, often to the chagrin of product owners and stakeholders.
This talk is intended to arm developers and other technical professionals with knowledge that will help them to be proactive in addressing this difficult issue. In this session you’ll learn how to evoke in your colleagues genuine concern for performance by helping them identify your target audience and the infrastructure challenges they face, as well as how you can use this information to gather performance metrics that approximate how fast your site will be for them. Because a desire to be first to market leads us to use familiar time-saving libraries and frameworks, we’ll discuss how developer conveniences can transform into user experience liabilities, and how to critically evaluate what your project really needs. Finally, you’ll learn a few tips for improving performance for ailing sites already in production, such as bulk image optimization on the command line, resource hints, and more. If you care deeply about performance, you won’t want to miss this session.
Everybody wants to be secure online which usually means just one thing: SSL. Ever wonder how that Secure Socket Layer stuff actually works? In this session, we’ll dig into the nitty gritty of how public key cryptography works to keep your bank account secure and the FBI away from your door. We won’t cover how to generate an SSL key but rather about the Diffie-Hellman key exchange protocol, encryption, signing and symmetric vs asymmetric encryption.
Using images on the web seems easy, right? Slap 'em in tags, put 'em in background properties and it's gold! Right? Wrong! There's much more to mull over. You have to think about formats, exporting, sizes, optimization, and yada yada yada. In this session, we'll cover some must-know techniques and information about using images on the web, from realizing the truth about image quality to the foundation of basic image handling and exporting techniques, going further with optimizers (including automation!) and some of the miscellaneous bits and pieces you may not have even known about in this surprisingly deep topic. So show up for serenity now, or it could be insanity later.
TypeScript provides a great way to take advantage of the latest EcmaScript features while also supporting some of the things that have been available for years in server-side languages (C#, Java, …) such as interfaces, generics, type support and more. Angular is of course built using TypeScript and relies on these features behind the scenes. I m going to demonstrate all the benefits you get by adding TypeScript to your toolset for your front end apps, illustrated here in an Angular app.
Creating mobile and web apps that work on any device while keeping customers connected is essential. Development teams want to move quickly on new ideas without being bogged down by technology constraints. A fully managed Platform as a Service (PaaS) solution can accelerate development when crafting integrated web and mobile apps.
Microsoft Azure App Service is a new, fully managed Platform as a Service (PaaS), that combines the existing functionality of Azure Websites and Azure Mobile Services with the exciting new features of API Apps (SaaS APIs) and Logic Apps (SaaS apps).
In this talk, you will see how to create and manage web, mobile, and API backends that can be consumed by development teams. With lots of example code and a focus on minimizing costs, attendees will leave with a clear idea of how to architect enterprise-ready apps.
PHP isn’t the same language that it was 20, 10, or even 5 years ago. It continues to evolve as an open source project and borrows some of the best new ideas from other languages. If you haven’t looked at PHP in a few years you might not recognize it! Namespaces, SPL, Traits, Closures, Late Static Binding, Strong Password Hashing, Scalar Type Hints, Engine Exceptions and so much more has been added to the language in recent years. Not to mention the ecosystem having expanded greatly through the addition of Composer and PuPHPet. Plus with PHP 7 released there is even more to learn about! Come join us for a whirlwind tour of what PHP has become, and where it’s going.