Azure Microservices and PaaS as Infrastructure – That’s a DevOps Thing, Isn’t It?

I am a Consultant in IT and that is..?

If you ask an IT consultant what their job involves, 9 times out of 10 they will say designing and building server solutions.  The terminology may change a little, but ultimately it’s still servers, storage, networking.

If I ask DevOps?

DevOps is maturing but in relative terms a new thing.  I have been a consultant for 10 years.  I’ve also worked in DevOps teams, worked to agile methodology, and worked to the spirit of DevOps. Talk DevOps with someone and they will generally turn your attention to sprints, backlogs, automation, coding language, repository, and source control.  Good DevOps guys will start talking Continuous Development (CD) and Continuous Improvement (CI).  Consultants in the conversation hear “dev, dev, dev, that’s not me” – and in my humble opinion, not entirely acurate.  Ultimately though, DevOps typically don’t design and build server solutions – the consultants do… for now!

So Mr Consultant, What is Infrastructure?

Now I’ll turn your attention to defining what consultants all the way through to support teams typically think of as infrastructure.

Since I started working in IT I’ve been working with servers.  From physical Windows NT 3.51 servers to virtual Windows Server 2016 VMs.  Today it’s virtual servers in Microsoft Azure.  Relatively speaking not a great deal has changed for servers over the past 20 years.  You still log onto them using a user account, you still manage features / services, and you still install applications on them.  Many of those applications provide services to your user or customer base.  Where they are housed has changed, and with the advent of public cloud that has made setting up a distributed virtual data centre a lot easier,  cheaper, and more secure than doing it yourself.  But at the end of the day a server is still a server, no matter where it is you are still limited by it’s OS capability.  Infrastructure guys, love servers (and storage, networking, etc).  It’s what we know, and because it hasn’t changed much, it’s been easy to continuously build knowledge to be good at building solutions using servers.  For the same reason it’s not that hard to wrap your head around Azure IaaS.

New (ish) Era of Infrastructure

PaaS

Azure Platform as a Service is not new, but it is very much infrastructure.

App Service Environment (ASE) and Scale Sets

The point of an ASE is to provide an isolated environment to host say, web apps, or mobile apps. Think dedicated web server in traditional terms as apposed to shared web hosting.  ASEs can be scaled for a multi-region spread making your application truly global, and protected by a web application firewall.

ASE’s are split into front ends and workers.  Neither of which are managed by you.  You scale out your service plan, and Microsoft do the rest.  Obviously the code that runs your app is still your responsibility.

Azure SQL and Big Data

SQL in the cloud.  Think SQL Management studio, but you don’t connect to and manage the server bits. Microsoft manage the servers, you manage your database configuration.  You can even mix and match features by having SQL AAG on SQL servers using Azure SQL witnesses.

This service is complemented by:

  • Azure Datalake – large volumes of unstructured data (telemetry)
  • Azure Data Factory – orchestrates large volumes of data, publishing into,
  • Azure SQL Data Warehouse – data analytics (slice and dice)
  • PowerBI – presenting data analytics
  • Azure CosmosDB – globally distributed data by nature

Microsoft 365

With Microsoft (Office) 365 Microsoft took your Exchange email systems, SharePoint systems, a portion of your Enterprise Voice, and a portion of your storage that you were hosting on-prem.  They put it in the cloud, put a barrier around it, and gave you a web front end for self-service management.  This is the absolute epitome of PaaS.

Microsoft also did this with Microsoft Project Server, and CRM.

You’re still running your email on those systems, its just Microsoft data centre teams managing the server infra instead of you.

You’re going to tell me I’m blurring the lines here with what is and isn’t infrastructure, and to be honest I am, but only because I’m trying to unlock a view point.  You integrate your infrastructure with these services, so they become an extension.

For example, I have an SQL database.  I need some infrastructure to host it.  I can choose Microsoft SQL Server, or I can choose Azure SQL as my database infrastructure of choice.  I’m no longer making the distinction between PaaS and IaaS, I’m just choosing a service by it’s function and benefit, rather than its label.

Microservices

The easiest way I can think of to describe microservices is to use an example. Think of a monolithic web application.  Now split it down into much smaller parts, or functions.  Each of these parts becomes a microservice.  I can hear you asking, why would I want to do that, it sounds complicated?  There is one big reason, scalability.  Monolithic apps are typically very difficult to scale out, quickly or otherwise.  When you start breaking your app down into micro parts using a microservice, then that service be elasticated very easily if just that part needs to burst beyond it’s current resource allocation.

“That sounds like a lot of management” – don’t worry there are orchestration services for that.

Containerism

A container is another evolution of the server.  Think Windows Server feature as a container – just enough code to stand up the service which can then operate a portion of your application.  The container also contains enough code to be able to replicate itself when told to.  As you can imagine a container has a much, much smaller footprint, resource cost, and attack area than a VM.

The characteristics of a container are defined at creation.  For example a container configured for web services (IIS) will always be a container for web services.  You want to add another service to that container – destroy it and rebuild it.  You would store your code (the part that is likely to change regularly) in a repository that your containers have access to and read from.

Containers have been around for a while, indeed they are built into Windows 2016.  However to manage those “microservices’ you need an orchestration platform for load balancing, scaling and security (auto-patching).

Docker and Kubernetes container orchestration platforms have been around for a few years.  Microsoft have been operating a Docker container service on Azure for over a year, and Kubernetes as a service on Azure, ergo Azure Container Services (AKS) is in preview now.  There is firm commitment from Microsoft in these areas, and it’s no wonder when current predictions from Gartner state that 50% of enterprises will be using containers by 2020, up from less than 20% now.  This is fuelled by prediction of enterprises moving larger production workloads to containers rather than just pilot workloads.

With investment in Kubernetes managed by Azure, and continued investment in Service Fabric, leveraging all the serverless architecture power, inherent security, and innovations, Microsoft are aiming to quell the current concerns around container adoption.

What is the Point to all these Ramblings?

The IaaS space is a narrowing band.  Continuing to only work in this thinning vertical might hone your skills for lifting and shifting into cloud, and to be honest servers are going to be around for a while to come, or if you’re a CIO it will satisfy your need to be in the cloud.  However, the rapidly expanding non-IaaS infra will steadily eat into what you migrate, and what you continue to manage.  Businesses are leveraging the innovations that come with cloud evolution.  If you don’t evolve too, then where are you going to be in 18 months time?

A lot of people laughed when Microsoft announced they were starting Exchange Online, and Azure.  “This cloud thing… it’ll never happen… people will never trust their data in the cloud”.  Then everyone sat up straight when Microsoft revealed their multi-billion dollar commitment to building data centres and connectivity round the globe to host the services.  Today it’s the fastest growing and highest valued cloud service, with customers clambering to leverage the possibilities, and unlock their business potential.

Now Microsoft are investing in the next evolutions of big data, microservices, serverless architecture, AI, and IoT.  They are bringing these Azure services to bear, just as they did with the advent of Office 365 and Azure Classic.

So now, businesses are being shown alternative technologies to innovate or transform as they move to the cloud, rather than just lift n’ shift their servers again.  The possibilities available now for anyone considering a move to the cloud are bigger and wider than ever.

Do you want to be left behind?

Advertisements

Women In Tech

Is this a blog by another guy crusading on behalf of women because it’s cool without really understanding the problem..?  Well, I don’t think of myself that way but its up to you what you think.  I’ll start though by presenting a statistic and discussing two independent studies:

Only 17% of the workforce in the IT industry is made up of women when 46.5% of the total UK labour workforce are women.

According to this Catalyst Report  from 2007 (yes a full 11 years ago) examining the Fortune 500, those companies with women on the board of directors significantly out performed those companies with all male boards.  In addition, those companies with three of more women on the board of directors have a stronger than average performance.

“Stronger-than-average results prevail at companies where at least three women serve”

This report from the Harvard Business Review in 2009 highlights that women drive the world economy with a $20tn spend each year, projected to rise to $28tn by 2014 (4 years ago).

“Globally, they control about $20 trillion in annual consumer spending, and that figure could climb as high as $28 trillion in the next five years”

When I was planning this article I was trying to figure out how to eloquently explain why women are equal in the male dominated industry.  These two articles do just that for me.  The point I’m trying to illustrate though is that women are incredibly important influencers.

My Career Experience

I was lucky when I started out in IT as an apprentice 20 years ago.  My first two managers were women, and they were both fantastic mentors.  In my second job she was also the IT Manager.  I was fortunate in two ways.  First, my first experience was in a team made up of men and women so for me a stereo type buster.  The second is that we had a great team who enjoyed their work, and were very sociable both inside and outside work.  Whether one is linked to the other I can’t scientifically quantify, however I believe that the diversity in the IT team helped us serve our customer base, and serve them well.  My grounding in how to conduct myself, how to approach my work, and resolve issues came from multiple mentors in those teams, both male and female.

My fortune in working in a team made up of men and women continued for the next 15 years across 4 companies, ranging from IT manager, to support manager, to two financial managers.  That experience dropped off when I became a contractor for a couple of years to working in all male teams.

Today I work closely with 6 wonderful women who are incredible at their jobs – is this because they are genetically female?  Who knows how much biology plays.  I know they are daughters, sisters, parents, girlfriends, and wives, just as I am a son, brother, father and husband.  There is much more to them than genetics.  They are all leaders in their respective fields and I know I wouldn’t be able to work as well as I do or be as effective as I am if it wasn’t for them.

What Do I Think

Why do I think women aren’t coming into tech?

Social paradigms are a big barrier during formative, particularly school years.  When I was at school both tech and IT were incredibly geeky, and as a direct result I didn’t take an interest in the subject while I was at school (yes, very ironic).  A few years ago I rented a room from a friend.  She had a 15 year old daughter I’d know for a few years alongside her mother.  Her view, shared by her friends, was that IT was for geeks and wouldn’t ever consider a career involved in it.  I asked why and didn’t get much of an answer, but was left with a distinct impression it was to do with social circles.  I also asked her if she considered me to be a geek, to which she replied “no”.  Paradox much!  The reality is that I am a geek, but that isn’t a bad thing.  I am also a martial artist, socially accomplished, and sometimes a little rough round the edges.  I know plenty of people in IT that are definitely geeks, but are also social accomplished, and are regularly involved in sports.  The geek stereo type is less and less a sum of who you are these days, but more a facet of your personality.

The pace of change in tech is phenomenal.  I work predominantly in Microsoft Azure and it is now impossible to remain abreast of new releases each week at a deep level across all of todays 300 Azure services – thankfully Microsoft don’t expect me to.  The rate of “churn” will only ever increase.   I feel accomplished in my career and have considered a sabbatical a number of times.  What’s the one thing that holds me back… this rate of change.  It would take time to bring myself up to the level I left at (due to memory atrophy) but it would take an incredible amount of time to bring myself up to speed with current releases.  Women considering starting or extending families are faced with this as a factor when choosing a career.

Thinking back to my childhood and looking at my son, his friends and the children of my friends, boys are given and play with construction toys (Lego, Mechano, MegaBloks, models, etc) and girls typically aren’t (though I’m pleased to see a gender stereotype breakdown in Lego in recent years).  When they are in situations where they are presented with toys they don’t own, they gravitate to what they know and enjoy.  Perhaps as we grow older this becomes ingrained and we pursue careers based on building.  Certainly IT has a huge amount of building in it, from installing Operating Systems, to building servers, to writing code for an app build.  We consider everything up to the point of support as a building process/activity.  Maybe this is one of the reasons we share an inequality in gender with the construction and and mechanical industries.  A crying shame considering our economy / industry was powered by women during and after World War II.

Why Am I Concerned

After 20 years why am I so bothered by it now?  In 20 years the number of women working in IT hasn’t increased much – that bothers me by itself.  I don’t like the idea that the industry I work in and love is discriminate.  Importantly though, the tech industry is an influencer and decision maker in so many aspects of our lives, from the disruptors of Amazon (books without shops) and Uber (taxi firm that doesn’t own assets), to the giants of tech services (Microsoft and Google) that touch so many aspects of our lives.  People from all parts of society need to be in on this industry to so we get a rounded view when tech is conceived, developed, built, and sold.

This is going to be critically important on the cusp of the biggest revolution since the invention of fire (or maybe the wheel).  What am I talking about? Artificial Intelligence.  We are careering headlong down the path of building AIs and integrating them into devices or services we will consume.  We are relying on the tech companies that are developing AI to be ethical and morally responsible.  AI is already out there and in use in a limited fashion!  Do we have enough influencers from across the spectrum, absolutely not!

What Can We Do

Can I forge a one man crusade to address this problem? Yes.  Would it be effective? No, it requires all of us, peers, parents, educators, mentors, and business leaders to help us bust the stereo types and social paradigms that are preventing us from making our industry better.

If you’re school goer and making your GCSE / further education decisions, or maybe influencing someone who is.  Allow yourself/them to find out about IT, what’s involved, where you can work, who you can work with, what your possibilities are.  There are plenty of tech firms that are approachable for a summer internship or operate open days.

If you’re an employer you can ensure your equal opportunities policy is effective and provide extra support for women (or anyone for that matter) in tech who need to take time out for children by providing an investment in training (time as well as materiels) upon returning to work.

If you’re a parent, try not to think of jobs as gender or persona defined.  Your little ones are miniature versions of you.  Nurture and support their interests (IT or otherwise), it’s so simple to get involved in tech these days with books and programs to aid very young children in learning to code in fun ways (a skill that is likely to be on the curriculum in primary schools in the near future).  This doesn’t automatically mean they will turn into someone who hides in their room all day tapping on a keyboard while drinking coca-cola and growing their hair.  It’s your responsibility to stimulate them in other subjects too.  I’m a parent.  Will I expose my children to computers and IT tech – of course, will this be the only hobby I expose them too – no, absolutely not.  My job is to arm them with information so they can make an informed decision about a career – regardless of industry sector.

If you’re an educator provide open days for enrolment, and work with your local companies to forge relationships.  Being able to provide short or long internships, contacts, or place students is more likely to a make a career choice successful.

I will continue to work in this space to mentor and influence the young and old to think differently, and empower people to choose a career in IT.  Please join me.