Posts Tagged ‘Cloud’
Introducing ASP.NET Core:
ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
The framework is a complete rewrite that unites the previously separate ASP.NET MVC and Web API into a single programming model.
Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET MVC.
ASP.NET Platform exists for more than 15 years. In addition, at the time of System.Web creation it contained a large amount of code to support backward compatibility with classic ASP. During this time, the platform has accumulated a sufficient amount of code that is simply no longer needed and is deprecated. Microsoft faced a difficult choice: to abandon backward compatibility, or to announce a new platform. They chose the second option. At the same time, they would have to abandon the existing runtime. Microsoft has always been a company focused on creation and launch on Windows. ASP.NET was no exception. Now the situation has changed: Azure and Linux occupied an important place in the company’s strategy.
The ASP.NET Core is poised to replace ASP.NET in its current form. So should you switch to ASP.NET Core now?
ASP.NET Core is not just a new version. It is a completely new platform, the change of epochs. Switching to ASP.NET Core can bring many benefits: compact code, better performance and scalability. But what price will be paid in return, how much code will have to be rewritten?
.NET Core contains many components, which we are used to deal with. Forget System.Web, Web Forms, Transaction Scope, WPF, Win Forms. They no longer exist. For simple ASP.NET MVC-applications changes will be minor and the migration will be simple. For more complex applications, which use a great number of .NET Framework classes and ASP.NET pipeline situation is more complicated. Something may work and something may not. Some part of the code will have to be rewritten from scratch. Additional problems may be caused by WebApi, because ASP.NET MVC subsystems and WebAPI are now combined. Many libraries and nuget-packages are not ready yet. So, some applications simply will not have a chance to migrate until new versions of the libraries appear.
I think we are waiting for the situation similar to the transition from Web Forms to ASP.NET MVC. ASP.NET Framework will be supported for a long time. First, only a small amount of applications will be developed on ASP.NET Core. Their number will increase, but sooner or later everyone will want to move to ASP.NET Core. We still have many applications running on the Web Forms. However, no one comes to mind to develop a new application on the Web Forms now, everybody chooses MVC. Soon the same happens to ASP.NET Framework, and ASP.NET Core. ASP.NET Core offers more opportunities to meet modern design standards.
The following characteristics best define .NET Core:
- Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
- Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes (Operating Systems). The supported OSes, CPUs and application scenarios will grow over time, provided by Microsoft, other companies, and individuals.Command-line tools: All product scenarios can be exercised at the command-line.
- Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
- Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.
- Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support.
- As for the “cons” one of the biggest issues are gaps in the documentation. Fortunately most of the things for creating and API are covered, but when you’re building an MVC app, you might have problems.
- Next problem – changes. Even if you find a solution to your problem, it could have been written for a previous version and might not work in the current one. Thanks to open source nature of it, there is also support available on github. But you get same problems there (apart from searching).
- Another thing is lack of support in the tooling. You can forget about NCrunch or R# Test Runner. Both companies say they will get to it when it gets more stable.
- ASP.NET Core is still too raw. Many basic things, such as the Data Access, is not designed for 100%. There is no guarantee that the code you are using now will work in the release version.
- It’s modular. You can add and remove features as you need them by managing NuGet packages.
- It’s also much easier and straightforward to set up.
- WebApi is now part of the MVC, so you can have class UserController, which will return a view, but also provide a JSON API.
- It’s cross-platform.
- It’s open-source.
ASP.NET Core is the work on the bugs of the classic ASP.NET MVC, the ability to start with a clean slate. In addition, Microsoft also aims to become as popular as Ruby and NodeJS among younger developers.
NodeJS and ASP.NET have always been rivals: both – a platform for backend. But in fact, between them, of course, there was no struggle. The new generation of developers, the so-called hipster developers, prefer Ruby and Node. The adult generation, people from the corporate environment, are on the side of .NET and Java. .NET Core is clearly trying to be more youthful, fashionable and popular. So, in future we can expect the .NET Core and NodeJS to be in opposition.
In its advertising campaign, Microsoft is betting on unusual positions for it: high performance, scalability, cross-platform. Do you think that ASP.NET “crawls” on the territory of NodeJS? Please feel free to share your thoughts with us.
Thank you in advance!
Business Development Manager
Professional Software Development
Electronic Health Record (EHR) Trends: from wearables and telemedicine to cloud computing and big data
Posted April 11, 2016on:
The new trend for many medical practices is obtaining an EHR (Electronic Health Record) system. While there are many practitioners still using files and travel cards, EHR provides better efficiencies for billing, reimbursements, audits etc. Admittedly, there are more systems then doctors but acquiring an EHR allows better practice efficiencies and perhaps more money for the practice.
In this post we highlighted the most important EHR trends to see unfold this year. Thus, we expect wearables, telemedicine and mobile medicine to continue to advance. They’ll be joined by cloud computing, patient portals and big data.
Telemedicine and wearables plus EHR
The telemedicine market is forecasted to exceed $30 billion in the next five years, as providers increasingly see the need to reach seniors and patients in rural areas. Telemedicine offers tons of value to seniors. It improves care by getting it to remote patients who live far from hospitals. It also enables homebound patients to get high-quality care. It makes care cheaper, and allows seniors to stay at home longer. It benefits providers by making their jobs more flexible. And it also eliminates picking up new illnesses in a clinical care setting.
Wearables’ mass adoption has made store-and-forward telemedicine much easier. Devices like Fitbits automatically collect valuable health data. Store-and-forward telemedicine just means that data goes to a doctor or medical specialist so they can assess it when they have time.
EHRs are going mobile
More and more providers want to provide medical care from their smartphones, and more patients want to access data through mobile devices. Contributing factors to the popularity of mobile devices include their affordability, ease of use and portability (meaning they are easy to carry between patient exams to access electronic patient information). One of the other drivers of mobile technology in healthcare is the availability of myriad apps for smartphones and tablets. For each of the major smartphone operating systems, there is now an app for almost every conceivable healthcare need, ranging from drug dose calculators to fully functioning electronic medical records. Healthcare apps play a pivotal role in changing the utility of mobile devices. They’re transforming smartphones or tablets to medical instruments that capture blood test results, medication information, glucose readings, medical images, enabling physicians and patients to better manage and monitor health information. Healthcare apps are clearly taking on more mainstream health IT functions and have moved beyond sporadic use by early adopters.
From these facts we may conclude that EHRs will offer better mobile design and functionality.
More EHRs will move to the cloud
Start-up costs for EHRs can prove burdensome for some institutions, while cloud-based tools offer minimal start-up costs and can make better use of providers’ current resources. The cloud also enables better continuity of care. Cloud-based software means you can access records from outside the office. It makes mobile access possible. It makes transferring records a snap. And it makes updating software seamless for providers.
In the coming year, more and more EHRs will offer cloud services.
More EHRs will provide patient portals
Though patient portal usage got off to a slow start in 2013, in last two years it grew in popularity.
While about half of physicians offer patient portals right now, almost another fifth of them plan to offer one in the next 12 months. In a 2015 survey of more than 11,000 patients, 237 physicians, and nine payer organizations representing 47 million lives, almost a third of patients said they were interested in using a patient portal to engage with their physician, track their medical history and receive educational materials and patient support.
More providers will both offer and promote patient portals. Some may even have patients use the portals during office visits to begin getting their data into the system. And patients will start to see their value. Educating patients on how and why to use portals will be the key to getting them to use it.
Big data will reveal more connections
Personalized medicine enabled by big data is an emerging trend in healthcare. Innovation will continue apace in 2016.
Personalized medicine focuses on analyzing a person’s genome, environmental, social, biometrical, and religious influencers, and determining a treatment for the individual based on that data. It’s about moving from a one-size-fits-all approach to instead creating micro-buckets of patients by analyzing their medical records and genome sequences, and treating patients based on the research and records of how other patients in similar situations have reacted. Big data is working to identify the behaviors, risk factors, and early indicators of disease so doctors can prevent it more effectively.
Big data is only the first step. That data must be cleaned and structured so it can reveal patterns in factors that influence outcomes.
Moving forward, technology will continue to transform the healthcare industry as it plays a key role in new healthcare delivery models. EMR/EHR, mHealth, telemedicine, and many others identified will continue to increase their footprint in this growing industry. Where do you see Healthcare IT over this year? What EHR trends are you most excited about and what trends did I miss? Let me know in the comments!
Business Development Manager
Professional Software Development
Can you spend a day without your smartphone? I can hardly imagine it.
Could we imagine about 10 years ago that we would use smartphones and tablets every day, everywhere for almost everything: playing games, ordering taxi, watching tv, ordering food, etc? Possibly, not.
The mobile application industry is growing increasingly fast. It`s almost beginning of 2016 and it`s time to speak about top mobile app development trends that will rock this year.
Cloud driven apps will be on top
Cloud is going to play a leading role for a number of mobile apps in 2016. The cloud gives the possibility to sync apps across multiple devices. As the number of people using multiple mobile devices ( smartphones, tablets, wearables) is on the rise, the cloud approach makes it easy for them to access any data from any channel. Also, thanks to the cloud, app developers can retain the small size of mobile apps.
Gartner.com predicts that by 2018 at least 30% of service-centric companies will move the majority of their ERP applications to the cloud.
Focus on Mobile apps security
We witnessed a great increase in information leaks and hacker attacks in 2015 that affected a lot of organizations from small companies to industry giants and government organizations. Reports just prove this fact, more than 75% of mobile applications would fail basic security tests in 2015.
This is horrible as many mobile applications store sensitive and personal information. Gartner predicts that by the end of 2016, more than 50% of global 1000 companies will have stored customer-sensitive data in the public cloud.
So security is a key principle mobile developers should focus on in 2016.
IOS has proved itself as the most secure platform. Android has always been claimed as a non-secure platform, however developers paid more attention to security issue in the latest Android versions.
Shift towards enterprise mobile applications
This trend of the year 2015 will continue to boost in 2016.
According to a survey conducted by Vision Mobile in the beginning of 2015 43% of developers working on enterprise apps were making more than $10,000 per month. In comparison, only 19% of the app developers focusing on consumer apps were making a similar income. The percentage of successful enterprise apps developers is double the percentage of consumer apps developers.
So it`s not a secret that mobile apps developers will focus more on enterprise applications development to generate more revenues
Internet of Things / IoT and wearables
We have seen a big increase in usage of wearable devices in 2015 and this trend will continue to boost in 2016 as well. Certainly, IoT is still in its infancy and it`s mostly consumer based at the moment, but it`ll be adopted for commercial as well as industrial use.
Wearable tech devices, such as Google Glass and iWatch, have already created a huge buzz in the market and are becoming more and more popular.
Analysts predict that IoT will be the next big technological breakthrough and more and more people will be connected to “Things” in the nearest future.
It means that mobile developers and entrepreneurs should be prepared for this trend and consider IoT and wearable technology while developing new applications.
Focus on swift programming
Swift, a relatively new programming language from Apple, has already gained quite a substantial popularity. Apple’s CEO, Tim Cook, claimed that this set of tools was downloaded more than 11 million times in the first month alone. Now, these numbers are bigger.
Swift is designed as both an application language and a systems language and gives the possibility to develop apps for iOS, OS X, watchOS, tvOS, and so on.
I`m sure we will hear more about Swift in 2016.
Vaster adoption of location based technology/ Beacon
Another great trend for mobile developers is beacon technology.
This technology has already revolutionized the shopping experience and is expected to be adopted by other domains other than retail for its location tracking benefits.
New cross platform tools
With the rise of wearable devices, smart TVs, mobile applications need to suit the requirement of multiple platforms and devices. Cross platform tools may be a good solution. Sencha, Titanium, Unity 3D, Cocos2D, PhoneGap, are already playing a big role in the mobile app development market. In 2016 we may see the emergence of new cross platform development tools.
So, this was a short list of mobile app development trends that will be on their rise in 2016. I`ll be happy to hear you opinion on the future of mobile industry. What trends would you like to add to our list?
Business Development Manager
Professional Software Development
The infrastructure-as-a-service (IaaS) market has exploded in recent years. Google stepped into the fold of IaaS providers, somewhat under the radar. The Google Cloud Platform is a group of cloud computing tools for developers to build and host web applications.
It started with services such as the Google App Engine and quickly evolved to include many other tools and services. While the Google Cloud Platform was initially met with criticism of its lack of support for some key programming languages, it has added new features and support that make it a contender in the space.
Here’s what you need to know about the Google Cloud Platform.
Google recently shifted its pricing model to include sustained-use discounts and per-minute billing. Billings starts with a 10-minute minimum and bills per minute for the following time. Sustained-use discounts begin after a particular instance is used for more than 25% of a month. Users receive a discount for each incremental minute used after they reach the 25% mark.
2. Cloud Debugger
The Cloud Debugger gives developers the option to assess and debug code in production. Developers can set a watchpoint on a line of code, and any time a server request hits that line of code, they will get all of the variables and parameters of that code. According to Google blog post, there is no overhead to run it and “when a watchpoint is hit very little noticeable performance impact is seen by your users.”
3. Cloud Trace
Cloud Trace lets you quickly figure out what is causing a performance bottleneck and fix it. The base value add is that it shows you how much time your product is spending processing certain requests. Users can also get a report that compares performances across releases.
4. Cloud Save
The Cloud Save API was announced at the 2014 Google I/O developers conference by Greg DeMichillie, the director of product management on the Google Cloud Platform. Cloud Save is a feature that lets you “save and retrieve per user information.” It also allows cloud-stored data to be synchronized across devices.
The Cloud Platform offers two hosting options: the App Engine, which is their Platform-as-a-Service and Compute Engine as an Infrastructure-as-a-Service. In the standard App Engine hosting environment, Google manages all of the components outside of your application code.
The Cloud Platform also offers managed VM environments that blend the auto-management of App Engine, with the flexibility of Compute Engine VMs.The managed VM environment also gives users the ability to add third-party frameworks and libraries to their applications.
Google Cloud Platform networking tools and services are all based on Andromeda, Google’s network virtualization stack. Having access to the full stack allows Google to create end-to-end solutions without compromising functionality based on available insertion points or existing software.
According to a Google blog post, “Andromeda is a Software Defined Networking (SDN)-based substrate for our network virtualization efforts. It is the orchestration point for provisioning, configuring, and managing virtual networks and in-network packet processing.”
Containers are especially useful in a PaaS situation because they assist in speeding deployment and scaling apps. For those looking for container management in regards to virtualization on the Cloud Platform, Google offers its open source container scheduler known as Kubernetes. Think of it as a Container-as-a-Service solution, providing management for Docker containers.
8. Big Data
The Google Cloud Platform offers a full big data solution, but there are two unique tools for big data processing and analysis on Google Cloud Platform. First, BigQuery allows users to run SQL-like queries on terabytes of data. Plus, you can load your data in bulk directly from your Google Cloud Storage.
The second tool is Google Cloud Dataflow. Also announced at I/O, Google Cloud Dataflow allows you to create, monitor, and glean insights from a data processing pipeline. It evolved from Google’s MapReduce.
Google does routine testing and regularly send patches, but it also sets all virtual machines to live migrate away from maintenance as it is being performed.
“Compute Engine automatically migrates your running instance. The migration process will impact guest performance to some degree but your instance remains online throughout the migration process. The exact guest performance impact and duration depend on many factors, but it is expected most applications and workloads will not notice,” the Google developer website said.
VMs can also be set to shut down cleanly and reopen away from the maintenance event.
10. Load balancing
In June, Google announced the Cloud Platform HTTP Load Balancing to balance the traffic of multiple compute instances across different geographic regions.
“It uses network proximity and backend capacity information to optimize the path between your users and your instances, and improves latency by connecting users to the closest Cloud Platform location. If your instances in one region are under heavy load or become unreachable, HTTP load balancing intelligently directs new requests to your available instances in a nearby region,” a Google blog post said.
Taken from TechRepublic
Developers are in a unique position to educate and to capitalize on cloud opportunities. Unlike learning new programming techniques or Frameworks, cloud learning moves beyond development. There are infrastructure aspects to consider as well as potential organizational process and policy changes. However, developers know the application and cloud administration is a much lower bar, than, for example network administration. If you’re looking for a strategy to follow to cloud enlightenment; you’re reading the right article.
Give the Cloud a Whirl
When it comes to the cloud, don’t wait for the storm to hit you, but rather educate yourself; there is no substitute for experimentation and hands-on experience. Start by separating reality from marketing. Almost every cloud vendor offers a free trial. For example: Microsoft Azure offers a free trial. If you are truly new to cloud development; imagine borrowing a company server for 3 months; only there is no setup time. Just turn in on and away you go.
Given that experimentation time is limited; go for breadth rather than depth. Get a taste of everything. What most developers find is; after some initial orientation and learning the experience becomes what they already know. For example: Azure has an ASP.NET based hosting model called Web Roles. After configuring and learning Web Role instrumentation, the development experience is ASP.NET. Learning Azure Web Roles amounts to learning some new administration and configuration skills; coupled with a handful of new classes. The rest of what you need to know is nothing new if you’ve done ASP.NET!
Developer must keep their time constrained. Struggling for hours with something new is often not worth the effort. One should question wide adoption of something that will be difficult to work with. Cloud offerings are typically not niche or differentiating skills like, for example, SQL Server tuning.
Whatever cloud option a developer starts with; understand the authentication options. Intranet developers typically take authentication for granted. ASP.NET makes authentication look easy. Consider all the moving parts involved in making authentication automatic and secure. Understanding authentication is especially important if parts of an application will live within the organization’s datacenter and within the cloud provider.
Finally, look for the right opportunities to apply these new skills.
Navigating the Fog
Most developers are adept at picking when to jump on new technology and when to pull back. Unlike adopting, for example, a new Web Services approach; adopting a cloud option entails learning a little more administration. The cloud can give a developer total control, but the cost is learning a bit more administration.
Developers may find themselves in new territory here. Typically a “hardware person” selects a machine and a “network person” selects and configures a firewall. Cloud portals make network and server configuration easier, but the portal doesn’t eliminate the configuration role. The public cloud handles the hardware; but the developer must choose, for example, how many; CPUs, servers, and load balancers will be needed. This lowers the administration bar, but also might place the burden on the developer.
The cloud will not be the right option for every project. Give the cloud a fair chance. Decision makers may have two reactions to cloud; outright rejection or wild-eyed embrace. Neither reaction is healthy. There is middle-ground. Don’t let unrealistic expectations set by marketing brochures guide the first project. A developer’s experiences described earlier in the article will be helpful here. Set the bar low. Make the first experience a good experience.
Supplementing with the Cloud
One potential approach is to supplement with the cloud. Let the cloud handle some part of the application. For example: requirements may dictate a web page to handle user registration. Registrations often have deadlines and, given human nature, people often procrastinate. Registration traffic is likely to spike the week or a few days before the deadline. Rather than purchasing servers to accommodate the spike; leaving usage idle for most of the year, do registration in the cloud. Dial up more servers the week before registrations are due and dial the server could back down the week after registrations are due.
Aside from technical change; cloud adoption may require organizational change.
Clouds Don’t Work in a Vacuum
I would bet good money that most developers reading this article have no idea which ports in their organization are closed to incoming TCP/IP connections. However knowing who to ask is far more important than what is known. In some sense every organization is its own private cloud. Networking professionals have been connecting things together longer than developers. Internet performance is considerably different than Intranet performance. Cultivate relationships with whoever operates your Firewall.
Passing through a Firewall is overhead. Your organization’s infrastructure may not be cloud ready. Though if your network people banter about DMZs; chances are your organization’s infrastructure is probably cloud ready. As stated earlier authentication is important to cover; forcing users to authenticate multiple times within an application is intolerable to most users.
Budgeting for servers may be different than budgeting for compute cycles. There may be concern over whether compute cycles will amount to more than purchasing a server or two. There is no shortcut here. Just like any other budgeting a developer must do the math. Again, this may be new territory for developers. Typically developers aren’t asked how much storage an application requires. Typically the storage cost is spread throughout the projects an organization conducts. Budgeting difficulties may be a good reason not to do a project. The upside is; after doing the math a developer will likely find that costs are far below buying the hardware.
The cloud gives a developer control over all components from administration to assemblies. Added control comes with a price. A developer must venture into some new territory. This article provided a path to follow.
What is your opinion on cloud opportunities? Is it worth to give a trial? What is your personal experience in adopting a cloud option? Maybe you have some thoughts to share!