SlideShare une entreprise Scribd logo
1  sur  26
National InstrumentsConfidential
Inside Microsoft Azure Ernest Mueller Web Systems Architect theagileadmin.com
Why Azure?
You’ve Sold Your Soul
It’s PaaS, not IaaS
Is That Better?
What Is Azure?
It’s Magic Fairy Dust You don’t have to worry about the servers! You just deploy your code! You don’t need ops! You don’t need provisioning or monitoring or anything, Azure “does it all for you!” Just right click in Visual Studio and you’re all cloudy!  Update your resume!
Cold Iron Truth Of course, that’s all BS if you want to do much “real.” But speaking as a open source/Linux/Java sysadmin of 18 years experience who has been known to say “Microsoft is the devil” – Azure is actually pretty good. And it’s even easy to understand, once you dismiss the notion that it’s all “PaaS pixie dust” – it’s more like an IaaS offering with some cool additional facilities.  Allow me to explain in sysadmin straight-talk terms. Many of you know AWS so I’ll compare to it some.
Azure Compute In your “hosted service,” you define tiers called “roles” instead of individual boxes; you then specify how many “instances” (VMs) run per role. There are three types of roles: Web Role: Win2k8 VM with IIS on it Worker Role: Win2k8 VM without IIS on it VM Role: uploaded Hyper-V VM with Win2k3-8 image of your choice – with some limitations
Azure Instance Sizing Extra Small - 1x1 GHz, 768 MB RAM, 20 GB disk, $0.05/instance-hour Small - 1x1.6 GHz, 1.75 GB RAM, 225 GB disk $0.12/instance-hour Medium – 2x1.6 GHz, 3.5 GB RAM, 490 GB disk, $0.24/instance-hour Large – 4x1.6 GHz, 7.0 GB RAM, 1000 GB disk, $0.48/instance-hour  Extra Large- 8x1.6 GHz, 14 GB RAM, 2040 GB disk, $0.96/instance-hour Note that these match Amazon EC2 Windows instance specs and costs closely But what about the details, you ask?
Role B Count: 2 Update Domains: 2 Fault Domains: 2 Size: Medium Role A Count: 3 Update Domains: 2 Fault Domains: 3 Size: Large www.mycloudapp.net www.mycloudapp.net Load Balancer 10.100.0.36 10.100.0.122 10.100.0.185 Fault Domain 2 Fault Domain 1 Fault Domain 3
The Secret Sauce It’s model driven automation from XML config files – see demo The Azure Fabric checks instance health, balances stuff, controls upgrades.  You can hook it for events like “RoleChanging”. Managed deployment and upgrades Local compute and storage emulator (that’s a killer feature!) and Visual Studio integration And you can do everything via REST and/or command line!!!
Deployment You (or VS) runs cspack.exe which creates a .cspkg package (just a .zip file) and your .cscfgconfig file (just XML) It uploads it to storage and then you can do an in place update (rolling through upgrade domains) or a “VIP swap” of staging to production
Demo WARNING!  I am not a .NET programmer and use Windows Server only when forced to by software requirements. But I can still do this! If you have deep Microsoft-type questions, though, “I don’t know.”  Sorry!
Important Lessons - Compute Do not use local instance storage for ANYTHING important.  It is ephemeral and role instances may be stopped and started at any time by Azure to move them around. Functional role limitations reduced (running in admin mode, installing using registry, full IIS, startup tasks now allowed) There is a limit of five kinds of role in a hosted service.  Use multiple hosted services for complex architectures. Your app’s directory is READ ONLY when deployed/running. Fault domains and upgrade domains are largely Azure managed, you can say “how many upgrade domains.”
Azure Storage It’s all REST access, or APIs wrapping REST One “storage account” has a 100 TB limit Blobs – you know, files, like S3.  Only one writer at a time but you can make read-only copies. Page blob – optimized for streaming, up to 1 TB Block blob – optimized for random access, up to 200 GB Queues – you can put 8 KB XML messages in them. Drives – a page blob mounted as a NTFS drive
More Storage Tables – noSQL style tables, arbitrary fields, partition and row keys for addressing.  1 MB entities with up to 255 properties each. Super scalable. SQL Azure- like SQL Server 2008 in Azure, with limitations of course. 50 GB max database size. No transaction log you can get to.
Important Lessons - Storage SQL Azure – no transaction cost, pay by size ($9.99/GB) Azure Tables/Blobs/etc – pay by size ($0.15/GB) and per transaction ($0.01/10k), looking funny at it is a transaction Azure Queues – “you probably don’t want to use them, use SQL Azure.” No guarantees against multiple readers getting the same message. Use a distributed caching midtier for dynamic persistence like memcachedor Velocity (Azure AppFabric cache). Azure Sync the new direction for replication/DR
Important Lessons - Networking Under the covers it’s F5 load balancers. Each role has a limit of 5 public or internal “endpoints” (VIPs) you define in the .csdef file. Azure Service Bus allows some pub-sub  Azure Connect is a new agent-based VPN node connect option, can connect on premise to Azure… kinda You can Remote Desktop to instances now too You can query the Azure Fabric to get addresses of other instances for peer to peer connection
Important Lessons - Operations Azure does not “autoscale.” It will scale, when you insert the integer number of VMs you want. The fabric monitors the instances at a very low level and the “Azure Diagnostics API” just dumps perfmon/log data to storage – it’s up to you to monitor apps and interpret the data (there’s a SCOM plugin for Azure now) Cumulux = RightScale for Azure, look them up
Using Azure Right The Azure architecture is specifically optimized for doing things “its way.” “Its way” is luckily arguably the “right way.” Ideally you are writing .NET code that has asynchronous processes (event-driven design)  parallelization  idempotent operations (handle duplicity)  de-normalized, partitioned data (sharding)  shared nothing architecture  fault-tolerance by redundancy and replication
Using Azure Right You can run tomcat, memcached, and mySQL on it – “but you may not want to” You can install more legacy Windows apps now with their newest release – but there are still a lot of limitations, and the cuter your app tries to be with low level stuff, the less likely it’ll work in Azure
Why Azure Is Cool To An Old Crusty UNIX Guy The XML config/definition and Azure Fabric – anyone remember PIE?  We implemented these concepts for our Amazon apps because they are so necessary. The staging/production VIP swap thing makes for easy continuous integration. Almost everything can be command lined/REST APIed so you can integrate with your existing tools.
Azure Resources Make sure and get all the “Azure stuff” – it’s a long and painful list of installs. http://www.microsoft.com/windowsazure/getstarted/ Windows Azure Platform Training Kit is great Azure boot camps - http://www.azurebootcamp.com/ Ryan Dunn’s blog - http://dunnry.com/blog/ Cerebratatools - http://www.cerebrata.com/ Codeplex stuff like Azure Storage Explorer
Azure Resources You can get some free Azure in a number of ways – MSDN comes with a minimal entitlement microsoftplatformready.com 30 day pass microsoft.com/bizspark for startups microsoft.com/web/websitespark for web design firms microsoft.com/dreamspark for HS/college students Talk to your Microsoft rep – they offer MTC visits and “TAP/Metro” early access programs

Contenu connexe

Tendances

CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCarlos Sanchez
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDocker, Inc.
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using DockerJulien Barbier
 
DCSF19 Containers for Beginners
DCSF19 Containers for BeginnersDCSF19 Containers for Beginners
DCSF19 Containers for BeginnersDocker, Inc.
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Carlos Sanchez
 
Divide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-ServicesDivide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-ServicesCarlos Sanchez
 
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...Docker, Inc.
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDocker, Inc.
 
DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith  DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith Docker, Inc.
 
Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Docker, Inc.
 
Windows Server Containers- How we hot here and architecture deep dive
Windows Server Containers- How we hot here and architecture deep diveWindows Server Containers- How we hot here and architecture deep dive
Windows Server Containers- How we hot here and architecture deep diveDocker, Inc.
 
What’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, DockerWhat’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, DockerDocker, Inc.
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriDocker, Inc.
 
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...Docker, Inc.
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
 
Docker for developers on mac and windows
Docker for developers on mac and windowsDocker for developers on mac and windows
Docker for developers on mac and windowsDocker, Inc.
 
How to be successful running Docker in Production
How to be successful running Docker in ProductionHow to be successful running Docker in Production
How to be successful running Docker in ProductionDocker, Inc.
 
Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Stefan Scherer
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!Docker, Inc.
 

Tendances (20)

CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
 
DockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @OrbitzDockerCon SF 2015: Enabling Microservices @Orbitz
DockerCon SF 2015: Enabling Microservices @Orbitz
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using Docker
 
DCSF19 Containers for Beginners
DCSF19 Containers for BeginnersDCSF19 Containers for Beginners
DCSF19 Containers for Beginners
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
 
Divide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-ServicesDivide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-Services
 
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
 
How Docker simplifies CI/CD
How Docker simplifies CI/CDHow Docker simplifies CI/CD
How Docker simplifies CI/CD
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker Engine
 
DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith  DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith
 
Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
Windows Server Containers- How we hot here and architecture deep dive
Windows Server Containers- How we hot here and architecture deep diveWindows Server Containers- How we hot here and architecture deep dive
Windows Server Containers- How we hot here and architecture deep dive
 
What’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, DockerWhat’s New in Docker - Victor Vieux, Docker
What’s New in Docker - Victor Vieux, Docker
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
 
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
 
Docker for developers on mac and windows
Docker for developers on mac and windowsDocker for developers on mac and windows
Docker for developers on mac and windows
 
How to be successful running Docker in Production
How to be successful running Docker in ProductionHow to be successful running Docker in Production
How to be successful running Docker in Production
 
Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
 

Similaire à Inside Microsoft Azure

Windows azure camp
Windows azure campWindows azure camp
Windows azure campAbhishek Sur
 
Windows azure camp - Kolkata
Windows azure camp - KolkataWindows azure camp - Kolkata
Windows azure camp - KolkataAbhijit Jana
 
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...Amazon Web Services
 
Virtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud ComptingVirtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud ComptingAhmed Mekkawy
 
Scaling web application in the Cloud
Scaling web application in the CloudScaling web application in the Cloud
Scaling web application in the CloudFederico Feroldi
 
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 SeriesAmazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 SeriesDataLeader.io
 
Amazon web services : Layman Introduction
Amazon web services : Layman IntroductionAmazon web services : Layman Introduction
Amazon web services : Layman IntroductionParashar Borkotoky
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBill Wilder
 
AWS August Webinar Series - Introducing Amazon Aurora
AWS August Webinar Series - Introducing Amazon AuroraAWS August Webinar Series - Introducing Amazon Aurora
AWS August Webinar Series - Introducing Amazon AuroraAmazon Web Services
 
High concurrency,
Low latency analytics
using Spark/Kudu
 High concurrency,
Low latency analytics
using Spark/Kudu High concurrency,
Low latency analytics
using Spark/Kudu
High concurrency,
Low latency analytics
using Spark/KuduChris George
 
The Public Cloud is a Lie
The Public Cloud is a LieThe Public Cloud is a Lie
The Public Cloud is a LieTapio Rautonen
 
Azure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerAzure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerRafał Hryniewski
 
NEW LAUNCH! Introducing PostgreSQL compatibility for Amazon Aurora
NEW LAUNCH! Introducing PostgreSQL compatibility for Amazon AuroraNEW LAUNCH! Introducing PostgreSQL compatibility for Amazon Aurora
NEW LAUNCH! Introducing PostgreSQL compatibility for Amazon AuroraAmazon Web Services
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the CloudAaron Saikovski
 
AWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAmazon Web Services
 

Similaire à Inside Microsoft Azure (20)

Windows azure camp
Windows azure campWindows azure camp
Windows azure camp
 
Windows azure camp - Kolkata
Windows azure camp - KolkataWindows azure camp - Kolkata
Windows azure camp - Kolkata
 
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
 
What's New in Amazon Aurora
What's New in Amazon AuroraWhat's New in Amazon Aurora
What's New in Amazon Aurora
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
Virtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud ComptingVirtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud Compting
 
Scaling web application in the Cloud
Scaling web application in the CloudScaling web application in the Cloud
Scaling web application in the Cloud
 
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 SeriesAmazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
 
Amazon web services : Layman Introduction
Amazon web services : Layman IntroductionAmazon web services : Layman Introduction
Amazon web services : Layman Introduction
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
 
AWS.doc
AWS.docAWS.doc
AWS.doc
 
AWS August Webinar Series - Introducing Amazon Aurora
AWS August Webinar Series - Introducing Amazon AuroraAWS August Webinar Series - Introducing Amazon Aurora
AWS August Webinar Series - Introducing Amazon Aurora
 
Speed up sql
Speed up sqlSpeed up sql
Speed up sql
 
High concurrency,
Low latency analytics
using Spark/Kudu
 High concurrency,
Low latency analytics
using Spark/Kudu High concurrency,
Low latency analytics
using Spark/Kudu
High concurrency,
Low latency analytics
using Spark/Kudu
 
The Public Cloud is a Lie
The Public Cloud is a LieThe Public Cloud is a Lie
The Public Cloud is a Lie
 
Azure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerAzure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL Server
 
NEW LAUNCH! Introducing PostgreSQL compatibility for Amazon Aurora
NEW LAUNCH! Introducing PostgreSQL compatibility for Amazon AuroraNEW LAUNCH! Introducing PostgreSQL compatibility for Amazon Aurora
NEW LAUNCH! Introducing PostgreSQL compatibility for Amazon Aurora
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the Cloud
 
Corley scalability
Corley scalabilityCorley scalability
Corley scalability
 
AWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the Cloud
 

Plus de Ernest Mueller

AlienVault USM Anywhere: Building a Security SaaS in AWS in Six Months
AlienVault USM Anywhere: Building a Security SaaS in AWS in Six MonthsAlienVault USM Anywhere: Building a Security SaaS in AWS in Six Months
AlienVault USM Anywhere: Building a Security SaaS in AWS in Six MonthsErnest Mueller
 
The DevOps Panel - Innotech Austin CD Summit
The DevOps Panel - Innotech Austin CD SummitThe DevOps Panel - Innotech Austin CD Summit
The DevOps Panel - Innotech Austin CD SummitErnest Mueller
 
Lean Security - LASCON 2016
Lean Security - LASCON 2016Lean Security - LASCON 2016
Lean Security - LASCON 2016Ernest Mueller
 
Lean Security - OWASP Austin March 2016
Lean Security - OWASP Austin March 2016Lean Security - OWASP Austin March 2016
Lean Security - OWASP Austin March 2016Ernest Mueller
 
Lean Security - RSA 2016
Lean Security - RSA 2016Lean Security - RSA 2016
Lean Security - RSA 2016Ernest Mueller
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps TransformationsErnest Mueller
 
DevOps State of the Union 2015
DevOps State of the Union 2015DevOps State of the Union 2015
DevOps State of the Union 2015Ernest Mueller
 
App Assessments Reloaded
App Assessments ReloadedApp Assessments Reloaded
App Assessments ReloadedErnest Mueller
 
Metrics Driven Development and DevOps - Agile 2014
Metrics Driven Development and DevOps - Agile 2014Metrics Driven Development and DevOps - Agile 2014
Metrics Driven Development and DevOps - Agile 2014Ernest Mueller
 
2012 - A Release Odyssey
2012 - A Release Odyssey2012 - A Release Odyssey
2012 - A Release OdysseyErnest Mueller
 
CloudAustin Black Friday 2013
CloudAustin Black Friday 2013CloudAustin Black Friday 2013
CloudAustin Black Friday 2013Ernest Mueller
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NIErnest Mueller
 
Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloudErnest Mueller
 
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure EnvironmentPIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure EnvironmentErnest Mueller
 

Plus de Ernest Mueller (20)

DevOps at a Distance
DevOps at a DistanceDevOps at a Distance
DevOps at a Distance
 
AlienVault USM Anywhere: Building a Security SaaS in AWS in Six Months
AlienVault USM Anywhere: Building a Security SaaS in AWS in Six MonthsAlienVault USM Anywhere: Building a Security SaaS in AWS in Six Months
AlienVault USM Anywhere: Building a Security SaaS in AWS in Six Months
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
The DevOps Panel - Innotech Austin CD Summit
The DevOps Panel - Innotech Austin CD SummitThe DevOps Panel - Innotech Austin CD Summit
The DevOps Panel - Innotech Austin CD Summit
 
Lean Security - LASCON 2016
Lean Security - LASCON 2016Lean Security - LASCON 2016
Lean Security - LASCON 2016
 
Lean Security - OWASP Austin March 2016
Lean Security - OWASP Austin March 2016Lean Security - OWASP Austin March 2016
Lean Security - OWASP Austin March 2016
 
Lean Security - RSA 2016
Lean Security - RSA 2016Lean Security - RSA 2016
Lean Security - RSA 2016
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps Transformations
 
DevOps State of the Union 2015
DevOps State of the Union 2015DevOps State of the Union 2015
DevOps State of the Union 2015
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
App Assessments Reloaded
App Assessments ReloadedApp Assessments Reloaded
App Assessments Reloaded
 
Metrics Driven Development and DevOps - Agile 2014
Metrics Driven Development and DevOps - Agile 2014Metrics Driven Development and DevOps - Agile 2014
Metrics Driven Development and DevOps - Agile 2014
 
The DevOps Centipede
The DevOps CentipedeThe DevOps Centipede
The DevOps Centipede
 
2012 - A Release Odyssey
2012 - A Release Odyssey2012 - A Release Odyssey
2012 - A Release Odyssey
 
Mobile and the Cloud
Mobile and the CloudMobile and the Cloud
Mobile and the Cloud
 
CloudAustin Black Friday 2013
CloudAustin Black Friday 2013CloudAustin Black Friday 2013
CloudAustin Black Friday 2013
 
Cloud Monitoring
Cloud MonitoringCloud Monitoring
Cloud Monitoring
 
DevOps and Cloud at NI
DevOps and Cloud at NIDevOps and Cloud at NI
DevOps and Cloud at NI
 
Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloud
 
PIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure EnvironmentPIE - The Programmable Infrastructure Environment
PIE - The Programmable Infrastructure Environment
 

Dernier

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Dernier (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Inside Microsoft Azure

  • 2. Inside Microsoft Azure Ernest Mueller Web Systems Architect theagileadmin.com
  • 8. It’s Magic Fairy Dust You don’t have to worry about the servers! You just deploy your code! You don’t need ops! You don’t need provisioning or monitoring or anything, Azure “does it all for you!” Just right click in Visual Studio and you’re all cloudy! Update your resume!
  • 9. Cold Iron Truth Of course, that’s all BS if you want to do much “real.” But speaking as a open source/Linux/Java sysadmin of 18 years experience who has been known to say “Microsoft is the devil” – Azure is actually pretty good. And it’s even easy to understand, once you dismiss the notion that it’s all “PaaS pixie dust” – it’s more like an IaaS offering with some cool additional facilities. Allow me to explain in sysadmin straight-talk terms. Many of you know AWS so I’ll compare to it some.
  • 10. Azure Compute In your “hosted service,” you define tiers called “roles” instead of individual boxes; you then specify how many “instances” (VMs) run per role. There are three types of roles: Web Role: Win2k8 VM with IIS on it Worker Role: Win2k8 VM without IIS on it VM Role: uploaded Hyper-V VM with Win2k3-8 image of your choice – with some limitations
  • 11. Azure Instance Sizing Extra Small - 1x1 GHz, 768 MB RAM, 20 GB disk, $0.05/instance-hour Small - 1x1.6 GHz, 1.75 GB RAM, 225 GB disk $0.12/instance-hour Medium – 2x1.6 GHz, 3.5 GB RAM, 490 GB disk, $0.24/instance-hour Large – 4x1.6 GHz, 7.0 GB RAM, 1000 GB disk, $0.48/instance-hour Extra Large- 8x1.6 GHz, 14 GB RAM, 2040 GB disk, $0.96/instance-hour Note that these match Amazon EC2 Windows instance specs and costs closely But what about the details, you ask?
  • 12. Role B Count: 2 Update Domains: 2 Fault Domains: 2 Size: Medium Role A Count: 3 Update Domains: 2 Fault Domains: 3 Size: Large www.mycloudapp.net www.mycloudapp.net Load Balancer 10.100.0.36 10.100.0.122 10.100.0.185 Fault Domain 2 Fault Domain 1 Fault Domain 3
  • 13. The Secret Sauce It’s model driven automation from XML config files – see demo The Azure Fabric checks instance health, balances stuff, controls upgrades. You can hook it for events like “RoleChanging”. Managed deployment and upgrades Local compute and storage emulator (that’s a killer feature!) and Visual Studio integration And you can do everything via REST and/or command line!!!
  • 14. Deployment You (or VS) runs cspack.exe which creates a .cspkg package (just a .zip file) and your .cscfgconfig file (just XML) It uploads it to storage and then you can do an in place update (rolling through upgrade domains) or a “VIP swap” of staging to production
  • 15. Demo WARNING! I am not a .NET programmer and use Windows Server only when forced to by software requirements. But I can still do this! If you have deep Microsoft-type questions, though, “I don’t know.” Sorry!
  • 16. Important Lessons - Compute Do not use local instance storage for ANYTHING important. It is ephemeral and role instances may be stopped and started at any time by Azure to move them around. Functional role limitations reduced (running in admin mode, installing using registry, full IIS, startup tasks now allowed) There is a limit of five kinds of role in a hosted service. Use multiple hosted services for complex architectures. Your app’s directory is READ ONLY when deployed/running. Fault domains and upgrade domains are largely Azure managed, you can say “how many upgrade domains.”
  • 17. Azure Storage It’s all REST access, or APIs wrapping REST One “storage account” has a 100 TB limit Blobs – you know, files, like S3. Only one writer at a time but you can make read-only copies. Page blob – optimized for streaming, up to 1 TB Block blob – optimized for random access, up to 200 GB Queues – you can put 8 KB XML messages in them. Drives – a page blob mounted as a NTFS drive
  • 18. More Storage Tables – noSQL style tables, arbitrary fields, partition and row keys for addressing. 1 MB entities with up to 255 properties each. Super scalable. SQL Azure- like SQL Server 2008 in Azure, with limitations of course. 50 GB max database size. No transaction log you can get to.
  • 19. Important Lessons - Storage SQL Azure – no transaction cost, pay by size ($9.99/GB) Azure Tables/Blobs/etc – pay by size ($0.15/GB) and per transaction ($0.01/10k), looking funny at it is a transaction Azure Queues – “you probably don’t want to use them, use SQL Azure.” No guarantees against multiple readers getting the same message. Use a distributed caching midtier for dynamic persistence like memcachedor Velocity (Azure AppFabric cache). Azure Sync the new direction for replication/DR
  • 20. Important Lessons - Networking Under the covers it’s F5 load balancers. Each role has a limit of 5 public or internal “endpoints” (VIPs) you define in the .csdef file. Azure Service Bus allows some pub-sub Azure Connect is a new agent-based VPN node connect option, can connect on premise to Azure… kinda You can Remote Desktop to instances now too You can query the Azure Fabric to get addresses of other instances for peer to peer connection
  • 21. Important Lessons - Operations Azure does not “autoscale.” It will scale, when you insert the integer number of VMs you want. The fabric monitors the instances at a very low level and the “Azure Diagnostics API” just dumps perfmon/log data to storage – it’s up to you to monitor apps and interpret the data (there’s a SCOM plugin for Azure now) Cumulux = RightScale for Azure, look them up
  • 22. Using Azure Right The Azure architecture is specifically optimized for doing things “its way.” “Its way” is luckily arguably the “right way.” Ideally you are writing .NET code that has asynchronous processes (event-driven design) parallelization idempotent operations (handle duplicity) de-normalized, partitioned data (sharding) shared nothing architecture fault-tolerance by redundancy and replication
  • 23. Using Azure Right You can run tomcat, memcached, and mySQL on it – “but you may not want to” You can install more legacy Windows apps now with their newest release – but there are still a lot of limitations, and the cuter your app tries to be with low level stuff, the less likely it’ll work in Azure
  • 24. Why Azure Is Cool To An Old Crusty UNIX Guy The XML config/definition and Azure Fabric – anyone remember PIE? We implemented these concepts for our Amazon apps because they are so necessary. The staging/production VIP swap thing makes for easy continuous integration. Almost everything can be command lined/REST APIed so you can integrate with your existing tools.
  • 25. Azure Resources Make sure and get all the “Azure stuff” – it’s a long and painful list of installs. http://www.microsoft.com/windowsazure/getstarted/ Windows Azure Platform Training Kit is great Azure boot camps - http://www.azurebootcamp.com/ Ryan Dunn’s blog - http://dunnry.com/blog/ Cerebratatools - http://www.cerebrata.com/ Codeplex stuff like Azure Storage Explorer
  • 26. Azure Resources You can get some free Azure in a number of ways – MSDN comes with a minimal entitlement microsoftplatformready.com 30 day pass microsoft.com/bizspark for startups microsoft.com/web/websitespark for web design firms microsoft.com/dreamspark for HS/college students Talk to your Microsoft rep – they offer MTC visits and “TAP/Metro” early access programs