5. 1. Maintaining existing applications
2. “Fixing” existing applications
3. Adding features to existing applications
4. Fixing the feature someone else added to
the existing applications
5. Building a new application (maybe … if
there’s time)
6. 1. Maintaining existing applications
2. Re-deploying new versions of existing applications
3. Troubleshooting issues from feature additions
to existing applications
4. Deploying a new application
7. 75.4% of total budget is spent on
maintenance
24.6% budget spent on innovation
9. Existing
Application
APP
Modern
Microservices
Add new services
or start peeling off
services from
monolithic code.
Modern
Methodologies
Implement
CI/CD
and automation.
Modern
Infrastructure
Move to the
cloud as VMs
or Containers
or refresh HW.
Containerize
Applications
Re-architect
apps for scale
with
containers.
14. Host OS with Container Support
App A
Binaries/Libraries
Server
Container
App B
Binaries/Libraries
Hypervisor
Guest OS
App A
Binaries/Libraries
Server
Guest OS
App B
Binaries/Libraries
VM
20. Infrastructure Control Developer Productivity
Open Source
Docker, DC/OS, Kubernetes
Container Service App Service
Single Container AppsMicroservices platform with
Windows and Linux Containers
Service Fabric
31. Cloud Infrastructure Application Innovation Big Data & Analytics
Enterprise Linux provider with infrastructure
management, middleware, SAP and container
offerings.
Enterprise Linux provider with strong presence
in HPC and SAP.
Infrastructure configuration and provisioning tools. Enables
management of both Widows and Linux infrastructure.
Container provider. Docker provides an additional layer of
abstraction and automation of OS level virtualization on
Windows and Linux.
Container application platform
that brings docker and Kubernetes
to the enterprise.
Contributor and commercial
provider for Cloud Foundry which
is an open source, multi cloud
application platform as a service
Providers of Apache Hadoop software,
support and services, and training to
business customers
Data platform provider, powered by the
open-source Apache Cassandra (NoSQL
database known for achieving continuous
uptime at scale for real-time operational
transactions).
35. What is it?
Infrastructure as a service (IaaS) provides virtual machines and associated network and
storage infrastructure as a service. Usually with a management and deployment
interface.
What its Good at?
1. Lift and shift of existing workloads.
2.Scaling to very large footprint relatively quickly.
3.Providing control over the underlying execution environment.
What its less good at?
1. Deployment typically slower than with other cloud hosting options- though
still much faster than on-prem.
2.Tends to have a higher management & patching overhead.
3.On demand & burst workloads.
36. Virtual Machines –Flexible cloud virtual machine hosting with support for Linux, Windows Server,
SQL Server, Oracle, IBM, and SAP.
Virtual Machine Scale Sets – Elastic VM offering designed to support scale out workloads by
deploying hundreds of identical virtual machines in minutes. Includes autoscale, simplified
networking, and support for easy updates at scale.
37. What is it?
A container is a lightweight, stand-alone, executable software package that includes
everything needed to run itself: code, runtime, system tools, system libraries, settings. It
is managed and deployed by a container orchestrator which lets you deploy and manage
multiple containers at scale across an environment.
What its good at?
1. Application portability with runtime isolation
2.Deployment and scale with increased compute density
3.DevOps on IaaS
What its less good at?
1. Multitenant security
2.Less sticky solution (e.g. easy for customers to move)
3.Orchestrator comes with mgmt. burden
Shared
Library.v2
Operating
System
Container 1 Container 2
Shared
Library.v2
Shared
Library.v1
38. Container Service – Container hosting environment optimized for Azure that lets you deploy, scale,
and orchestrate container-based applications using containers using Kubernetes, DC/OS or
Docker Swarm.
Container Instance – Easily run containers with a single command. No container orchestration tools
to learn—just an application, in a container, running in the cloud.
Container Registry – Store and manage container images across all types of Azure deployments
Web App for Containers – Deploy web applications on App Service using Linux containers.
Service Fabric – Develop microservices and orchestrate containers on Windows or Linux.
39. What is it?
Platform as a service (PaaS) is a complete development and deployment environment
in the cloud, that allows developers to build, run, and manage applications without
having to deploy, manage, or patch the associated hosting infrastructure.
What its Good at?
1. High productivity development & DevOps
2.Simple and fast deployment and scale
3.Eliminating infrastructure management and patching requirements
What its less good at?
1. Hosting apps that require significant OS customization
2.Running hyperscale workloads
3.Application portability
40. App Service – A PaaS Application platform for delivering modern enterprise apps across cloud, on-
prem, and mobile devices. Delivered as an integrated offering that includes features and capabilities
from a number of existing Azure services.
Service Fabric – Service running on top of Virtual Machine using Containers designed to deliver highly
available and durable services at cloud-scale. Enables automatic scale, rolling upgrades, and includes
SDK’s and API’s to help you build applications using microservices.
41. What is it?
Functions as a Service (FaaS) is an event-driven, ‘serverless’
compute solution. Workloads are instantiated and scale on demand
with customers paying only for the resources you consume what
they use using micro-billing.
What its Good at?
1. Event driven compute with ‘instant’ scale & microbilling
2.Bolting on ‘microservices’ to an existing app
3.Fast and easy integration with other services.
What its less good at?
1. Hosting long running workloads
2.Hosting memory intensive workloads
3.Cold start times for first execution
42. Azure Functions – Fully managed event driven compute platform with high reliability and security.
Quickly build applications that trigger and scale on demand and integrate easily with a variety of
services and devices.
Logic Apps – Quickly build powerful integration solutions that automate the access and use of data
across clouds without writing code.
Editor's Notes
For some time now, the buzzword on everybody’s lips when it comes to innovation has been Digital Transformation.
Do a web search, and you will find a plethora of quotes and citations about the need to change how business is done today by thought leaders, CEOs and assorted business gurus.
The common thread that runs through all of these quotes is that Digital Transformation isn't just for Silicon Valley companies or young startups anymore.
It's a way of life for organizations looking to survive in the next decade.
We’ve entered an app-driven economy in which the success of brands and organizations will be tied to how they embrace and make best use of custom applications to advance their business.
Organizations of all sizes across industries and verticals are adjusting and re-aligning their business around digital experiences because they have realized that the majority of interactions with customers, employees and partners going forward will be digital in nature – using apps and other digital channels to connect, interact with and delight the person on the other side.
As the business world moves into the digital space to meet the next generation of customers, employees and partners, create new efficiencies, and compete globally, organizations can’t view applications the same way as before – they have to take them to the next level.
We call this App Innovation.
DevOps is the union of people, process, and products to enable continuous delivery of value to end users.
The contraction of Dev and Ops refers to replacing silo’ed Development and Operations to create multidisciplinary teams that now work together with shared and efficient practices and tools.
Essential DevOps practices include CLICK
agile planning, CLICK
continuous integration, CLICK
continuous delivery, CLICK
and monitoring of applications.
CLICK DevOps becomes reality with powerful tools that help development teams move through the different phases of the DevOps lifecycle quickly and efficiently.
There are many powerful best-of-breed point solutions – both OSS and commercial – available today.
These tools cover individual DevOps tasks or entire phases, and teams choose and integrate their preferred tools in order to get an end-to-end toolchain that works for them.
CLICK Visual Studio Team Services (VSTS) is our Azure OSS DevOps solution and it is an easy and flexible offering.
It’s enterprise class, integrated from end to end, extensible, and works with other tools.
It ties everything together – program in any language, develop on any operating system, and deploy to any platform.
It’s best with Azure, but it integrates with other cloud providers, giving users the flexibility to explore and gradually move to Azure.
We do not ask you to stop promoting your favorite OSS DevOps tools – quite the opposite, we want your customers move the tools they are using to Azure.
However, we do want you to keep in mind that VSTS is a great integration platform that can work with your OSS tool of choice and also brings additional value if you include it as part of an existing OSS DevOps setup.
How? Let’s take Jenkins as an example.
Jenkins is a great tool and best-of-breed OSS solution. Jenkins runs on Azure, in fact you can provision a fully functional Jenkins instance in just a few minutes from the Azure portal. That’s a great start and will create some consumption.
But Jenkins also has some drawbacks from past experience:
Managing Jenkins infrastructure can be cumbersome. It requires a master/slave relationship between all build nodes. As a team grows, they will require more builds which in turns requires more build nodes. From an infrastructure perspective, you need a dedicated team to manage that whole setup to ensure it runs smoothly.
Security within Jenkins is enforced via plugins and highly complex to setup (when compared to VSTS).
The plugin ecosystem is wide but there a lot of plugins that cause stability issues within Jenkins.
Upgrading Jenkins is very painful which results in more teams using outdated version of Jenkins which can cause security risks.
Integrating Jenkins with other tools like Jira or Github is cumbersome (while VSTS provides features from all tools within one product).
If a Jenkins setup is mission-critical then setting up Jenkins in HA is extremely hard considering its backend is a filesystem rather than a database. Consequently, teams will tend to scale the Jenkins master vertically instead of horizontally as the number of jobs increases. The on-premises team is responsible to provide a decent SLA to the dev/ops teams.
This is not to say that teams should stop using Jenkins – but they should be aware how VSTS can help mitigate some of the drawbacks.
This was just an example of one tool in an end-to-end DevOps toolchain.
If your customer is using multiple different tools, similar issues will crop up every time.
Customer pain points with Monolithic apps
Large apps are complex
Must redeploy the entire app on each update
Difficult to scale
individual pieces
Bug in any module can bring down the entire process
Barrier to adopting new technologies
Each application is composed by several containers.
Each container is individually built and deployed.
This means managing a bunch of machines.
In order to solve this, machines need to be decoupled from applications.