How to manage feature flags in ASP.NET Core apps with Azure?
No matter how simple or complex an application is, choosing the right configuration provider right at the start will mak...
Predictions are a great way to kick off blogging in the New Year. They are nice, eye-catching and nobody verifies if they were right a year after. Being an analyst sounds like a great job here! But instead of predictions, we will give you some inspiration for 2018.
Nothing fancy. No imaginary scenarios. The pure reality of a company using cloud technology to its advantage.
We strongly believe that using these technologies benefits us significantly. Being listed in Deloitte Fast 50 CE in 2016 and Fast 500 EMEA in 2017 proves that. So does our stable growth!
What’s in it for you? Here is what you will learn from this article:
Let’s begin this journey! Let’s explore together how Predica uses the cloud platform and software (SaaS) in daily operations.
You mean e-mail? Yes, but it’s not just that. We use Office 365 as our primary communication platform.
Back when Predica was established, we were on Google Apps. One rule here is that we always use what we deliver to our customers – so we switched. If you think we don’t know your pain – we do!
The switch was hard. One of the lesser-known stories is that our then-CEO Grzegorz asked on the day: “Can we switch back?”
But that was back then, and right now we (including Grzegorz) are heavy Office 365 users.
The core services we use every day include:
The main use case for our Office 365 is teamwork. Let’s explore it a bit more.
Our collaboration process has evolved with the growth of the company and with Office 365’s development. When we started, we used team sites heavily. This was mostly for document sharing and OneNote (which is a specific case of document sharing).
It has changed since then, and right now we use two primary tools for project teamwork:
These two services are the main places where teamwork happens these days for us.
Hint #1: Did you know that you can enable Office 365 group expiration in your tenant? If the group is not in use, it will start to be processed for decommissioning and, eventually, removal. The platform does it for you.
Hint #2: Did you know that Microsoft Teams support guest collaboration using the B2B feature of Azure AD? (We will get to Azure AD later, of course we will!)
Teamwork is one thing, but sometimes you just need a place to post something ad-hoc or discuss a topic. You may be surprised, but we are one of those companies using Yammer!
Again, the decision back then was driven by the fact that we wanted to use the platform which our customers were asking for. But it took off. We invested some time in integration and educating our users about Yammer, and it is life.
Yammer is where all the company announcements happen, where our teams share links, articles and tips. There is also some integration between our other tools and Yammer to make it a single communication point (read on to get to know how we do it).
Technically, it looks like Yammer is converging into Office 365 groups / Teams integration. I would not be surprised if it would go in this direction sometime in the future.
Communication and teamwork are excellent, but teams require something to work on. Like projects!
We are a professional services company. It means that we need to acquire service projects. It is our consulting team’s job to generate them.
You can try to do it ad-hoc, but one thing you learn when your company grows is that you need the right tools and processes to do efficient work.
For our consulting department and sales process, CRM is the central part.
How do we use CRM? In many ways, including:
As you can see, we are pretty heavy users of the CRM platform. It is efficient because we’ve also made a lot of integrations around it to make it useful.
First of all – why invest in integration? We believe that people should do meaningful work. To do so, you need to free them from simple, repetitive tasks which can be automated. It also contributes to your company’s overall efficiency.
I’ve mentioned integrations a few times in this article. So what exactly are we integrating into our workflow based on cloud services?
When someone creates a new lead in the CRM, which is the start of the project lifecycle for us, we automatically build a SharePoint Library for this project.
Why? Because we eliminate attachments and direct file exchange at our company. We want to have a place for each project where documents are stored and maintained. And we don’t want anyone to really have to create this site manually each time.
You create a lead, and boom! A SharePoint site is delivered to you!
How? I will get to it a bit later.
Another part of our CRM integration is Yammer. We want our team to be informed about the new projects. Also, we want our sales team to know about activities happening on sales opportunities. The information is there; you just need to lower the barrier of getting to it.
Every update made in our CRM is being posted to the dedicated channel in our Yammer network.
We’ve won a new project? Let our team know about it! Maybe they want to take part in it.
There is a new lead generated by the customer? Let other sales team members know about it; maybe they have a valuable piece of knowledge they can contribute.
It is outgoing integration between CRM and other media. But, can we have an incoming integration to put some data into CRM? Sure, we can! It’s what we do!
One of the tasks we were struggling with was how to gather all the contacts for our customers in one place. It is the typical situation where each member of a team is communicating with different people on the customer’s side.
You can enter them manually to CRM, but you’ve read this line about making people free of mundane work. Sure, you can do this, but it is not the Predica way!
Instead, we have deployed a piece of automation to scan our team mailboxes for contacts and put them automatically into CRM under a specific customer account!
Do we require our people to go there and fetch them? Oh, no! We use this information to create contacts and push them to our Outlook!
Simple as that.
One thing I’ve learned over the few years of running Predica is that if you want to make a decision, it has to be backed by data. You can go with a hunch or a gut feeling, but then you are just guessing.
And don’t get me wrong, sometimes you just need to bet on the future. But if you can capture data and use it for your decision-making process, do it!
We gather a lot of data from different sources about our company operations:
All of this data is combined and stored in Azure SQL analytics services (PaaS offering; we have moved from IaaS hosting it to a full PaaS solution), and processed to calculate the viable metrics of our company.
Metrics are not very useful if they are not put to use. To make it easy for our team members to consume these parameters, we expose the common information through Power BI platform in the form of a dashboard.
Each employee has access to their data (time spent on projects, the status of the educational budget, vacation time used etc.).
Team members acting as project owners have access to project data: burn rate, timesheet for a project and other relevant information needed to assess the project status.
Our marketing team can track our campaigns on various social media through a single, customized dashboard. Stay tuned for a dedicated e-book about it coming out soon!
The list goes on and on. We live and breathe data, and the cloud platform just makes it easier.
It’s all nice, but in the end, our consultants and developers need to get the job done. Where do they test, verify and develop their solutions?
For our development environment, we rely on Visual Studio Team Services. We’ve been using it for a long time, since its on-premises version. Over time we have migrated it to the online edition.
All development work and integrations are being done on the Azure platform. We use several subscriptions and know the pain of running them and managing them first-hand. But with the right approach, it can be done efficiently and without much overhead.
As with other tools – we used to run our development environment on dedicated, rented servers. Some years ago we took the initiative to move to Azure and with the right management of subscriptions, resources and licenses, we have managed to keep the cost at the same level as on-premises with the convenience of the cloud.
It doesn’t mean that we are not looking at optimizing it even further. With the release of reserved instances, we are looking into making the cost of running our cloud services even lower.
And guess what helps us with it? Yes, you are right! Our data gathering and processing model.
It should be obvious to you that we would come to this point, for at least two reasons:
Our security is based on Azure Active Directory as a central service to manage authentication and access. We also take advantage of the EMS suite for additional services which are being used in our organization.
All our workstations are added to Azure AD and managed by Intune. Our employees are enrolled to MFA for additional access protection.
Our cloud resources and Azure subscriptions are also managed by Azure AD when it comes to authentication and authorization services.
To make it even more secure, we use Privilege Identity Manager (PIM) to manage our admin access to services and Azure resources.
Azure AD is the central component of our security strategy, and I’m personally looking forward to extending its use in 2018 as new features are rolled out.
Do you only use Microsoft solutions? No, we do not! But the rule of thumb is that if we need an external tool, it needs to be cloud-based.
We don’t want to maintain any infrastructure unless it is necessary (it will be hosted in the cloud anyway).
We use some SaaS, for instance:
Just to mention a few.
We use our access control system where possible to wholly or partially integrate it with our overall platform and make it easy for our employees to access it.
When we write about SaaS selection rules, we do mean it and use them ourselves!
No, we don’t use Blockchain. Sorry.
If we find the right to use for it which will benefit us as a company, we will use it.
Our consultants, however, are working with some customers on exploring the capabilities of this platform. Maybe you will hear about it soon!
These are not all the details on how we use the cloud. We could delve more into each of the subjects, how we use Office 365 features or which services from Azure we are using, and this post could go on and on.
Even with this level of information, I hope you got inspired about what you can achieve with the cloud in 2018 and forward.
If you’re not using these solutions right now – it might be a good time to start looking into if and how you can apply them.
If you are using these products, find out if additional integration of services can add value to them. A little piece of integration, sometimes available through other cloud services like Flow, Zapier or AppLogic on Azure, can create a whole new scenario and bring benefits. It either saves time or directly adds monetary value.
If you have further questions regarding our use of cloud services or you want to get to know how you can use them in your organization – feel free to contact us directly.
I hope you got inspired by our story. Now it is time for your cloud story to unfold!
Read other similar articles