//Cloud notes from my desk -Maheshk

"Fortunate are those who take the first steps.” ― Paulo Coelho

Ignite 2019 – Wednesday session #mywatchlist #todo

(1) Figuring out Azure Functions

Tailwind Traders is curious about the concept behind “serverless” computing – the idea that they can run small pieces of code in the cloud, without having to worry about the underlying infrastructure. In this session, we cover the world of Azure Functions, starting with an explanation of the servers behind serverless, exploring the languages and integrations available, and ending with a demo of when to use Logic Apps and Microsoft Flow.

From <https://myignite.techcommunity.microsoft.com/sessions/83218?source=sessions>

(2) Moving your database to Azure

Northwind kept the bulk of its data in an on-premises data center, which hosted servers running both SQL Server and MongoDB. After the acquisition, Tailwind Traders worked with the Northwind team to move their data center to Azure. In this session, see how to migrate an on-premises MongoDB database to Azure Cosmos DB and SQL Server database to an Azure SQL Server. From there, walk through performing the migration and ensuring minimal downtime while you switch over to the cloud-hosted providers. From <https://myignite.techcommunity.microsoft.com/sessions/82989?source=sessions>

(3) Migrating web applications to Azure

When Tailwind Traders acquired Northwind earlier this year, they decided to consolidate their on-premises applications with Tailwind Traders’ current applications running on Azure. Their goal: vastly simplify the complexity that comes with an on-premises installation. In this session, examine how a cloud architecture frees you up to focus on your applications, instead of your infrastructure. Then, see the options to “lift and shift” a web application to Azure, including: how to deploy, manage, monitor, and backup both a Node.js and .NET Core API, using Virtual Machines and Azure App Service. From <https://myignite.techcommunity.microsoft.com/sessions/82988?source=sessions>

(4) Azure Portal: 10 tips to get more out of Azure

If you’re new to Azure or a seasoned Azure user, come learn everything that’s new in the Azure Portal to be more productive managing Azure resources. We also walk you through tips and tricks for creating and managing your resources efficiently. From <https://myignite.techcommunity.microsoft.com/sessions/84100?source=sessions>

(5) Debugging and interacting with production applications

Now that Tailwind Traders is running fully on Azure, the developers must find ways to debug and interact with the production applications with minimal impact and maximal efficiency. Azure comes with a full set of tools and utilities that can be used to manage and monitor your applications. In this session, see how streaming logs work to monitor the production application in real time. We also talk about deployment slots that enable easy A/B testing of new features and show how Snapshot Debugging can be used to live debug applications. From there, we explore how you can use other tools to manage your websites and containers live. From <https://myignite.techcommunity.microsoft.com/sessions/82991?source=sessions>

(6) .NET platform overview and roadmap

Join Scott Hunter and Scott Hanselman as they talk about the present and future of .NET. Come see the latest updates in .NET Core 3.1 and how you can be more productive building intelligent applications that run on any platform. Learn about the latest Windows desktop support, features for building better web apps and microservices, and much more. Also, see what the future has in store with .NET 5. From <https://myignite.techcommunity.microsoft.com/sessions/81592?source=sessions>

(7) Why you should care about containers and how to get started

A lot has been said about containers recently, but why should you care? Containers is not an “all or nothing” situation and understanding when they can be beneficial is key to a successful implementation. Come and learn from the containers team how you can get started with this technology and some tips and tricks that will help you in your containerization journey! From <https://myignite.techcommunity.microsoft.com/sessions/89324?source=sessions>

(8) Deploy apps to Kubernetes using CI/CD in 20 minutes

With 20 minutes on the clock, can you go from code in a Git repo, to containers running on a Kubernetes cluster, all while following some best practices? Join this demo-driven session to see how you can use Azure Pipelines to create your build and release pipelines as code, build containers and deploy them to Azure Kubernetes Service.

From <https://myignite.techcommunity.microsoft.com/sessions/83971?source=sessions>

(9) Five powerful tips to make the most of your mentor/mentee relationship

Mentors have a powerful impact in the workplace, but relationships don’t always go as we envisioned. Whether you are looking for your first mentor or you want to help someone else, you may find the process frustrating. Mentoring is more than just telling someone what to do, it requires the ability to understand the mentee and their goals. As the mentee it requires showing up prepared and having some kind of idea what you want to achieve. How do you find the right mentor? How can you prepare to be coached when you’re not sure what you want? What can you do to ensure you get the most out of your mentoring relationship? We talk success strategies and ways you can find the right mentoring relationship to bring out the best in both of you. From <https://myignite.techcommunity.microsoft.com/sessions/78900?source=sessions>

(10) Building event driven apps with Azure Cosmos DB and Azure Functions

Users expect modern apps to offer event-driven, real-time experiences. In this demo-packed session, learn how to build event-driven apps using Azure Cosmos DB and Azure Functions. Learn how to subscribe to changes in Azure Cosmos DB collections and trigger logic in real time without needing to manage any servers. Understand real-world use cases in multi-billion dollar industries, ranging from retail, IoT, gaming, and more. From <https://myignite.techcommunity.microsoft.com/sessions/79933?source=sessions>

(11) Azure CLI Deep Dive for Developers, DevOps and Architects

Are you a developer or architect who likes to discover, prototype and experiment with the cloud using a command line? Are you a DevOps professional who want to automate deployments using your tool of choice like GitHub, Jenkins, etc? In this session, we’ll deep dive into how you can use the Azure CLI for these scenarios separately and together. From <https://myignite.techcommunity.microsoft.com/sessions/85030?source=sessions>

(12) Building enterprise capable serverless applications

Industry and customer needs push enterprises to innovate and modernize their applications at a faster rate than ever before. Serverless solutions are a clear and natural choice for such demand due its proven developer productivity gains. However enterprises also require using services that can respond to their critical needs around: networking, security, performance, DevOps, ability to run on-premises and compatibility with industry standards (e.g. Kubernetes). In this session we explore how serverless development with the Azure platform helps satisfy all these requirements. We go over details of enterprise scenarios, such as resource automation, highlighting premium capabilities in Azure Functions and other Azure services. From <https://myignite.techcommunity.microsoft.com/sessions/81605?source=sessions>

(13) Staying up to date with the Microsoft Azure roadmap

Cloud services like Azure are evolving faster and unlike any other technology we use today. However, as a technologist responsible for helping your organization keep up with this pace of change and make sense of it all, it is easy to be overwhelmed. In this session, the Azure Service Operations team shares how we track, manage, and communicate change – so you can stay ahead of new capabilities, changes, and deprecations in Azure.  From <https://myignite.techcommunity.microsoft.com/sessions/83896?source=sessions>

(14) Career skills: IT pro to cloud pro – strap on your jetpack!

With Azure, Microsoft Teams, Microsoft Security, Windows Autopilot, and Microsoft Intune, the hottest topics in IT today, you need to seriously up your game. We are seeing a seismic shift towards the cloud and IT professionals need the skills to embrace the cloud, collaboration, and mobility. Join cloud professional and career mentor Andrew Bettany, MCT, MVP and author to outline the key skill areas that you must embrace to succeed.From <https://myignite.techcommunity.microsoft.com/sessions/79810?source=sessions>

(15) Breaking the mold: The tech career journey guide

The world of years past is no more. We all live in a world of change from technology to our personal lives. Change is the only thing that is constant. Technology is changing so fast and with that comes challenges, especially when we think of careers and the journey you go through. Roles change, outsourcing and downsizing followed by increasing use of cloud services has definitely disrupted this industry. What is a person to do, take the BLUE or RED pill? Join this session as we discuss current challenges for professionals today and the steps you can take for your career journey. From <https://myignite.techcommunity.microsoft.com/sessions/83489?source=sessions>

(16) Azure architecture framework: How to leverage it to improve your workloads

Evaluate your workload against the five pillars of the Azure architecture framework (resiliency, scalability, cost, security, and operations). Come learn how you can leverage this powerful framework to improve your workloads to meet your business needs. With a concrete demo using one of the reference architectures published in the Azure Architecture Center, we highlight how it can be improved and why certain decisions were made. From <https://myignite.techcommunity.microsoft.com/sessions/87490?source=sessions>

(17) Deploy an app in Azure Kubernetes and App Services with MySQL

Come and join us to see how easy it is to quickly deploy a web scale application leveraging the tight integration between Azure Kubernetes Service, Azure Database for MySQL, App Services, and Azure Database for MySQL. We share tips and tricks for how to get the best performance and most secure setup for your applications. From <https://myignite.techcommunity.microsoft.com/sessions/83538?source=sessions>

(18) Microservices and cloud native: Standard Bank’s DevOps journey

At Standard Bank we’re always exploring new technologies, and we’ve deployed two separate apps in the insurance space built using microservices and relying on many Azure services. However, the real hero in our digital transformation journey was Azure DevOps. We look at how we used Azure Pipelines and other DevOps services on Azure to build and deploy our apps. This includes App Center (for building and distributing Kotlin, Swift, and React Native apps), and infrastructure-as-code with Azure Pipelines and ARM to automate our infra and app deployments. We also explain how Azure DevOps has had a positive effect on our working environment, boosting team confidence, and why we feel it is the ideal platform for us moving forward. From <https://myignite.techcommunity.microsoft.com/sessions/83987?source=sessions>

(19) How to use automation for Linux workloads deployment on Azure

Automation is a life saver for IT implementers and site reliability engineers. A good configuration could save time and energy while maintaining the best performance possible for all your pipelines. Join the Azure Customer Support team to hear about best practices on how to use Terraform + Ansible to deploy your Linux workloads running on Azure, easliy connect services that matter and reduce manual work and overhead. From <https://myignite.techcommunity.microsoft.com/sessions/81978?source=sessions>

(20) Streaming data with Azure Event Hubs and Kafka

Come learn about the newest Azure Event Hubs support for Kafka, enabling both fully-managed and open-source streaming solutions.

From <https://myignite.techcommunity.microsoft.com/sessions/83937?source=sessions>

(21) Keep on learning and look ten years younger!

Speakers

Bill Ayers – Flow Simulation Ltd.

IT and development is seen by many as being a young man’s game and we’ve done a lot to encourage women which is great, but there’s also a stigma around age and an expectation that you have to move into management as your career progresses. But not everybody is suited to that. So how to stay relevant and keep track of constantly changing technology? See strategies around learning and keeping up-to-date using resources like Microsoft Learn and certification. And if you find yourself in a non-technical role there’ll be some pointers about how to get back into technology.

(22) Nine-and-a-half years without certification

We love what we do – but many of us don’t love exams, and many of us perform our day-to-day roles or have gone through our professional lives without ever getting certified. Is certification necessary for our success? Learn why certification is necessary for long-term career development, why we must consistently challenge workplace cultures where certification is not valued and why we must deconstruct and challenge our own reasons for not owning our continuing professional development. From <https://myignite.techcommunity.microsoft.com/sessions/78972?source=sessions>

(23) Mentoring: Is it your most powerfull networking tool?

Mentorship, whether that be as a mentor or as a mentee, is perhaps one of the single most important things that one can look to do as part of undertaking long-term career improvements. Come and learn a bit more about what mentorships can entail, both as a mentor or as a mentee and just how simple and easy it can be to get started.

From <https://myignite.techcommunity.microsoft.com/sessions/80806?source=sessions>

(24) Bring the performance of your Azure applications to the next level

The combination of proximity placement groups, generation 2 Azure VMs, Azure Ultra Disks, pre-provisioning services and ephemeral OS disks can bring the performance of your applications to the next level. Choosing the right Azure VM and taking advantage of Azure Advisor recommendations gives you additional ways to get the most out of Azure IaaS for your workloads. This engaging session demonstrates practical ways to significantly improve the performance of your Azure applications. From <https://myignite.techcommunity.microsoft.com/sessions/82916?source=sessions>

(25) Optimize Azure spend while maximizing cloud potential

Learn how Microsoft has migrated 94% of its workloads to Azure and how we’re optimizing our cloud spend from Microsoft Core Services Engineering and Operations (CSEO)—the experts who build, deploy, and operate the systems that run the Microsoft enterprise. This group provides the networking, infrastructure, and services for Microsoft’s line-of-business teams and in this session, hear what we’ve learned along the way and how we’ve matured our cost governance model from reactive to proactive. We share practical guidance to optimize your cloud spend while maximizing your cloud potential. From <https://myignite.techcommunity.microsoft.com/sessions/84625?source=sessions>

(26) Java on Azure: Building Spring Boot microservices

Spring Boot and Spring Cloud are the de-facto choices for many companies building microservices, using Java. In this session, we share our best practices and tools to go from development to production using Spring Boot and Azure, with a specific focus on microservices configuration, resiliency and scalability in the cloud. We also cover monitoring and security and discuss how Spring Boot applications can scale and handle failure on Azure. If you are thinking about building microservices, this is a session you don’t want to miss.

From <https://myignite.techcommunity.microsoft.com/sessions/81594?source=sessions>

(27) What best practices are used in Azure when deploying changes?

Azure services get frequent updates to bring features and fixes. Azure teams follow best practices that help us reduce the risk of deploying changes. In this chat we discuss how Azure deploys updates, share the learnings we had along the way, and talk about what steps we are taking to start sharing our internal processes and tooling with our customers. From <https://myignite.techcommunity.microsoft.com/sessions/89336?source=sessions>

2019-11-25 Posted by | #ignite2019, .NET, OSS, PaaS, Uncategorized | , | Leave a comment

[LFCS] Managing Software RAID

mdadm is a super cool command in Linux used to manage MD devices aka Linux Software RAID. Before we jump in, let’s see what is RAID. – –Redunant array of independent disks
–if disk gets corrupted, then data loss
–using RAID, if one disk fails, other will take over

$ man page says this,

RAID devices are virtual devices created from two or more real block devices. This allows multiple devices (typically disk drives or partitions thereof) to be combined into a single device to hold (for example) a single filesystem. Some RAID levels include redundancy and so can survive some degree of device failure.

Understanding RAID soln,
RAID O- Striping { one big device based on multiple disk, no redundancy or easy recovery}
RAID 1- Mirroring { 2 disks, identical }
RAID 5- striping with distributed parity { if data is written with parity info, if one disks fails, then restore the data }
RAID 6- striping with dual distributed parity { redundant parity is written,advancement of RAID 5 }
RAID 10- mirrored and striped { minimum of 10 disks, 2 for striping, 2 for mirrored}

Sample question: How to create a RAID 5 Device using 3 disk device of 1 GB each. Also allocate additional device as spare device.
— Put a file system on it and mount it on /raid
— Fail one of the devices, monitor what is happening
— Replace the failed device with spare device

Solution:

$ cat /proc/partitions
$ fdisk -l { list the partition tables for the device, if no device specified then list all the partitions from the system }
$ fdisk /dev/sdc
-n create a new partitions { size as +1G }
-m {help}
-t :L {enter “fd” for Linux raid auto}
-w { write the
entries to persist }
$ partprobe { inform the OS partition table changes }
$ vim /etc/fstab { before we proceed, let’s verify the disks are not used for any mounting. In my case, I had used as swap device mounting so got an error saying device is busy error. Rmv the entry, reboot }
$ mdadm –create /dev/md1 -l 5 -x 1 –raid-disk=3 /dev/sdc1 /dev/sdc2 /dev/sdc3 /dev/sdc4 –verbose –auto=yes
$ mdadm –detail /dev/md1 { list details after creation, should see 3 device + 1 spare device }

$ mdadm fail dev/md1 /dev/sdc1 { to simulate the failure }
$ mdadm –remove /dev/md1 /dev/sdc1 { remove the faulty one }
$ mdadm –add /dev/md1 /dev/sdc1 { add the device back to the pool as spare device if healthy }

other disk related commands,
$ blkid $ blkid /dev/sdc
$ df -h, df -h -T, df -hT /home
$ du -h /home, du -sh /home/mydir
$ mount /dev/sdc5 /mnt, cd /mnt , touch file1 { after mounting make entry in /etc/fstab to persist}
$ mount -a { to mount all fs mentioned in fstab}
$ mkfs.ext4 /dev/sda4 { format a partition of type ext4, after creating a partition }

Command output:

root@mikky100:~# mdadm –fail /dev/md1 /dev/sdc1 { Simulate the failure }
mdadm: set /dev/sdc1 faulty in /dev/md1

root@mikky100:~# mdadm –detail /dev/md1 { view the detail after the failure, we should see the spare disk getting rebuild }
/dev/md1:
Version : 1.2
Creation Time : Mon Jun 11 06:10:34 2018
Raid Level : raid5
Array Size : 1951744 (1906.32 MiB 1998.59 MB)
Used Dev Size : 975872 (953.16 MiB 999.29 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Mon Jun 11 17:06:09 2018
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Rebuild Status : 3% complete

Name : mikky100:1 (local to host mikky100)
UUID : 772f743c:b1209727:6910411d:690d6294
Events : 20

Number Major Minor RaidDevice State
3 8 36 0 spare rebuilding /dev/sdc4
1 8 34 1 active sync /dev/sdc2
4 8 35 2 active sync /dev/sdc3

0 8 33 – faulty /dev/sdc1

root@mikky100:~# mdadm –detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Mon Jun 11 06:10:34 2018
Raid Level : raid5
Array Size : 1951744 (1906.32 MiB 1998.59 MB)
Used Dev Size : 975872 (953.16 MiB 999.29 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Mon Jun 11 17:08:13 2018
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : mikky100:1 (local to host mikky100)
UUID : 772f743c:b1209727:6910411d:690d6294
Events : 37

Number Major Minor RaidDevice State
3 8 36 0 active sync /dev/sdc4
1 8 34 1 active sync /dev/sdc2
4 8 35 2 active sync /dev/sdc3

0 8 33 – faulty /dev/sdc1

root@mikky100:~# mdadm –add /dev/md1 /dev/sdc1 { add the disk back as spare }

root@mikky100:~# mdadm –detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Mon Jun 11 06:10:34 2018
Raid Level : raid5
Array Size : 1951744 (1906.32 MiB 1998.59 MB)
Used Dev Size : 975872 (953.16 MiB 999.29 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Mon Jun 11 17:12:21 2018
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Name : mikky100:1 (local to host mikky100)
UUID : 772f743c:b1209727:6910411d:690d6294
Events : 39

Number Major Minor RaidDevice State
3 8 36 0 active sync /dev/sdc4
1 8 34 1 active sync /dev/sdc2
4 8 35 2 active sync /dev/sdc3

5 8 33 – spare /dev/sdc1

2018-06-11 Posted by | LFCS, Linux, OSS | | Leave a comment

WIIFM-“Powershell available on Linux”

When I first read this announcement – https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/, I thought what the heck we are trying to solve when “Bash/Python/Perl” Linux already has got for automation & scripting. But it is proved wrong after this video – https://youtu.be/2WZwv7TxqZ0

But once again, this is a very cool move from our Powershell team by opening up the source code + extending support to Linux and MacOS. Devops would love this for sure, it comes handy for managing or automating Azure resources across the OS. They are plans to include most of the modules down the line so that, seamless execution for sure.

Keytakeaway:- If we have any PS script written in Windows say Azure VM creation or management /Dockers/AWS storage/VMware resource management etc then we can reuse the same script in Linux & Macos. There is no difference in the syntax. Just copy paste should work without any difference.

Sweet – “We are partnering with third party companies – Chef, Amazon Web Services, VMware, and Google to name a few – to create a rich, seamless experience across the platforms you know and use.”

Write once, runs any ware philosophy –heterogeneous management toolset.

https://channel9.msdn.com/Blogs/hybrid-it-management/PowerShell-on-Linux-and-Open-Source/player

2016-08-22 Posted by | Azure, DevOps, Linux, Open Source, OSS, Powershell | | Leave a comment

Issue with Android Emulator running under Hyper-V (VM’s)

Recently I prepared a VM in our lab for checking an issue repro. The issue was with Android Studio running(Java code) hitting Azure Storage blobs throwing an exception for some weird reason. So quickly jumped in creating a Lab machine and installed all the software like Android Studio, ton of updates and 90+ packages having various emulators. It took quite sometime to install everything(tiring), fix the Java path(this is pain and behaves differently between editors) etc.

After setting up all, I ran the code for the first time happily but got this error which brought everything to halt. After bit of research, learned that we cannot run phone emulators within a Hyper-Vised (VM‘s), looks like emulator runs under another Hyper-V which means running Hyper-V in another Hyper-V not supported.  

emulator

Solution:- We may have to use our own laptop/physical machine connecting to phone directly with USB cable Sad smile. This gives good experience rather emulator way. this is also faster when it comes to debugging or disconnect or redeploy or tracing end to end.

Let me know if there is a way to mitigate this along with your dev setup experience. Any tips and tricks also welcome..

Happy learning !

2016-08-03 Posted by | Andriod, OSS | | Leave a comment

How to RDP into Azure Linux machine using Xrdp

I ran into this issue after creating Azure Linux VM and attempting to configure RDP for the first time. At Linux side, I have installed Xrdp and configured for RDP access. But when I try to RDP from my windows machine then it failed. I spent few hours troubleshooting this issue without clue but later it turned out to be a “port” issue. Yes, by default Azure VM’s will expose or allow very limited port say 80,443 for Windows and in Linux Port 22 for SSH connection. So in order to enable RDP for Linux/Win machines, then you may have to add this port 3389 under “incoming security rules” as below.

image

I followed this blog post for xrdp setup up but nothing specific about Azure port as such. So thought of summarizing my learning here in steps to follow quickly for achieving RDP access to Azure Linux VM’s.

1) Login to new portal (portal.azure.com), Click “+ New” for adding resource, then select Virtual machine. You will find Ubuntu server OS list. Let say pick “Ubuntu Server 14.04.4 LTS”. Make sure to note down the Username, Password and Public IP(PIP) for later reference.

2) Once VM has been created, use Putty.exe to connect to the VM over SSH(Port 22) which is enabled by default. Enter the PIP and hit the connect button. You will get a console asking to enter username and password. Once provided, you will land in Linux terminal where we are going to execute the next set of commands in order.

image

3) Command to Install Desktop and xRDP at Linux VM side.

$ sudo apt-get update

$ sudo apt-get install ubuntu-desktop
$ sudo apt-get install xfce4
$ sudo apt-get install xrdp
$ echo xfce4-session >~/.xsession
$ sudo nano /etc/xrdp/startwm.sh  <attention to the last line, it should be exactly like this>
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
startxfce4
$ sudo service xrdp restart

4) Now go back to Azure portal and Add Port 3389 under Inbound security rule (as in the above screenshot). P.s:- 3389 is well known port used by Azure for RDP.

5) Now from Windows machine, Launch “mstsc” to input VIP and username & password to Xrdp.

ss

 

 

 

 

 

 

P.s:- Clipboard copy not supported here.

I missed the step 4 and wasted quite a lot of time figuring out.

Hope this will save someone’s time 🙂 .

<update:7/21>
               a. Finding the inbound rules is little tricky..
                       VM > settings > network interfaces >settings > NSG > select the NSG > settings > inbound rules
               b. lately noticed our official article on this https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-linux-classic-remote-desktop/

</update:7/21>

Update:8/1 – tips

1) exit ->logout, 2) sudo –  -> (to get into root) 3) sudo passwd root

4) download any .deb (tar xzvf file.tar.gz) extract, check for bin > say check for "sh" file -pycharm.sh, right click > execute

 

<Unsupported: 9/28/2016>

Unsupported: How to install xRDP for GUI remote access on Linux
https://blogs.msdn.microsoft.com/linuxonazure/2016/09/26/unsupported-how-to-install-xrdp-for-gui-remote-access-on-linux/

</Unsupported>

2016-06-30 Posted by | Linux, Open Source, OSS | , | 2 Comments

.NET today, tomorrow and future..

This blog post was drafted few weeks ago but stuck in the same state because I was not sure what to add or write on top of what we learned from our recent dotnetConf2016.  Any how today I decided to wrap this so that it will be useful for readers. This post is mainly written for .NET developer who wanted to know where we are heading as  a community.

 

Motivation:- If you notice in recent times, there is a bunch of articles targeting .NET platform and its future. Few trolled about WPF and Winform roadmap. I saw most of them are one sided and simply trolled comparing with recent programming stack like LAMP/MEAN as an alternate. But the true story is, .NET is not going to go away. This applies to Java as well. I have my good old friends still doing WPF consulting work for big banking companies and happy with that. We all need “Growth Mindset” in looking at them.

We may have to agree that our recent startup companies are going 100% open source but when it comes to desktop development still WPF rules.The skill what you acquired from WPF is not going to be waste, because UWP is based on XAML. .NET is growing and evolving faster than ever. If you look at our .NET Foundation, it has got some fantastic open source projects run by community. We are breaking the platform dependencies, IIS, underlying win32 thick references which is the great thing for cross platform movement.  

 

Technology:- Things are changing very rapidly when it comes to programming side especially for the web & mobile technologies. As we march towards mobile first cloud first world, it makes sense to investment towards platform mobility and in cloud. please note, “mobile first” here is nothing to do with our mobile device. It’s about application mobility – should be able to port our app across the device.

Every week/month we see new set of tools/services/JS framework/scripting things comes out constantly and occupies the head line or top slot in tech conferences. One shouldn’t be worrying about new things, we should stay calm and keep learning at least one new languages every year as an investment. If I remember correctly, for last few years we are seeing a trend in IT requirement. Yr 2013 was for Big data, 2014 for Machine learning/deep learning/AI , 2015 for IoT + dockers,  again in 2016 seeing BoT, headless servers, nano servers, cognitive services and what not. Btw, Cloud and OSS is the constant thing for last few years and going to be more talked in coming years as well Smile. It shouldn’t be a matter for us to pick up this in couple of weekends if we know the fundamentals of programming & design standards.

 

 

Roadmap:- If we know the technology roadmap in advance, then it is easy for anyone to refer and suggest for customers. I had this .NET roadmap guide constantly referred, forwarded to architects for newer design consideration but the last one published was in the year 2013 and sadly no update after that.

Get our last guide “.NET Technology Guide for business applications” downloaded from- > here

[P.s: Some of them are already outdated]

 

clip_image002 

 

Few months back, I reached out to Cesar(author of this PDF) seeking clarity on our guidance update. He has promptly shared the preview version but today I see the same guide available for download freely here. What a timing Smile

Microsoft Platform and Tools for Mobile App Development –

https://blogs.msdn.microsoft.com/microsoft_press/2016/06/22/free-ebook-microsoft-platform-and-tools-for-mobile-app-development/

 

9781509304134_thumb

 

Having said all, Thanks to our recent .net Conference for sharing more clarity around .NET future and developments. If you are .NET developer and not seen the updates from our recent dotnetConf 2016 –  then you are in the right place to get the updates through screenshot.

As title says, this is our current landscape. If you look closer, there is “no code sharing” across the platform and also carry the same learning. The new addition to this slide is our “UWP” and “Xamarin” story.

 

image

 

How about .NET tomorrow:- Yes, it allows us to reuse the skills by mastering one/two library not a platform. You can build and reuse the same code across the platform say iOS or Android or to OSX.

Main objective here is to make the “.NET standard library” to grow without updating platforms. It is going to be decoupled so that you can update libraries as you wish.

 

image

 

How is .NET Future looks like: More and more “.NET standard” supported API’s are expected in few months. Complex Libs like App Domains, Full Reflection and Binary Serialization are also getting considered. In near future, one should be able to easily move the code b/w .NET framework or .NET Core or .Xamarin.

 

image

 

.NET future- sub slide (.NET Framework) :-

a) C# – C#7, VB 15 is the talk of the town

b) Going forward- new version of windows 10,

c) Winforms/WPF  –> Store model

d) Winform/WPF convert to Store apps model, use store to push across the organization

 

image

image

image

 

What others are busy learning..

 

clip_image009

 

Closing note: & Key take away:

 

clip_image011

 

image

 

clip_image014

 

Recommended video:-

.NET Conf Day 1 Keynote – Scott Hunter

.NET Conf Day 2 Keynote – Miguel de Icaza

.NET Conf Day 3 Keynote – Scott Hanselman on The State of .NET

 

Watch the event videos here:-https://channel9.msdn.com/Events/dotnetConf/2016

clip_image015

 

Hope this is useful for you..

<update : 6/28/2016>

Another milestone on developer’s world: .NET Core & ASP.NET Core 1.0 got released at Red Hat DevNation. https://channel9.msdn.com/Events/Linux/DevNation-2016

.NET Home Page http://dot.net/

.NET Documentation https://docs.microsoft.com/en-us/dotnet/

Announcement https://blogs.msdn.microsoft.com/dotnet/2016/06/27/announcing-net-core-1-0/

</update>

2016-06-22 Posted by | .NET, ASP.NET 5, Azure Dev, C#, DevOps, OSS, PaaS, Uncategorized, VS2015 | , , , | 2 Comments

   

%d bloggers like this: