Altabel Group's Blog

Posts Tagged ‘Amazon

The IT sector is flourishing. If you’ve used a computer for at least a couple of times in the last few years, you’ve probably noticed this. I’ve noticed it myself even more after a business trip to Stockholm where I was lucky to attend some conferences and learnt more about Swedish IT industry tendencies. These tendencies reflect our life in general. Life changes rapidly with new technologies bursting into it. And when it comes to programming languages, we get a chance to see very different trendy styles. Programming languages which were popular some years ago are not useful today. And no one can exactly predict which programming language will be popular in future. That’s why a programmer who wants to stay in developer fields has to adopt the right programming language from time to time.

As the Swedish software maker Erik Starck pointed out, “programming is about managing complexities”. And it’s really so. An understanding of at least one programming language makes an impressive addition to any CV nowadays.

It is also very difficult to get the exact number of users for any programming language. Many of us use multiple programming languages. The more experience you have, the more programming languages you use. The more programs you write or work with, the chances of using more languages rise. The larger the company, the more languages you’re likely to use.

There are a number of ways to measure the popularity of a programming language, for example, based on the number of: 1) new applications written in the language; 2) existing applications written in the language; 3) developers that use the language primarily; 4) developers that use the language ever; 5) web searches; 6) available jobs that require skills in the language; 7) developers’ favorites, etc.

My survey attempts to rank which programming languages are most popular in Sweden, each using a different measure. So, they are the following:

1) Python

Python is an object-oriented programming language which allows developers to work quickly while integrating their systems more efficiently and effectively. Designed by Guido van Rossum in 1991, Python is one of the most easy to use programming languages.

Python is characterized by its use of indentation for readability, and its encouragement for elegant code by making developers do similar things in similar ways.

Top Employers: Amazon, Dell, Google, eBay, Instagram, Yahoo

2) Java

Java is a class-based, object-oriented programming language founded by Sun Microsystems in 1995. Java is one of the most in-demand programming languages today for many reasons. First of all, it is a well-organized language with a strong library of reusable software components. Secondly, programs written in Java can run on many different computer architectures and operating systems because of the use of the JVM (Java virtual machine).

Top Employers: Amazon, Deloitte, Sun, eBay, Symantec Corporation, Cisco Systems, Samsung

3) C++

C++ is a compiled, multi-paradigm language written as an update to C in 1979 by Bjarne Stroustrup.

Due to its high-level compatibility and object-orientation, C++ is used for developing a wide-range of applications and games which makes it a popular and sought after programming language by the employers.

Top Employers: Intel, the Math Works, Microsoft, Qualcomm, Amazon, Mozilla, Adobe, Volvo

4) Ruby

Ruby is an open source, dynamic programming language designed by Yukihiro Matsumoto in 1995 with a key focus on productivity and simplicity .It is one of the most object-oriented languages in the world.

Ruby is a mix of elegant syntax which is easy to read and write and hence it has attracted many organizations and developers.

Top Employers: Spokes, VMware, Accenture, Cap Gemini, Siemens, BBC, NASA

5) JavaScript

JavaScript is an object-oriented scripting language founded in 1995 by Netscape.

Being a client-side language, it runs in the web browser on the client-side with a simplified set of commands, easier code and no need for compilation.  JavaScript is simple to learn and it is used in millions of web pages to authenticate forms, detect browsers and improve design.

Top Employers: Microsoft, Sales Force, IBM, Yahoo, Dell

6) C#

C# is a compiled, object-oriented language developed by Microsoft.

It is highly used on Windows platform and labelled as the premium language for Microsoft .NET framework. C# is known for strong typing, procedural and functional programming discipline which is the reason it has acquired so much popularity.

Top Employers: Microsoft, HP, Digi-Key Corporation, Allscripts, Intel

Those are the top 6 programming languages which are in great demand among Swedish developers.

And one more thing: remember that opinions are like noses, everyone has one and they all smell ;) If you disagree, please feel free to email me or write your own opinions in the comments.

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Kate.Kviatkovskaya@altabel.com
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

When planning the application you have to choose the right programming language to make your application work appropriate. The choice depends on many factors you need to consider. Such as but not limited: you need to think over on what platform the application will run, how easily new features would be added to the existing platform, the code size, performance, support and community etc.

There are various web programming languages and selecting the right one makes a website function properly. In my article I would like to focus on three of them, so called three “P”: PHP, Perl and Python to answer which of these languages is the best one.

Let’s have a look at them and try to make a comparison analysis

PHP – is free of charge open source scripting language and widely used in web environment. The best advantage of PHP is that it is easy to learn and easy to use. It is flexible and used for developing from small websites to giant business and organizational websites. Most common are informative forums, chatting platforms, CRM solutions, e-commerce shopping carts, community websites, e-business, shopping carts.

In terms of efficiency it is executed by the server and server parses the code at its source, executes and send properly formatted html to the client computer. Therefore it increases the speed of PHP applications.
What concerns the advantage of running, PHP is multiplatform language and compatible with all operating systems and platforms.

Being open source language, a large group of PHP developers help in creating a support community, so it’s maintained and when bugs are found, it can be quickly fixed.
A lot of websites including such giants as Wikipedia, Yahoo!, Facebiook, Digg, WordPress and Youtube are written in PHP. The popularity of PHP is based on its simplicity and coding style that is quiet easy to understand.

Nevertheless, the simplicity in developing, precisely principle so called «structure is not important» in PHP has its reverse side, precisely it’s hard to maintain for large applications since it is not very modular.

Also it’s weak in terms of security since its open source, all people can see the source code, and if there are any bugs it could be used to explore the weakness. About 30% of all vulnerabilities listed on the National Vulnerability Database are linked to PHP. The last summary on vulnerabilities you may find following the link: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0427

Perl –refer to all purpose languages. Perl was developed as a text editor for converting or processing large amounts of data for tasks such as creating reports. Nowadays it intended improvements and suited for web development, game programming, GUI development, popular among system administrators etc.
The Perl reusable code structure provides flexibility in apps development and at the same time creates the problem of code reading after. As there are so many ways to do, there are a lot more ways to mess up in what you’ve done. If the code was written without proper care, the reading could even take 6 months.

So from one hand Perl is a good language for small programs because of its messy syntax structure it’s hard to write and maintain large programs. On the other hand if you’re planning to develop big web application you need to consider good coordination between developers work on discussing the code stile, mentoring and managing work in the team.

In terms of portability Perl code doesn’t use system specific features, so can be run on any platform.
Among popular websites created on Perl could be named bbc.co.uk, Amazon.com, LiveJournal.

In respect of vulnerability Perl takes the second place – 9.4%. I assume that it’s not bad taking into consideration its complexity and its long history.

It has fallen out of popularity lately a bit because of the slow development of Perl 6. Most people still use Perl 5.

Python – is considered to be very elegant programming language. It’s general purpose, high level programming language. On the one hand Python’s syntax and semantics are minimal; on the other it has complex standard libraries.

Python supports multiple paradigms: object-oriented, imperative and functional programming styles and has features including fully dynamic type system and automatic memory management.

In comparison with Perl Python is easy to read language. And its key idea is vice versa “there should be one—and preferably only one—obvious way to do it”. It means that the code written by one developer could be easily developed and supported by the others. Besides to delimit blocks Python uses whitespace indentation, rather than curly braces (C, C++, ….) or keywords (Delphi).

Python is often used as a scripting language, but is also used in 3D animation (Maya, Softimage XSI, Blender) and image editors (GIMP, Inkscape, Scribus, Paint Shop Pro). It was also used for writing several video games.

Python is actively used by Google, Yahoo!, CERN and NASA. But it has problems with popularity, precisely with spreading. The reason is that it’s less simple than PHP. Working with Python you need to learn numerical libraries. So that’s why some people prefer choosing PHP instead of Python. But only the betrayed ones could explain why they choose Python, the answer is easy the development on Python is faster on 30% and his vulnerability consists only 0.67% against 36% of PHP.

Conclusion

PHP at first sight seems to be a leader in this so called comparison race. It’s simple, easy to learn and efficient for building small and middle size websites. Going further with analysis in terms of scalable large system it turns out that here Python will perform better than PHP. The reason is in readability that makes Python easier to maintain and extend. Besides, Python is object-oriented. PHP is not. Moreover, Google supports Python with its Google App Engine where web sites can be hosted on Google’s server for free. What concerns Perl, analysis showed that it’s simple programming language with cross platform running and open source modular architecture that provides to develop interesting things. If the task is to perform administration scripts Perl is much better to use here than PHP.

After the analysis it follows that the choice any of three P is a good choice. Also it means that for a certain purpose there is a right tool to choose. Besides the analysis showed that all three “P” have in common the following:

• are cross platform;
• have open source code;
• have well written documentation;
• have large user communities;
• extend libraries and big amount of code written;
• have high-level frameworks (PHP – Symfony, php.MVC; Python-Django, CherryPy, Pylons; Perl -Catalyst, CGI::Application, Gantry);

So I hope that summary based on technical analysis we made could help to make a right decision in future web projects you might have.

Thank you for your attention and if you have anything to add, please feel free to leave a comment.

Katerina Bulavskaya

Katerina Bulavskaya
Katerina.Bulavskaya@altabel.com
Skype ID: katy.bulavskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

The Web as we know it have been born and matured on computers, but as it turns out now, computers no longer have dominance in it. According to a recent report by analyst Mary Meeker, mobile devices running iOS and Android now account for 45 percent of browsing, compared to just 35 percent for Windows machines. Moreover, Android and iOS have essentially achieved their share in just five years and their share is getting tremendously larger.

According to some forecasts their worldwide number of mobile devices users should overtake the worldwide number of PC users next year. If forecasts come true, this shift will not only continue, but accelerate. Based on data from Morgan Stanley, Meeker estimates roughly 2.9 billion people around the world will be using smartphones and tablets by 2015.

What does it mean now that more people are accessing the Web through tablets and smartphones rather than laptops and desktops? And is it really a big deal? Anyway, Internet is intended to be accessed from anywhere and thus from any device. Well, it is quite a change at least in terms most people consider the Web and how it gradually adapts to be used on mobile devices.

Apps-like sites
As mobile devices take over, the use of today’s desktop browsers like Internet Explorer, Chrome, Firefox, and Safari will decline. Mobile browsers are already very capable and will increasingly adopt HTML5 and leading-edge Web technologies. As mobile devices naturally have less screen area, the sites need to function more like mobile apps and less like collections of links. So the sites are likely to look like apps.

Apps may rule
Native apps for smartphones and tablets almost always surpass websites designed for mobile devices because they can tap into devices’ native capabilities for a more responsive and seamless experience. This is most likely to change in the nearest future – most experts agree HTML5 is eventually the way of the future. This is already the status quo in social gaming: for example Angry Birds and Words with Friends. Some services won’t be available at all to traditional PCs — they won’t be worth developers’ time.

Less information at once
Web sites and publishers will no longer be able to display everything new for users and hoping something will catch the user’s eye. Smaller screens and lower information density means sites will need to adjust to user preferences and profiles to customize the information they present. Increasingly, the Internet will become unusable unless sites believe they know who you are. Some services will handle these tasks themselves, but the most likely contenders for supplying digital identity credentials are Facebook, Google, Amazon, Apple, Twitter, and mobile carriers.

Sharing by default
In a mobile-focused Internet, anonymity becomes rare. Virtually every mobile device can be definitively associated with a single person (or small group of people). Defaults to share information and experiences with social circles and followers will be increasingly common, along with increasing reliance on disclosure of personal information (like location, status, and activities, and social connections) to drive key functionality. As the Internet re-orients around mobile, opting out of sharing will increasingly mean opting out of the Internet.

Emphasis on destination
Internet-based sites and services will increasingly function as a combination of content and functionality reluctant to link out to other sites or drive traffic (and potential advertising revenue) elsewhere. These have long been factors in many sites’ designs but mobile devices amplify these considerations by making traditional Web navigation awkward and difficult. Still URLs are not going to die – people will still send links to their friends and Web search will remain most users primary means of finding information online.

Going light weight
As people rely on mobile, cloud, and broadband services, the necessity to do things like commute, store large volumes of records or media, or patronize physical businesses will decline. Businesses won’t need to save years of invoices, statements, and paperwork in file boxes and storage facilities – cloud storage comes as their rescue. Banks will become purely virtual institutions consumers deal with online via their phones. Distance learning and collaborative tools will let students take their coursework with them anywhere — and eliminate the need to worry about reselling enormous textbooks.

Going mobile is an obvious trend today. Experts envisage that nearly every service, business, and person who wants to use the Internet will be thinking mobile first and PC second, if they think about PCs at all. Do you agree? And what other related changes can you imagine?

Many thanks for sharing your thoughts :)

Aliona Kavalevich

Aliona Kavalevich
Aliona.Kavalevich@altabel.com
Skype ID: aliona_kavalevich
Business Development Manager (LI page)
Altabel Group – Professional Software Development

When you say “cloud” somebody’s imagination draws a sky with dozens of funny-shaped airy clouds, IT folks’ mind will recall companies’ names like Microsoft, Google, Dropbox, Amazon. Indeed, cloud computing has contributed to the business world tremendously, still there is much skepticism around such kind of services, reliability and security of remote clouds. Naturally when you store all your data in the cloud you “shift” control over it and rely on a cloud provider – here your fears of data possibly to be lost, damaged, leaked or hacked, services and sites to be kicked offline, come on to the stage. Legally according to the agreement between you and provider the service provider would be responsible should any of the aforementioned occur, but at the end of the day the possible losses endured by the business resorting to the cloud are greater than the cloud service provider’s since such actions could result in the complete destruction of the business. So a decision of moving to the cloud is a serious one.

Interesting that more than a third (36%) named security a main issue holding back uptake for them. This concern is contradictory due to a number of factors:
Firstly, the whole point of cloud computing is that the applications and data being used are sitting on multiple servers at once in data centers located around the world. Thus attacking one part of the infrastructure becomes virtually a waste of time as redundancy will always ensure access to this data. It means attacking data or performance of a targeted company becomes almost “mission impossible”.
Secondly, it makes sense to view security matter from the perspective of the capabilities of the cloud computing systems versus ones of internal software systems. How high are chances that a large cloud provider won’t have far more resources to direct at security than the average enterprise? The infrastructure of cloud computing systems is comprised of machinery and technology on the cutting edge of technological advancements in addition to the far-advanced skills and knowledge of their workers – doubtful that this is accessible to an average business or computer user. Therefore, the business has a greater chance of loss handling the company data and software internally. As more and more organizations make the move into the cloud, it’s certain that safety and security measures only increase.

Experts say a more reasonable concern relates to resilience and outages, not data breach. Outages of Amazon or Microsoft are regularly reported. They can be caused by freak weather like for instance happened to Amazon Web Services resulting in such popular services as Instagram and Netflix being pushed offline for a number of hours. Instagram’s outage hit the headlines due to a short period of downtime, but what if smaller companies using cloud providers face their sites knocked offline – how high up their cloud provider’s list of priorities will it be to get it fixed? Well, in this case for web sites it’s of vital importance to be hosted with multiple cloud providers since this makes sites virtually almost unassailable experiencing close to zero downtime.

Worries about legal compliance are probably more justifiable. Under the Data Protection Act, organisations have to agree that personal data will not be moved outside a particular group of named European countries, but a cloud provider may be storing data in multiple jurisdictions. This problem isn’t insurmountable (personal data can be anonymised, for example), but it does make the decision to move to the cloud a more complex one.

To conclude, cloud computing service providers treat security, availability, privacy and legal compliance issues very seriously since this is the essence of their very business. СSPs mostly have better machinery, technology and skills and invest more in their further advancement than an average enterprise could afford itself. Loss or damage of any data by a cloud services provider or long downtime does not only implicate a possible demise or huge direct and indirect losses of the business to which the service was provided, but can be partially or completely fatal for the cloud computing service business and its reputation. Cloud services providers are legally implied with massive liability which is very incentive for them to preserve a high quality of their services and treat issues with due diligence.
Or don’t you agree? :)

Kind regards,
Helen Boyarchuk – Business Development Manager (LI page)
Helen.Boyarchuk@altabel.com | Skype ID: helen_boyarchuk
Altabel Group – Professional Software Development

Cloud computing is not a buzzword, it has become reality for many companies from SMEs to large organizations: as analyst Quocirca reports in their Cloud findings this year: a substantial minority out of 900 business respondents see cloud computing either as a “passing fad” (8%) or as something that had “no place in the future of my organization’s plans” (11%).

The benefits of cloud computing have been discussed back and forth:
-With cloud services you gain mobility and real-time visibility of your metrics. Without the need for servers, hardware and software installation, data can be accessed from any location that has a Web browser and an Internet connection.
-Cloud-based business applications can be thoroughly and easily integrated with existing programs, such as Microsoft Outlook or Excel or Lotus Notes, and mobile devices like BlackBerrys, iPhones or other smartphones.
– For middle-size and large companies with a tree of various depts and units cloud services mean streamlined functionality across all departments and facilitation of interdepartmental communication.
– Small firms and start-ups couldn’t afford some services and software so far. With cloud services they can now get use and advantage of them as this costs less, the cost is fixed and predictable. Most cloud computing applications are pay as you go, and it can be purchased only necessary part of the cloud services package for a certain even short period of time.
– Cloud computing resources can be scaled up or down as required along with the organization’s size fluctuation or coping with the company’s occasional peaks in demand.
– By using of computing resources delivered over the internet, the business is able to save money, replacing hefty capex with predictable opex.
– Burden of day-to-day IT administering responsibilities is taken off the shoulders of the business in case of using public cloud services.

The good thing about cloud is that almost each company or organization can find the right one for themselves. To figure out what form of cloud suits the business you should start with an analysis of the existing state-of-play and an assessment of your future needs. Also what works for a particular organization will depend on the characteristics of that organization: how large it is, which vertical sector it’s in, what investment it’s already made in infrastructure and how complex its IT needs are. This initial piece of analytic job will be valuable by itself since it paves the way for a strategic approach to cloud resulting in long-term cost savings and greater agility.
For larger organizations who would like to develop a cloud strategy, the picture is more complicated. As statistics of 2011 shows 45% were already using cloud for sourcing some IT services, principally for cloud’s “speed of provisioning, flexible capacity and demand management benefits.” So they have already invested heavily in infrastructure, and the scale benefits will not be as easy to realize as for a smaller organization.

Basically there are several attractive options of moving to the cloud:
1/ a move to the public cloud, which provides economies of scale and a move from a capex to an opex payment model;
2/ development of a private cloud, which enables to save money by rationalizing infrastructure and providing services on a hosted basis;
3/ a hybrid model, in which the private cloud is used as the basic method of delivering applications and services, but mixed with functions and services from the public cloud, where it makes sense to do so (for example, if that function would be expensive or complicated to provision internally.)
4/for public sector organizations, it may be also collaboration with other organizations to adopt shared services. In UK the example of this model can be the emerging G-cloud.

Naturally all the models can co-exist within the same company or organization.

Public cloud is a standard cloud model in which a business hires its computing resources from a large provider such as Amazon.
As an alternative, private cloud may be adopted, run either in-house or by a third party. Although private clouds lack the scale benefits of a public cloud, they do provide organizations with greater control over their data. Private clouds also provide an opportunity for organizations to take a good look at their current software use and to take steps to manage it more effectively. “In some cases there’s a degree of transformation that needs to take place, and quite often investment in private cloud is the instigator for that transformation that needs to take place,” Ovum analyst says. “Very many organizations need to rationalize their applications footprint before since they are simply supporting too many applications, too many versions, too many releases, across the organization.”
In reality it need not be an either/or choice between public and private cloud. Some experts believe that a hybrid cloud model combining private and public clouds will be an increasingly popular and workable model in future.
There exist even more diverse choice for public sector organizations. One is shared services, in which different public sector organizations pool their IT resources to deliver back office functionality. Several shared services initiatives are already underway. There are currently about 200 shared services projects in operation in local UK government, for instance. One of them is NHS Shared Business Services (NHS SBS), a joint venture between the Department of Health and Steria, that offers back office services such as finance & accounting and payroll & HR to NHS trusts.
Again in UK, the really big initiative in the public sector is the government’s £4.9m G-cloud program, which it expects to save £120m between 2014 and 2015. The G-cloud is a private, government-controlled cloud that will offer four categories of IT service (infrastructure, software, platform and specialist service) to central government departments, local authorities and other public sector organizations. Currently each government department has its own set of IT systems performing similar functions, so there is needless duplication of functionality and therefore it makes sense to develop or purchase a single application that can be scaled across multiple councils than for each council to buy its own application.

And what about your company – is cloud computing already your choice of the day? Then which cloud model do you get use of?

Interested to hear your thoughts :)

Thanks in advance,
Helen Boyarchuk
Altabel Group – Professional Software Development

Competition exists everywhere whether it is in it politics or business. And Cloud industry is no an exception. Cloud computing has revolutionized the technology industry and since it generates good revenue all cloud service providers are in a race to take the lead. Cloud is a set of technologies and market structures that invite competition, as a result the market is hyper competitive in ways that are new and innovative.

Below you may find main competitors and key players in the Cloud industry:

#1 Amazon

Amazon has emerged as the champion in the cloud computing world. This company is undoubtedly no.1 provider of cloud infrastructure with its Elastic Compute Cloud (EC2) which tops the list of cloud platforms for application development and deployment. The reason why the company has made it big is because of the fact that they provide attractive services to the business groups and also because of their customer friendly approach.
Amazon is also the most preferred company for cloud management because of its S3 Simple Storage Service offering. The main attractive feature of this company is that the customers do not need to purchase any hardware for their business, instead they can use Amazon’s cloud infrastructure for a small rent and their data storage.

#2 Microsoft

Microsoft is gearing up in the cloud business with its Windows Azure Platform. Microsoft cloud platform has good position already in the cloud market giving the top players a run for their money. The Windows Azure cloud service gives developers the option to host, develop and run web applications. Azure provides complete set of services including computing environments, scalable storage, database functionality and a content delivery network.

#3 Google

Google is one of the major player in the Internet technology and with its Google App Engine platform as a service company’ve had a chance to be in cloud service providers. Google is one among a few companies that has the potential to invest in core computing firepower to give a tough competition to Amazon web Services. Google’s cloud service is aimed at developing and hosting web applications using Google’s infrastructure and data centers and additional advantage is that the engine supports several languages including Java, Ruby and Python. The main selling point of the company is their scalable service that allows developers to pay for what they use without startup costs or recurring fees.

#4 Salesforce

Salesforce.com has steadily been transitioning from the best breed sales force automation (SFA) software as a service (SaaS) provider to an application development platform as a service (PaaS) company. Salesforce is a software-as-a-service provider that specializes in distributing business applications allows developers to use the Salesforce infrastructure to develop add-on applications that integrate with the Salesforce solution. This company is well known to deliver new product features, and new capabilities, on a continuous basis.

#5 RackSpace

This company takes leading position in cloud based web hosting and encompasses managed services and pure hosting businesses. Comparing Amazon’s EC2 and Rackspace: If one intends to scale on EC2, they need to launch additional instances (which you can do with stored AMI’s). At RSC, you just have to point to a running instance and click a button to say “Make this server bigger” (or smaller if you need to scale down). A few minutes later, it’s all done. There is an option of adding additional instances, too!

These are the main players in Cloud industry, how could you predict who would become a leader in this Cloud technology race? Why do you think so? It would be great to hear from you!

Natalia Kononchuk

Natalia Kononchuk
Natalia.Kononchuk@altabel.com
Skype ID: natalia_kononchuk
Senior Business Development Manager (LI page)
Altabel Group – Professional Software Development


%d bloggers like this: