Visual Studio is Microsoft’s Integrated Development Environment (IDE). You can use it for the development of computer programs, websites, web applications, web services, and mobile apps. Visual Studio uses platforms such as Windows API, Windows Forms, Windows Presentation Foundation, and Windows Store to develop software. Here is a list of 15 must-have Visual Studio extensions that are important for developers:
#visual studio #devlopment #dotnet #csharp
February 15, 2022 marked a significant milestone in Atlassian’s Server EOL (End Of Life) roadmap. This was not the final step. We still have two major milestones ahead of us: end of new app sales in Feb 2023, and end of support in Feb 2024. In simpler words, businesses still have enough time to migrate their Jira Server to one of the two available products – Atlassian Cloud or Atlassian DC. But the clock is ticking.
If we were to go by Atlassian numbers, 95% of their new customers choose cloud.
“About 80% of Fortune 500 companies have an Atlassian Cloud license. More than 90% of new customers choose cloud first.” – Daniel Scott, Product Marketing Director, Tempo
So that’s settled, right? We are migrating from Server to Cloud? And what about the solution fewer people talk about yet many users rely on – Jira DC?
Both are viable options and your choice will depend greatly on the needs of your business, your available resources, and operational processes.
Let’s start by taking a look at the functionality offered by Atlassian Cloud and Atlassian DC.
|Feature||Atlassian Cloud||Atlassian Data Center|
|Product Plans||Multiple plans||One plan|
|Billing||Monthly and annual||Annual only|
|Pricing model||Per user or tiered||Tiered only|
|Support||Varying support levels depending on your plan: Enterprise support coverage is equivalent to Atlassian’s Data Center Premier Support offering||Varying support levels depending on the package: Priority Support or Premier Support (purchased separately)|
|Total Cost of Ownership||TCO includes your subscription fee, plus product administration time||TCO includes your subscription fee and product administration time, plus: costs related to infrastructure provisioning or IaaS fees (for example, AWS costs) planned downtime time and resources needed for software upgrades|
|Data encryption services|
|Data residency services|
|Audit logging||Organization-level audit logging available via Atlassian Access (Jira Software, Confluence) |
Product-level audit logs (Jira Software, Confluence)
|Advanced audit logging|
|Device security||Mobile device management support (Jira Software, Confluence, Jira Service Management)|
Mobile application management (currently on the roadmap)
|Mobile device management support (Jira Software, Confluence, Jira Service Management)|
|Data Storage limits||2 GB (Free)|
250 GB (Standard)
Unlimited storage (Premium and Enterprise)
|Performance||Continuous performance updates to improve load times, search responsiveness, and attachments|
Cloud infrastructure hosted in six geographic regions to reduce latency
|Rate limitingCDN supports Smart mirrors and mirror farms (Bitbucket)|
|Backup and data disaster recovery||Jira leverages multiple geographically diverse data centers, has a comprehensive backup program, and gains assurance by regularly testing their disaster recovery and business continuity plans. |
Backups are generated daily and retained for 30 days to allow for point-in-time data restoration
|Containerization and orchestration||Docker images|
Kubernetes support (on the roadmap for now)
|Change management and upgrades||Atlassian automatically handles software and security upgrades for you Sandbox instance to test changes (Premium and Enterprise) |
Release track options for Premium and Enterprise (Jira Software, Jira Service Management, Confluence)
|Direct access to the database||No direct access to change the database structure, file system, or other server infrastructure|
Extensive REST APIs for programmatic data access
|Direct database access|
|Insights and reporting||Organization and admin insights to track adoption of Atlassian products, and evaluate the security of your organization.||Data Pipeline for advanced insightsConfluence analytics|
When talking about pros and cons, there’s always a chance that a competitive advantage for some is a dealbreaker for others. That’s why I decided to talk about pros and cons in matching pairs.
Pro: Scalability is one of the primary reasons businesses are choosing Jira Cloud. DC is technically also scalable, but you’ll need to scale on your own whereas the cloud version allows for the infrastructure to scale with your business.
Con: Despite the cloud’s ability to grow with your business, there is still a user limit of 35k users. In addition to that, the costs will grow alongside your needs. New users, licenses, storage, and computing power – all come at an additional cost. So, when your organization reaches a certain size, migrating to Jira DC becomes more cost-efficient.
Pro: Jira takes care of maintenance and support for you.
Con: Your business can suffer from unpredicted downtime. And there are certain security risks.
Pro: Extra bells and whistles:
Con: Most of these features are locked behind a paywall and are only available to either Premium and Enterprise or only Enterprise licenses (either fully or through addition of functionality. For example, Release tracks are only available to Enterprise customers.) In addition, the costs will grow as you scale the offering to fit your growing needs.
I’ll be taking the same approach to talking about the pros and cons as I did when writing about Atlassian Cloud. Pros and cons are paired.
Pro: Hosting your own system means you can scale horizontally and vertically through additional hardware. Extension of your systems is seamless, and there is no downtime (if you do everything correctly). Lastly, you don’t have to worry about the user limit – there is none.
Con: While having more control over your systems is great, it implies a dedicated staff of engineers, additional expenses on software licensing, hardware, and physical space. Moreover, seamless extension and 0% downtime are entirely on you.
Pro: Atlassian has updated the DC offering with native bundled applications such as Advanced Roadmaps, team calendars and analytics for confluence, insight asset management, and insight discovery in Jira Service Management DC.
Con: Atlassian has updated their pricing to reflect these changes. And you are still getting fewer “bells and whistles” than Jira Cloud users (as we can see from the feature comparison).
Pro: You are technically safer as the system is supported on your hardware by your specialists. Any and all Jira server issues, poor updates, and downtime are simply not your concern.
Con: Atlassian offers excellent security options: data encryption in transit and rest, to mobile app management, to audit offerings and API token controls. In their absence, your team company has to dedicate additional resources to security.
Pro: Additional benefits from Atlassian, such as the Priority Support bundle (all DC subscriptions have this option), and the Data center loyalty discount (more on that in the pricing section.)
Talking about pricing of SaaS products is always a challenge as there are always multiple tiers and various pay-as-you go features. Barebones Jira Cloud, for instance, is completely free of charge, yet there are a series of serious limitations.
Standard Jira Cloud will cost you an average of $7.50 per user per month while premium cranks that price up to $14.50. The Enterprise plan is billed annually and the cost is determined on a case-by-case basis. You can see the full comparison of Jira Cloud plans here. And you can use this online calculator to learn the cost of ownership in your particular case.
|50 Users||Standard (Monthly/Annually)||Premium (Monthly/Annually)|
|Jira Software||$387.50 / $3,900||$762.50 / $7,650|
|Jira Work Management||$250 / $2,500|
|Jira Service Management||$866.25 / $8,650||$2,138.25 / $21,500|
|Confluence||$287.50 / $2,900||$550 / $5,500|
|100 Users||Standard (Monthly/Annually)||Premium (Monthly/Annually)|
|Jira Software||$775 / $7,750||$1,525 / $15,250|
|Jira Work Management||$500 / $5,000|
|Jira Service Management||$1,653.75 / $16,550||$4,185.75 / $42,000|
|Confluence||$575 / $5,750||$1,100 / $11,000|
|500 Users||Standard (Monthly/Annually)||Premium (Monthly/Annually)|
|Jira Software||$3,140 / $31,500||$5,107.50 / $51,000|
|Jira Work Management||$1,850 / $18,500|
|Jira Service Management||$4,541.25 / $45,400||$11,693.25 / $117,000|
|Confluence||$2,060 / $20,500||$3,780 / $37,800|
Please note that these prices were calculated without any apps included.
Jira Data Center starts at $42,000 per year and the plan includes up to 500 users. If you are a new client and are not eligible for any discounts*, here’s a chart that should give you an idea as to the cost of ownership of Jira DC. You can find more information regarding your specific case here.
|Users||Commercial Annual Plan||Academic Annual Plan|
|1-500||USD 42,000||USD 21,000|
|501-1000||USD 72,000||USD 36,000|
|1001-2000||USD 120,000||USD 60,000|
|Confluence for Data Center|
|1-500||USD 27,000||USD 13,500|
|501-1000||USD 48,000||USD 24,000|
|1001-2000||USD 84,000||USD 42,000|
|Bitbucket for Data Center|
|1-25||USD 2,300||USD 1,150|
|26-50||USD 4,200||USD 2,100|
|51-100||USD 7,600||USD 3,800|
|Jira Service Management for Data Center|
|1-50||USD 17,200||USD 8,600|
|51-100||USD 28,600||USD 14,300|
|101-250||USD 51,500||USD 25,750|
Originally, there were several migration methods: Jira Cloud Migration Assistant, Jira Cloud Site Import, and there was an option to migrate via CSV export (though Jira actively discourages you from using this method). However, Jira’s team has focused their efforts on improving the Migration Assistant and have chosen to discontinue Cloud Site Import support.
Thanks to the broadened functionality of the assistant, it is now the only go-to method for migration with just one exception. If you are migrating over 1000 users and you absolutely need to migrate advanced roadmaps – you’ll need to rely on Site Import. At least for now, as Jira is actively working on implementing this feature in their assistant.
Here’s a quick comparison of the options and their limitations.
|Cloud Migration Assistant||App migration|
Existing data on a Cloud Site is not overwritten
You choose the projects, users, and groups you want to migrate
Jira Service Management customer account migration
Better UI to guide you through the migration
Potential migration errors are displayed in advance
Migration can be done in phases reducing the downtime
Pre- and post-migration reports
|You must be on a supported self-managed version of Jira|
|Site Export||Can migrate Advanced Roadmaps||App data is not migrated|
Migration overrides existing data on the Cloud site
Separate user importUsers from external directories are not migrated
No choice of data you want or don’t want migrated
There’s a need to split attachments into up to 5GB chunks
Higher risks of downtime due to the “all or nothing” approach
You must be on a supported self-managed version of Jira
Pro tip: If you have a large base of users (above 2000), migrate them before you migrate projects and spaces. This way, you will not disrupt the workflow as users are still working on Server and the latter migration of data will take less time.
Now that we have settled on one particular offering based on available pricing models as well as the pros and the cons that matter the most to your organization, let’s talk about the “how”.
How does one migrate from Jira Server to Jira Cloud?
Jira’s Cloud Migration Assistant is a handy tool. It will automatically review your data for common errors. But it is incapable of doing all of the work for you. That’s why we – and Atlassian for that matter – recommend creating a pre-migration checklist.
Smart Checklist will help you craft an actionable, context-rich checklist directly inside a Jira ticket. This way, none of the tasks will be missed, lost, or abandoned.
Below is an example of how your migration checklist will look like in Jira.
Feel free to copy the code and paste it into your Smart Checklist editor and you’ll have the checklist at the ready.
# Create a user migration plan #must > Please keep in mind that Jira Cloud Migration Assistant migrates all users and groups as well as users and groups related to selected projects - Sync your user base - Verify synchronization - External users sync verification - Active external directory verification ## Check your Jira Server version #must - Verify via user interface or Support Zip Product Version Verification > Jira Migration Assistant will not work unless Jira is running on a supported version ## Fix any duplicate email addresses #must - Verify using SQL > Duplicate email addresses are not supported by Jira Cloud and therefore can't be migrated with the Jira Cloud Migration Assistant. To avoid errors, you should find and fix any duplicate email addresses before migration. If user information is managed in an LDAP Server, you will need to update emails there and sync with Jira before the migration. If user information is managed locally, you can fix them through the Jira Server or Data Center user interface. ## Make sure you have the necessary permissions #must - System Admin global permissions on the Server instance - Exists in the target Cloud site - Site Administrator Permission in the cloud ## Check for conflicts with group names #must - Make sure that the groups in your Cloud Site don't have the same names as groups in Server > Unless you are actively trying to merge them - Delete or update add-on users so not to cause migration issues - Verify via SQL ## Update firewall allowance rules #must - None of the domains should be blocked by firewall or proxy ## Find a way to migrate apps #must - Contact app vendors ## Check public access settings #must - Projects - Filters - Filters - Boards - Dashboards ## Review server setup #mst - at least 4gb Heap Allocation - Open Files limit review - Verify via support zip ## Check Server timezone #must for merging Cloud sites - Switch to UTC is using any other timezone > Add a system flag to the Jira Server instance -Duser.timezone=UTC as outlined in this article about updating documentation to include timezone details. ## Fix any duplicate shared configuration ## Storage limits ## Prepare the server instance - Check data status - All fields have value and are not null -Any archived projects you wish to migrate are activated ## Prepare your cloud site - Same Jira products enabled - Same language - User migration strategy ## Data backup - Backup Jira Server site - Backup Cloud site ## Run a test migration - Done ## Notify Jira support - Get in touch with Jira migration support
On the one hand, having all of your Jira products on a server may seem like a backup in and of itself. On the other hand, there are data migration best practices we should follow even if it’s just a precaution. No one has ever felt sorry for their data being too safe.
In addition, there are certain types of migration errors that can be resolved much faster with having a backup at hand.
Jira Cloud Migration Assistant is a free add-on Atlassian recommends using when migrating to the cloud. It accesses and evaluates your apps and helps migrate multiple projects.
Overall, the migration assistant offers a more stable and reliable migration experience. It automatically checks for certain errors. It makes sure all users have unique and valid emails, and makes sure that none of the project names and keys conflict with one another.
This is a step-by-step guide for importing your Jira Server data backup file into Jira Cloud.
Before we can proceed with the migration process, please make sure you meet the following prerequisites:
Once you are certain you are ready to migrate your Jira Server to Jira Data Center, you can proceed with an installation that’s much simpler than one would expect.
That’s it. You are all set. Well, unless your organization has specific needs such as continuous uptime, performance under heavy loads, and scalability, in which case you will need to set up a server cluster. You can find out more about setting up server clusters in this guide.
#programming #vscode #extensions #visual studio #visual studio code #developers
With more of us using smartphones, the popularity of mobile applications has exploded. In the digital era, the number of people looking for products and services online is growing rapidly. Smartphone owners look for mobile applications that give them quick access to companies’ products and services. As a result, mobile apps provide customers with a lot of benefits in just one device.
Likewise, companies use mobile apps to increase customer loyalty and improve their services. Mobile Developers are in high demand as companies use apps not only to create brand awareness but also to gather information. For that reason, mobile apps are used as tools to collect valuable data from customers to help companies improve their offer.
There are many types of mobile applications, each with its own advantages. For example, native apps perform better, while web apps don’t need to be customized for the platform or operating system (OS). Likewise, hybrid apps provide users with comfortable user experience. However, you may be wondering how long it takes to develop an app.
To give you an idea of how long the app development process takes, here’s a short guide.
_Average time spent: two to five weeks _
This is the initial stage and a crucial step in setting the project in the right direction. In this stage, you brainstorm ideas and select the best one. Apart from that, you’ll need to do some research to see if your idea is viable. Remember that coming up with an idea is easy; the hard part is to make it a reality.
All your ideas may seem viable, but you still have to run some tests to keep it as real as possible. For that reason, when Web Developers are building a web app, they analyze the available ideas to see which one is the best match for the targeted audience.
Targeting the right audience is crucial when you are developing an app. It saves time when shaping the app in the right direction as you have a clear set of objectives. Likewise, analyzing how the app affects the market is essential. During the research process, App Developers must gather information about potential competitors and threats. This helps the app owners develop strategies to tackle difficulties that come up after the launch.
The research process can take several weeks, but it determines how successful your app can be. For that reason, you must take your time to know all the weaknesses and strengths of the competitors, possible app strategies, and targeted audience.
The outcomes of this stage are app prototypes and the minimum feasible product.
#android app #frontend #ios app #minimum viable product (mvp) #mobile app development #web development #android app development #app development #app development for ios and android #app development process #ios and android app development #ios app development #stages in app development
Join Mads Kristensen from the Visual Studio team each week as he builds extensions for Visual Studio live!
#visual studio code #visual studio #code #microsoft #visual studio extensions
For a developer, becoming a team leader can be a trap or open up opportunities for creating software. Two years ago, when I was a developer, I was thinking, “I want to be a team leader. It’s so cool, he’s in charge of everything and gets more money. It’s the next step after a senior.” Back then, no one could tell me how wrong I was. I had to find it out myself.
I’m naturally very organized. Whatever I do, I try to put things in order, create systems and processes. So I’ve always been inclined to take on more responsibilities than just coding. My first startup job, let’s call it T, was complete chaos in terms of development processes.
Now I probably wouldn’t work in a place like that, but at the time, I enjoyed the vibe. Just imagine it — numerous clients and a team leader who set tasks to the developers in person (and often privately). We would often miss deadlines and had to work late. Once, my boss called and asked me to come back to work at 8 p.m. to finish one feature — all because the deadline was “the next morning.” But at T, we were a family.
We also did everything ourselves — or at least tried to. I’ll never forget how I had to install Ubuntu on a rack server that we got from one of our investors. When I would turn it on, it sounded like a helicopter taking off!
At T, I became a CTO and managed a team of 10 people. So it was my first experience as a team leader.
Then I came to work at D — as a developer. And it was so different in every way when it came to processes.
They employed classic Scrum with sprints, burndown charts, demos, story points, planning, and backlog grooming. I was amazed by the quality of processes, but at first, I was just coding and minding my own business. Then I became friends with the Scrum master. I would ask him lots of questions, and he would willingly answer them and recommend good books.
My favorite was Scrum and XP from the Trenches by Henrik Kniberg. The process at D was based on its methods. As a result, both managers and sellers knew when to expect the result.
Then I joined Skyeng, also as a developer. Unlike my other jobs, it excels at continuous integration with features shipped every day. Within my team, we used a Kanban-like method.
We were also lucky to have our team leader, Petya. At our F2F meetings, we could discuss anything, from missing deadlines to setting up a task tracker. Sometimes I would just give feedback or he would give me advice.
That’s how Petya got to know I’d had some management experience at T and learned Scrum at D.
So one day, he offered me to host a stand-up.
#software-development #developer #dev-team-leadership #agile-software-development #web-development #mobile-app-development #ios-development #android-development